Rakuten

  • 楽天ダウンロード

おすすめ本

天気予報

最近のトラックバック

  • event (夢茶爺&苦茶爺のPC奮戦備忘録)

カウンタ

VC

admax

« BHT-BASIC4.0:変数宣言の書き方その2(BHT-1300) | メイン | BHT-BASIC4.0:演算子について(BHT-1300) »

2016年4月 6日 (水)

BHT-BASIC4.0:ユーザ定義関数について(BHT-1300)

ハンディターミナルの開発言語であるBHT-BASIC4.0についての4回目になります。 今回はユーザ定義関数について説明したいと思います。

■ユーザ定義関数

ユーザ定義関数とは、BHT-BASICが既に備わっている関数ではなく、ユーザが任意で作成する関数のことです。 ユーザが定義できる関数には大きく分けて2種類のものがあり、 DEF FN及びFUNCTIONで定義される値を返す関数と、 SUBで定義される値を返さない関数があります。
このうちFUNCTION関数SUB関数DECLAREステートメントで宣言することで 別モジュールで使用することができます。

DEF FN関数及びFUNCTION関数には返す値により 関数の最後にデータ型を示す記号を付加します。
ユーザ定義関数のデータ型 DEF FN関数の書式 FUNCTION関数の書式
整数型 FN関数名% 関数名%
長整数型 FN関数名& 関数名&
実数型 FN関数名 関数名
文字型 FN関数名$ 関数名$
文字型
(文字列長指定)
FN関数名$(・・・)[NNN]
(NNN:に文字列長指定)
関数名$(・・・)[NNN]
(NNN:に文字列長指定)

値を返す関数は、私は専らFUNCTION関数を使い、DEF FN関数は殆んど使っていません。 なぜならば、DEF FN関数ではSTATIC変数が使えませんし、 他のモジュールから参照することができないからです。

尚、値を返さない関数は当然のことSUB関数で宣言します。

関数には値を渡さない場合は引数の宣言をしませんが、値が必要な場合には関数の宣言のところで引数の宣言を行います。 この引数の渡し方には、値渡し(call by value)と、参照渡し(call by reference)の2種類があります。

■値渡し・参照渡し

以下のソース「MODULE1.SRC」を見てください。


これを実行すると以下の表示の様になります。 Basic41
FUNCTION関数の宣言はFUNCTIONで始まり、END FUNCTIONで終わります。 関数の引数は仮引数名で宣言し、値渡しはBYVALキーワードで宣言し、 参照渡しはBYREFキーワードで宣言します。 BYVALBYREFが無い場合はデフォルトで値渡しになりますが、 引数の意味合いをはっきりさせるため、必ずこのキーワードを付加すべきだと思います。

関数の戻り値は関数名に値を代入することで戻します。
このソースでは、Func1%は値渡し、Func2%は参照渡しの例です。

■関連記事
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-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:ユーザ関数の引数の仮変数に対する代入の注意点
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等)とのデータファイルの送受信について


デル株式会社

トラックバック

このページのトラックバックURL:
http://app.mitelog.jp/t/trackback/459161/33789907

BHT-BASIC4.0:ユーザ定義関数について(BHT-1300)を参照しているブログ:

コメント

コメントを投稿