Call
L'istruzione di controllo call consente di chiamare una subroutine che deve essere definita da un'istruzione sub precedente.
Sintassi:
Call name ( [ paramlist ])
Argomenti:
Argomento | Descrizione |
---|---|
name | Il nome della subroutine. |
paramlist | Un elenco separato da virgole di parametri effettivi da inviare alla subroutine. Ogni voce dell'elenco può essere un nome di campo, una variabile o un'espressione arbitraria. |
La subroutine chiamata da un'istruzione call deve essere definita da un'istruzione sub rilevata precedentemente durante l'esecuzione dello script.
I parametri vengono copiati nella subroutine e, se il parametro nell'istruzione call è una variabile e non un'espressione, verranno copiati nuovamente all'uscita dalla subroutine.
Limiti:
Poiché call è un'istruzione di controllo e come tale termina con un punto e virgola o con un carattere di fine riga, non deve superare un limite di riga.
Esempio 1:
// Example 1
Sub INCR (I,J)
I = I + 1
Exit Sub when I < 10
J = J + 1
End Sub
Call INCR (X,Y)
Esempio 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:')