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:')