BHT-BASIC4.0:ユーザ関数の引数の仮変数に対する代入の注意点

ユーザ関数の引数の仮変数を普通の変数の様に使用することができます。 但し、文字列型変数の場合文字列長に関して注意する点があります。

今回は仮のユーザ関数として以下の様なものを宣言します。

この関数は仮変数である pstrCD$  に3文字~5文字までのテストデータを代入し単にその内容を表示しています。
尚、エラー処理では発生したエラーコードを表示させています。

上記の関数の動作をテストするソースを以下に記します。

関数 MsTest の中でブレークポイントを設定し  pstrCD$ の 内容を表示させてみます。 以下の図は MsTest に制御が移った直後の  pstrCD$ ですが 文字列のサイズが4文字になっています。
161
呼出し元の変数 W$ はサイズが40文字のはずですが、 引き数としては4文字になっています。
162
さらにステップ実行すると以下の図になります。  pstrCD$ に"123"が設定されている様子です。
そのまま実行を継続すると、以下の図の表示なります。
160
5文字の設定のところでエラーが発生し、 エラーコードが 0F(16進数) と表示されます。 このエラー内容は  「文字列長が範囲外です。」 です。
※結果的に、ユーザ関数の引数の文字列型仮変数に代入する場合は 文字列長に注意が必要だということになります。

【DENSO】ハンディターミナルBHT-1306BWB+USB通信ユニットCU-1321+ACアダプタAD2+標準バッテリBT-130L-C【送料無料・代引手数料無料】【02P05Nov16】

価格: 208,980円
(2016/11/26 22:01時点 )


■関連記事
BHT-BASIC:DENSOのハンディターミナルの開発言語のBHT-BASIC4.0を使ってみた
BHT-BASIC4.0:変数宣言の書き方(BHT-1300)
BHT-BASIC4.0:変数宣言の書き方その2(BHT-1300)
BHT-BASIC4.0:ユーザ定義関数について(BHT-1300)
BHT-BASIC4.0:演算子について(BHT-1300)
BHT-BASIC4.0:画面への表示について(BHT-1300)
BHT-BASIC4.0:キー入力について(BHT-1300)
BHT-BASIC4.0:数値用キー入力関数(ユーザ定義関数)について(BHT-1300)
BHT-BASIC4.0:ユーザ定義関数の値渡し・参照渡しについて(BHT-1300)
BHT-BASIC4.0:文字列を扱うユーザ定義関数について
BHT-BASIC4.0:文字列を扱うユーザ定義関数についてその2
BHT-BASIC4.0:文字列を扱うユーザ定義関数についてその3
BHT-BASIC4.0:TeraTermを使ってDENSOのハンディターミナルにファイル(プログラム)転送を行う方法
BHT-BASIC4.0:I/OポートとWAIT、さらにTIMERについて(BHT-1300)
BHT-BASIC4.0:データファイルの取り扱いについて(BHT-1300)
BHT-BASIC4.0:データファイルの取り扱いについてその2(書込み・読込みの実用的な関数)
BHT-BASIC4.0:データファイルの検索について(SEARCH関数)
BHT-BASIC4.0:データファイルの削除等について(KILL、CLFILEのラッパ関数)
BHT-BASIC4.0:ファイルの存在確認関数を作ってみました
BHT-BASIC4.0:拡張関数のバイナリサーチ処理関数(BSEARCH.FN3)の使い方
BHT-BASIC4.0:拡張関数のサーチ処理関数(SEARCH.FN3)の使い方
BHT-BASIC4.0:簡単なメニュー表示・選択を行うユーザ関数について
BHT-BASIC4.0:ファイル伝送におけるXFILE命令の使い方
BHT-BASIC4.0:バーコードの読込み(バーコードスキャン)について
BHT-BASIC4.0:Bluetoothデバイスアドレス取得等について
VB.NET:ハンディターミナル(BHT-1300等)とのデータファイルの送受信について


楽天市場


デル株式会社
コメント(0)