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.  En 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.