QuickBASIC - QuickBASIC

QuickBASIC
QuickBasic Opening Screen.png
Öppningsskärm
Utvecklare Microsoft
Initial release 1985 ; 36 år sedan ( 1985 )
Stabil frisättning
7 /1990 ; För 31 år sedan ( 1990 )
Operativ system MS-DOS , klassiskt Mac OS
Plattform x86 , Motorola 68000
Typ Microsoft BASIC
Licens Proprietär
Hemsida www .microsoft .com Redigera detta på Wikidata

Microsoft QuickBASIC (även QB ) är en integrerad utvecklingsmiljö (eller IDE) och kompilator för det BASIC -programmeringsspråk som utvecklats av Microsoft . QuickBASIC körs huvudsakligen på DOS , men det fanns också en kortlivad version för det klassiska Mac OS . Det är löst baserat på GW-BASIC men lägger till användardefinierade typer, förbättrade programmeringsstrukturer, bättre grafik och diskstöd och en kompilator utöver tolkaren. Microsoft marknadsförde QuickBASIC som introduktionsnivå för deras BASIC Professional Development System. Microsoft marknadsförde två andra liknande IDE: er för C och Pascal, nämligen QuickC och QuickPascal .

Historia

Microsoft släppte den första versionen av QuickBASIC den 18 augusti 1985 på en enda 5,25-tums 360 KB diskett . QuickBASIC version 2.0 och senare innehöll en integrerad utvecklingsmiljö (IDE), som tillåter användare att redigera direkt i textredigeraren på skärmen.

Även om det fortfarande stöds i QuickBASIC, blev radnummer valfritt. Programhopp fungerade också med namngivna etiketter. Senare versioner har också lagt till kontrollstrukturer, till exempel multiline villkorliga uttalanden och loopblock.

Microsofts "PC BASIC Compiler" ingick för att kompilera program till DOS -körbara filer. Från och med version 4.0 inkluderade redaktören en tolk som tillät programmeraren att köra programmet utan att lämna redigeraren. Tolkaren användes för att felsöka ett program innan han skapade en körbar fil. Tyvärr fanns det några subtila skillnader mellan tolken och kompilatorn, vilket innebar att stora program som kördes korrekt i tolken kan misslyckas efter sammanställningen eller inte kompileras alls på grund av skillnader i minneshanteringsrutiner.

Den senaste versionen av QuickBASIC var version 4.5 (1988), även om utvecklingen av Microsoft BASIC Professional Development System (PDS) fortsatte fram till den senaste versionen av version 7.1 i oktober 1990. Samtidigt ändrades QuickBASIC -förpackningen tyst så att skivor använde samma komprimering som användes för BASIC PDS 7.1. Basic PDS 7.x -versionen av IDE kallades QuickBASIC Extended (QBX), och den kördes bara på DOS, till skillnad från resten av Basic PDS 7.x, som också kördes på OS/2. Efterföljaren till QuickBASIC och Basic PDS var Visual Basic version 1.0 för MS-DOS, levererad i standard- och professionella versioner. Senare versioner av Visual Basic inkluderade inte DOS -versioner, eftersom Microsoft koncentrerade sig på Windows -program.

En delmängd av QuickBASIC 4.5, med namnet QBasic , ingick i MS-DOS 5 och senare versioner, och ersatte GW-BASIC som inkluderades med tidigare versioner av MS-DOS. Jämfört med QuickBASIC är QBasic endast begränsad till en tolk, saknar några få funktioner, kan endast hantera program av begränsad storlek och saknar stöd för separata programmoduler. Eftersom den saknar en kompilator kan den inte användas för att producera körbara filer, även om dess programkällkod fortfarande kan kompileras av en QuickBASIC 4.5, PDS 7.x eller VBDOS 1.0 kompilator, om den är tillgänglig.

QuickBASIC 1.00 för operativsystemet Apple Macintosh lanserades 1988. Det stöds officiellt på maskiner som kör System 6 med minst 1 MB RAM -minne. QuickBASIC kan också köras på System 7 , så länge 32-bitars adressering är inaktiverad.

Syntax exempel

Hej världen , kortaste versionen:

?"Hello, World"

Hej, världen , utökad version:

CLS
PRINT "Hello, World"
END

99 flaskor öl :

LET BOTTLES = 99: LET BOTTLES$ = "99": LET BOTTLE$ = " bottles"
FOR A = 1 TO 99
PRINT BOTTLES$; BOTTLE$; " of beer on the wall, "; BOTTLES$; BOTTLE$; " of beer."
LET BOTTLES = BOTTLES - 1
IF BOTTLES > 0 THEN LET BOTTLES$ = LTRIM$(STR$(BOTTLES)): LET PRONOUN$ = "one"
IF BOTTLES = 0 THEN LET BOTTLES$ = "no more": LET PRONOUN$ = "it"
IF BOTTLES <> 1 THEN LET BOTTLE$ = " bottles"
IF BOTTLES = 1 THEN LET BOTTLE$ = " bottle"
PRINT "Take "; PRONOUN$; " down and pass it around, "; BOTTLES$; BOTTLE$; " of beer on the wall."
PRINT: NEXT A
PRINT "No more bottles of beer on the wall, no more bottles of beer."
PRINT "Go to the store and buy some more, 99 bottles of beer on the wall."

Grafik exempel:

SCREEN 13
DIM a(3976) AS INTEGER, b(3976) AS INTEGER, c(3976) AS INTEGER
DIM d(3976) AS INTEGER, e(3976) AS INTEGER
col% = 16: col1% = 16: col2% = 16: col3% = 16: col4% = 16
col5% = 16: col6% = 16: col7% = 16: flag = 1: flag1 = 1
flag2 = 1: flag3 = 1:flag4 = 1: flag5 = 1: flag6 = 1: flag7 = 1
DO
    GET (1, 38)-(318, 62), a
    PUT (2, 38), a, PSET
    LINE (1, 38)-(1, 62), col%
    IF flag = 1 THEN col% = col% + 1: IF col% = 32 THEN flag = 2
    IF flag = 2 THEN col% = col% - 1: IF col% = 16 THEN flag = 1
    GET (2, 63)-(319, 87), b
    PUT (1, 63), b, PSET
    LINE (319, 63)-(319, 87), col1%
    IF flag1 = 1 THEN col1% = col1% + 1: IF col1% = 32 THEN flag1 = 2
    IF flag1 = 2 THEN col1% = col1% - 1: IF col1% = 16 THEN flag1 = 1
    GET (1, 88)-(318, 112), c
    PUT (2, 88), c, PSET
    LINE (1, 88)-(1, 112), col2%
    IF flag2 = 1 THEN col2% = col2% + 1: IF col2% = 32 THEN flag2 = 2
    IF flag2 = 2 THEN col2% = col2% - 1: IF col2% = 16 THEN flag2 = 1
    GET (2, 113)-(319, 137), d
    PUT (1, 113), d, PSET
    LINE (319, 113)-(319, 137), col3%
    IF flag3 = 1 THEN col3% = col3% + 1: IF col3% = 32 THEN flag3 = 2
    IF flag3 = 2 THEN col3% = col3% - 1: IF col3% = 16 THEN flag3 = 1
    GET (1, 138)-(318, 162), e
    PUT (2, 138), e, PSET
    LINE (1, 138)-(1, 162), col4%
    IF flag4 = 1 THEN col4% = col4% + 1: IF col4% = 32 THEN flag4 = 2
    IF flag4 = 2 THEN col4% = col4% - 1: IF col4% = 16 THEN flag4 = 1
LOOP UNTIL LEN(INKEY$)

Bubbla sortera :

REM sample of bubble sort
N = 10
DIM A(N) AS INTEGER
FOR L = 1 TO N
    A(L) = INT(RND * 10 + 1)
NEXT
FOR X = 1 TO N
    FOR Y = 1 TO N - 1
        IF A(X) < A(Y) THEN SWAP A(X), A(Y)
    NEXT
NEXT
FOR L = 1 TO N
    PRINT A(L)
NEXT
END

Nuvarande användningsområden

QuickBASIC har en inofficiell gemenskap av hobbyprogrammerare som använder kompilatorn för att skriva videospel , GUI och verktyg . Samhället har dedikerat flera webbplatser, anslagstavlor och onlinemagasin till språket.

Idag använder programmerare ibland DOS -emulatorer , till exempel DOSBox , för att köra QuickBASIC på Linux och på modern datorhårdvara som inte längre stöder kompilatorn. Alternativ till detta inkluderar FreeBASIC och QB64 , men de kan ännu inte köra alla QBasic/QuickBASIC -program.

Sedan 2008 har en uppsättning TCP/IP -rutiner för QuickBASIC 4.x och 7.1 återupplivat ett visst intresse för programvaran. I synnerhet har vintage -datorhobbyistsamhället kunnat skriva programvara för gamla datorer som kör DOS, så att dessa maskiner kan komma åt andra datorer via ett LAN eller internet. Detta har gjort det möjligt för system som är lika gamla som en 8088 att tjäna nya funktioner, till exempel att fungera som en webbserver eller använda IRC .

Efterträdare

Microsofts Visual Basic var efterträdaren till QuickBASIC. Andra kompilatorer, som PowerBASIC och FreeBASIC , har olika grader av kompatibilitet. QB64 , en QuickBASIC till C ++ - översättare med flera plattformar, behåller nära 100% kompatibilitet och kompileras inbyggt för Windows , Linux och macOS .

Se även

Referenser

externa länkar