Referenz - __FB_ARGV__
Typ: Vordefiniertes Symbol
__FB_ARGV__ wird in der ausführbaren Datei zu einem Pointer umgesetzt. Dieser zeigt auf einen Speicherbereich, in dem sich weitere ZSTRING PTRs befinden, die auf die einzelnen Kommandozeilenparameter zeigen.
Gemeint ist die Kommandozeile, die an das Programm selbst, nicht an den Compiler übergeben wurde; siehe dazu COMMAND.
Beispiel:
Declare Function main ( ByVal argc As Integer, ByVal argv As ZString Ptr Ptr ) As Integer
End main( __FB_ARGC__, __FB_ARGV__ )
Function main ( ByVal argc As Integer, ByVal argv As ZString Ptr Ptr ) As Integer
For i As Integer = 0 To argc - 1
Print "arg "; i; " = '"; *argv[i]; "'"
Next
Sleep
Return 0
End Function
Beispiel 2:
Declare Sub mySub(argc As Integer = 0, argv As ZString Ptr Ptr = 0)
Print "Hauptprogramm:"
Print "ARGC: " & __FB_ARGC__
Print "ARGV: " & *__FB_ARGV__[0]
Print
mySub(__FB_ARGC__, __FB_ARGV__) 'mit Übergabeparametern aufrufen
Print
mySub 'ohne Übergabeparameter aufrufen
Print
Sleep
'#################################################
Sub mySub(argc As Integer = 0, argv As ZString Ptr Ptr = 0)
If argc <> 0 And argv <> 0 Then
Print WStr("Unterprogramm mit Übergabe:")
Print "ARGC: " & argc
Print "ARGV: " & *argv[0]
Else
Print WStr("Unterprogramm ohne Übergabe:")
'Print "ARGC: " & __FB_ARGC__ '__FB_ARGC__ und __FB_ARGV__ sind
'Print "ARGV: " & *__FB_ARGV__[0] 'nur im Hauptprogramm zugänglich
End If
End Sub
Hinweis:
__FB_ARGV__ ist nur auf Hauptmodulebene bekannt und funktioniert nicht in Unterprogrammen.
Unterschiede zu QB: neu in FreeBASIC
Unterschiede zu früheren Versionen von FreeBASIC: existiert seit FreeBASIC v0.17
Siehe auch:
__FB_ARGC__, COMMAND, DEFINE (Meta), Präprozessoren
Zusätzliche Informationen und Funktionen | ||||
---|---|---|---|---|
|