Call
Instrukcja sterowania call wywołuje procedurę zdefiniowaną we wcześniejszej instrukcji sub.
Składnia:
Call name ( [ paramlist ])
Argumenty:
Argument | Opis |
---|---|
name | Nazwa podprogramu. |
paramlist | Do podprogramu przekazana zostanie rozdzielana przecinkami lista rzeczywistych parametrów. Każdy z elementów listy może być nazwą pola, zmienną lub dowolnym wyrażeniem. |
Podprogram wywoływany instrukcją call musi być zdefiniowany w instrukcji sub napotkanej na wcześniejszym etapie wykonywania skryptu.
Parametry są kopiowane do podprogramu, a jeśli parametrem instrukcji call jest zmienna, a nie wyrażenie, to po wyjściu z podprogramu parametry są ponownie kopiowane na zewnątrz.
Ograniczenia:
Jako instrukcja sterowania instrukcja call kończy się na średniku lub znaku nowego wiersza, nie może zatem obejmować wielu wierszy.
Przykład 1:
// Example 1
Sub INCR (I,J)
I = I + 1
Exit Sub when I < 10
J = J + 1
End Sub
Call INCR (X,Y)
Przykład 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:')