Call
De besturingsopdracht call roept een subroutine aan die door een vorige sub-opdracht is gedefinieerd.
Syntaxis:
Call name ( [ paramlist ])
Argumenten:
Argument | Beschrijving |
---|---|
name | De naam van de subroutine. |
paramlist | Een door komma's gescheiden lijst met de werkelijke parameters die worden gezonden aan de subroutine. Elk item in de lijst kan een veldnaam, een variabele of een willekeurige uitdrukking zijn. |
De subroutine die wordt opgeroepen door een call-opdracht moet op een eerdere positie in het script door een sub zijn gedefinieerd.
Parameters worden gekopieerd naar de subroutine en, als de parameter in de call-opdracht een variabele is en geen uitdrukking, bij het beëindigen van de subroutine weer teruggekopieerd.
Beperkingen:
Aangezien de call-opdracht een besturingsopdracht is en dus wordt afgesloten door een puntkomma of het einde van een regel, mag de opdracht niet op meerdere regels staan.
Voorbeeld 1:
// Example 1
Sub INCR (I,J)
I = I + 1
Exit Sub when I < 10
J = J + 1
End Sub
Call INCR (X,Y)
Voorbeeld 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:')