Call
L'instruction de contrôle call appelle une sous-routine qui doit être définie par une instruction sub précédente.
Call name ( [ paramlist ])
Argument | Description |
---|---|
name | Nom de la sous-routine. |
paramlist | Liste des paramètres à envoyer à la sous-routine, séparés par des virgules. Chaque élément de la liste peut correspondre à un nom de champ, une variable ou une expression arbitraire. |
La sous-routine appelée par une instruction call doit être définie auparavant dans l'exécution du script par une instruction sub.
Les paramètres sont copiés dans la sous-routine et, si le paramètre de l'instruction call désigne une variable au lieu d'une expression, il est recopié et supprimé à la fermeture de la sous-routine.
Comme l'instruction call est une instruction de contrôle et qu'elle se termine donc soit par un point-virgule, soit par un caractère de fin de ligne, elle ne doit pas s'étendre sur plusieurs lignes.
// 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 - 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:')