Call
Kontrollsatsen call anropar en subrutin som måste vara definierad av en sub-sats på en tidigare plats i skriptet.
Syntax:
Call name ( [ paramlist ])
Argument:
Argument | Beskrivning |
---|---|
name | Subrutinens namn. |
paramlist | En kommaavgränsad lista över de faktiska parametrar som ska skickas till den underordnade rutinen. Varje parameter i listan kan vara ett fältnamn, ett variabelnamn eller ett godtyckligt uttryck. |
Den underordnade rutinen som anropas med hjälp av en call-sats måste vara definierad i en sub-sats som påträffats tidigare under skriptexekveringen.
Parametrarna kopieras in i subrutinen. Om parametern i call-satsen är ett variabelnamn, inte ett uttryck, kopieras dess värde dessutom tillbaka ut igen när subrutinen avslutas.
Begränsningar:
Eftersom call-satsen är en kontrollsats och som sådan slutar med ett semikolon eller ett radslut, får den inte korsa en linjegräns.
Exempel 1:
// Example 1
Sub INCR (I,J)
I = I + 1
Exit Sub when I < 10
J = J + 1
End Sub
Call INCR (X,Y)
Exempel 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:')