Call

Der Steuerungsbefehl call ruft eine Subroutine auf, die vorher durch einen sub-Befehl definiert werden muss.

Syntax:  

Call name ( [ paramlist ])

 

Arguments:  

Argument Beschreibung
name Der Name der Subroutine.
paramlist Eine durch Komma getrennte Liste der Parameter, die an die Subroutine übergeben werden. Jeder Eintrag dieser Liste kann ein Feldname, eine Variable oder eine beliebige Formel sein.

Die Subroutine, die von einem call-Befehl aus aufgerufen wird, muss bereits an einer vorherigen Stelle im Skript durch ein sub definiert sein.

Die Parameter werden dabei in die Subroutine kopiert und, sofern es sich beim Parameter im call-Befehl um eine Variable und nicht um eine Formel handelt, beim Beenden der Subroutine auch wieder zurückkopiert.

Limitations:  

Da call zu den Steuerungsbefehlen gehört und daher mit einem Semikolon oder einer Zeilenschaltung abschließt, darf sich der Befehl nicht über mehrere Zeilen erstrecken.

Example 1:  

// Example 1

Sub INCR (I,J)

I = I + 1

Exit Sub when I < 10

J = J + 1

End Sub

Call INCR (X,Y)

 

Example 2:  

// Example 2 - List all QV related files on disk

sub DoDir (Root)

For Each Ext in 'qvw', 'qvo', 'qvs', 'qvt', 'qvd', 'qvc'

For Each File in filelist (Root&'\*.' &Ext)

LOAD

'$(File)' as Name, FileSize( '$(File)' ) as

Size, FileTime( '$(File)' ) as FileTime

autogenerate 1;

Next File

Next Ext

For Each Dir in dirlist (Root&'\*' )

Call DoDir (Dir)

Next Dir

End Sub

Call DoDir ('C:')