CommandLine$
Beschrijving:
Deze speciale variabele bevat alle switches (extra parameters) die werden toegevoegd
toen de Liberty BASIC werd gestart. Dit is vooral nuttig bij toepassingen die door
een runtime engine worden uitgevoerd. Daardoor kan een tokenized programma met
de extra ontvangen informatie opstarten en op grond van die informatie verder handelen.
De variabele CommandLine$ kan worden net als iedere andere string worden ontleed
om de informatie terug te winnen. Eén manier om die informatie uit CommandLine$
te halen is door met de functie INSTR() te werken.
De functies WORD$ () en VAL() kunnen ook worden gebruikt om de inhoud van CommandLine$
te evalueren. Zie de voorbeelden en de verklaringen hieronder.
Gebruik:
In dit voorbeeld controleert het programma CommandLine$ op het bestaan van het woord "red"
en als het er is, voert het programma een kleurenbevel uit:
'Eerst maken we een test listing commandlinetest1.bas
'
'dat programma zullen tokenized
'naar commandlinetest1.tkn
'en het gebruiken om door de runtime engine
'commandlinetest1.exe te laten uitvoeren
open "CommandLine$ Test" for graphics as #win
print #win, "trapclose [quit]"
'convert to lower case for evaluation:
CommandLine$ = lower$(CommandLine$)
if instr(CommandLine$, "red") > 0 then
print #win, "fill red; flush"
end if
wait
[quit]
close #win : end
Om dit bovenstaande programma vanuit een ander programma
aan te roepen als een TKN of EXE file, of als we het rechtstreeks willen
runnen via de RUN button in Windows:
run "commandlinetest1.tkn red"
or
run "commandlinetest1.exe red"
'de CommandLine$ variabele zal de string "red" bevatten
Meerdere parameters in CommandLine$
De CommandLine$ kan ook worden ontleed door gebruik te maken van de functie WORD$().
In het volgende voorbeeld, controleert het programma om drie kleuren
in een grafiekvenster te moeten gebruiken.
'commandlinetest2.bas
'
'program to be tokenized
'to commandlinetest2.tkn
'and used with runtime engine
'commandlinetest2.exe
open "CommandLine$ Test" for graphics as #win
print #win, "trapclose [quit]"
print #win, "down"
if word$(CommandLine$, 1) <> "" then
fillColor$ = word$(CommandLine$,1)
print #win, "fill ";fillColor$
end if
if word$(CommandLine$, 2) <> "" then
backColor$ = word$(CommandLine$,2)
print #win, "backcolor ";backColor$
end if
if word$(CommandLine$, 3) <> "" then
Color$ = word$(CommandLine$,3)
print #win, "color ";Color$
end if
print #win, "size 5"
print #win, "place 10 20"
print #win, "boxfilled 100 110"
print #win, "flush"
wait
[quit]
close #win : end
Om dit bovenstaande programma vanuit een ander programma aan te roepen als een TKN of EXE file,
of als we het rechtstreeks willen runnen via de RUN button in Windows:
run "commandlinetest2.tkn red yellow blue"
or
run "commandlinetest1.exe red yellow blue"
'the CommandLine$ variable will contain "red yellow blue"
Numbers and CommandLine$
De informatie die zit in of die uit CommandLine$ wordt gebruikt kan van alles zijn,
als het maar in een string vorm kan worden opgegeven.
Als getallen worden vereist, dan gebruikt men functie VAL() om ze terug te halen.
first$ = word$(CommandLine$,1)
firstval = val(first$)
Suggesties om CommandLine$ te gebruiken:
De CommandLine$ kan een filename bevatten die het programma kan openen
en in een texteditor zou kunnen laden.
CommandLine$ kan getallen bevatten die in berekeningen moeten worden gebruikt.
Zoals in de voorbeelden hierboven, kan het kleuren bevatten die
de aankleding van een venster bepalen.