# Call

call 制御ステートメントは、事前に sub ステートメントで定義されているサブルーチンを呼び出します。

構文:

Call name ( [ paramlist ])

引数：

Call 引数

| 引数 | 説明 |
| --- | --- |
| name | サブルーチンの名前。 |
| paramlist | サブルーチンに送られる実パラメータのコンマ区切りのリスト。リスト内の各項目は、項目名や変数名、任意の数式です。 |

call ステートメントで呼び出されるサブルーチンは、スクリプトの実行中に先に出現する sub ステートメントで定義される必要があります。

パラメータはサブルーチンにコピーされます。call ステートメントのパラメータが数式ではなく変数の場合、パラメータはサブルーチンが終了したときにコピーして戻されます。

制限事項:

call ステートメントは、制御ステートメントであり、セミコロンまたは改行コードで終わるため、行をまたぐことはできません。

例1：

`// Example 
 1` `Sub INCR 
 (I,J)`

> `I = I + 
>  1` `Exit Sub 
>  when I < 10` `J = J + 
>  1`

`End Sub` `Call INCR 
 (X,Y)`

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