制御コマンド説明
変数の設定と使用
$set 変数名=値   '変数の値を設定
関数定義
$function 関数名(パラメータ1,パラメータ2,・・)
$return 戻り値
関数コール
$call 関数名(パラメータ1,パラメータ2,・・)
ラベルとジャンプ
$goto ラベル名
インクルード
$include<xxxx.dat>  'ファイル分割
条件判定
$if 〜 $elseif 〜 $else 〜 $endif
条件分岐
$switch 〜 $case 〜 $default $end-switch
ループ−前置判定
$do-while 条件式 〜 $loop
ループ−後置判定
$do 〜 $loop-while
ループ終了
$exit-loop
プログラム終了
$end




変数の設定と使用

# 変数の設定と使用

        $set 変数名=値      '.変数の値を設定

        変数の設定

          $set 変数名+=値         '変数に値を加算    $set 変数名=%変数名%+値 と同じ
          $set 変数名-=値         '変数に値を減算(同様に $set 変数名*=値 $set 変数名/=値 も可)  


     変数の使用 − 変数名の前後を「%」で囲む

        %変数%

          $set 変数A += 5            '変数Aに5を加算
          $set 変数A = %変数B% + 5   '変数Bに5を足した値を変数Aに設定
          $set 変数A = 関数(param)   '関数の戻り値を変数にセット


          例:
              # OSバージョン判定
              #

              $set OsVer=GetOsVersion()   'OSバージョンを変数名「OsVer」に設定
              $if %OsVer% == 5.1          '変数の値を判定

関数定義

# 関数定義 $function 関数名(パラメータ1,パラメータ2,・・) 〜 $return 〜 $end-function
#
#  関数は再帰呼び出し可
#   パラメータ、および返却値は全てバリアント型


        $function func(p1,p2,,) '.関数定義 パラメータ数は無制限
          〜 処理 〜
            $return 戻り値     '.値を返却(省略可)
        $end-function


          例1:
              # メッセージ表示−戻り値無し

       $call DspMsg("WindowsXP",72)        'メッセージ表示
       $end                                'プログラム終了
 
              #---------------------------
              # メッセージ表示関数

       $function DspMsg(Msg,FontSize)            '関数定義
         /show-message %Msg%,2,,,,,,%FontSize%   '  指定フォントサイズでメッセージ表示
       $return                                   'リターン


          例2:
              # 二乗平均を求める−戻り値あり
              $set p1=3
              $set p2=4
       $set rc=SqrtAvg(%p1%,%p2%)                '二乗平均を求めて変数にセット
              /show-message "%p1%と%p2%二乗平均 Format(%rc%,'0.000')",5,,,,,,72  '小数点以下3桁に整形して表示
       $end                                'プログラム終了
 
              #---------------------------
              # 二乗平均を求める関数

       $function SqrtAvg(n1,n2)                '関数定義
                 $set rc=Sqr((%n1%*%n1%+%n2%*%n2%)/2) ' 二乗平均を求めて変数にセット
          $return %rc%                            '返却値をリターン − 下記のように書いても可

    #     $function SqrtAvg(n1,n2)               '関数定義
    #         $return Sqr((%n1%*%n1%+%n2%*%n2%)/2)   '計算結果を返却
              $end-function

関数コール

# 関数コール $call 関数名(パラメータ1,パラメータ2,・・)
#
#  関数をパラメータ渡しで呼び出す


        $call func(p1,p2,,)     '.関数呼び出し


          例:

       # 関数呼び出し
       #

       $call DspMsg("WindowsXP",36)
       $end
 
              #---------------------------
              # メッセージ表示関数
       $function DspMsg(Msg,FontSize)

          /show-message %Msg%,2,,,,,,%FontSize%

          $return

              $end-function


ラベルとジャンプ

# ジャンプ $goto ラベル名
#
#  ラベル名を指定して処理ステップを移行する

         $goto Label            '.指定ラベルにジャンプする
                                ' 末尾が「:」となっている文字列をラベルとして認識

 例:

  Retry: $set n=InputBox("nを入力")             'ラベル定義 入力要求
 
         $if %n% == "" $end                      'キャンセル → 終了 

         $if IsNumeric(%n%) == 0  $goto Retry    '入力値が数値でなければ、再入力要求




インクルード

# インクルード $include<ファイル名>
#
#  $include により、分割されたファイルを結合して、1つのファイルとして扱うことができる
  インクルードとしてファイルを分割することにより、共通モジュール(関数)として再利用することが可能となる。

  インクルードファイルはソースファイル上では確認できないが、
  デバッグウィンドウでは展開されるので、全体ソースの確認やデバッグが可能である。


  例:本体とインクルードファイル(func.dat)を分割して作成
    本体より、インクルードファイルを呼び出す。

        #=====================================================
        # プログラム本体
        #----------------------------------------------------

        $call DspMsg("二乗平均を求めます")

        $end      '=============================== プログラム終了


        $include<func.dat>   'インクルードファイル呼び出し

      インクルードファイル func.dat

        #-----------------------------------------------------
        # メッセージ表示
        #   パラメータ
        # Msg:文言 FontSize:フォントサイズ FontColor:文字色
        #-----------------------------------------------------
        $function DspMsg(Msg,FontSize,FontColor)
                /message-show %Msg%,2,,,,,,%FontSize%,%FontColor%
                $return
        $end-function

条件判定

# 条件判定 $if 〜 $elseif 〜 $else 〜 $endif
#
#  条件により実行処理を変更する


        $if 条件式1        '.条件判定

           条件式1が真の場合に実行すべきコマンド

        $elseif 条件式2    '.IF条件が偽の場合

           条件式1が偽、条件式2が真の場合に実行すべきコマンド

        $else   '.全ての条件判定が偽の場合

           全ての条件式が偽の場合に実行すべきコマンド

        $endif  '.IF文の終了



        #+++


          例:

             # OS判定
             #

             $if GetOsVersion() >= 6.1       'Window7以上?

               /show-message "Windows7以上"

             $elseif GetOsversion() == 6.0  'VISTA?

               /show-message "Vista"

             $else                          '以外

               /show-message "XP以下"

             $endif


             真の場合のみで、処理が一行であれば、次のように続けて書いても可

             $if GetOsVersion() == 6.1   $set OS = "Windows7"

条件分岐

# 条件分岐 $switch 〜 $case 〜 $default $end-switch
#
#  値により 処理ステップを変更する

        #+++

        $switch n     '.値による条件分岐開始 n:分岐する値

          $case n1    '.値による条件分岐 n=n1 の場合に実行される 次の $case/$defaule/$end-switch の直前行まで
               $xxxxx '処理すべきコマンドを記述
               $yyyyy 
               /zzzzz
          $case n2
            ・・・
          $case nn 

          $default    '.値による条件分岐 全ての $case に当てはまらない場合に実行される

        $end-switch   '.値による条件分岐終了



          例:

             # OS判定
             #

             $set OS = GetOsVersion()
             $switch %OS%
               $ case 6.2
                     /msg "Windows8"
               $ case 6.1  
                     /msg "Windows7"
               $ case 6.0
                     /msg "VISTA"
               $ case 5.1
                     /msg "WindowsXP"
               $ case 5.0
                     /msg "Windows2000"
               $ default
                     /msg "その他のバージョン"
             $end-switch


     処理が一行の場合は以下のように記述しても良い

             $switch %OS%
               $ case 6.2   /msg "Windows8"
               $ case 6.1   /msg "Windows7"
               $ case 6.0   /msg "VISTA"
               $ case 5.1   /msg "WindowsXP"
               $ case 5.0   /msg "Windows2000"
               $ default    /msg "その他のバージョン"
             $end-switch

ループ − 前置判定

# ループ $do-while 条件式 〜 $loop  − 前置判定 −
#
#  条件により実行処理を変更する


        $do-while  条件式  '.ループ(前置判定)

           ループ中に実行すべきコマンド

        $loop   '.条件式が真の間、 $do-while との間をループ


          例:

       # 10回メッセージ表示
       #

       $set n=0

       $do-while  %n%<10

           $set n += 1  '1 加算

           /show-message %n%,2,,,,,,72

       $loop

ループ−後置判定

# ループ $do 〜 $loop-while   − 後置判定 −
#
#  条件により実行処理を変更する


        $do     '.ループ(後置判定)

           ループ中に実行すべきコマンド

        $loop-while 条件式 '.条件式が真の間、 $do との間をループ


          例:

       # 10回メッセージ表示
       #

       $set n=0

       $do

         $set n += 1  '1 加算

         /show-message %n%,2,,,,,,72

       $loop-while %n%<10

ループ終了

# ループ終了 $exit-loop
#
#  ループを終了する


        $eixt-loop     '.ループ終了

          例:

       # 10回メッセージ表示
       #

       $set n=0

       $do

         $set n += 1  '1 加算

        $if %n% == 3
                   $exit-loop
                $endif

         /show-message %n%,2,,,,,,72

       $loop-while %n%<10

プログラム終了

# プログラム終了
#
#  以降のステップを実行しない
#   関数が本体プログラムの後に記述されている場合は必須
#   ($end が無いと、関数部分に突入してしまう)


        $end    '.プログラム終了

        #-----------------------------------------
        $function 〜     '関数定義など
           〜
            $return 0
        $end-function



//////////////////////////////////////////

連続コマンドについては、
オンラインヘルプ「プログラム例」を参照

//////////////////////////////////////////

×
PageTop