Een commandolijnprogramma kan je vanuit Gambas uitvoeren met SHELL of EXEC.
bv:
EXEC [ "ls", "-lF"]
Vanaf er “wildcards” in komen, als een ‘*’ om een reeks niet op voorhand gedefinieerde files aan te duiden, moet je SHELL gebruiken.
bv:
SHELL "ls /etc/*release"
Je kan in de Gambas IDE in het console venster onderaan de resultaten zien.
Je kan de uitvoer naar een variabele binnen Gambas sturen door de lijn te eindigen met
TO sVariabele
Klein voorbeeldje:
Maak een nieuw project “Command line application”
plak in MMain:
' Gambas module file PUBLIC sParameter AS String PUBLIC sCommand AS String PUBLIC sAnswer AS String PUBLIC sLine1 AS String PUBLIC sLine2 AS String PUBLIC SUB Main() sCommand = "ls /etc/*release" SHELL sCommand TO sAnswer DEBUG "Answer was: >" & Trim$(sAnswer) & "<" sAnswer = Trim$(sAnswer) sCommand = "cat " & sAnswer SHELL sCommand TO sAnswer DEBUG "Answer was: >" & Trim$(sAnswer) & "<" sLine1 = Left$(sAnswer, String.InStr(sAnswer, gb.NewLine)) DEBUG "sLine1 is: " & sLine1 END
Hier kan je code uittesten die je elders in een grotere applicatie inbouwt; sParameter en sLine2 dienden daarvoor.