文字列を入力する
input関数でウィンドウを表示して文字列を入力できます。
以下のサンプルソースでは、次のような画面を表示して入力された文字列が@str1に、その文字数が@2にセットされます。
fep関数は日本語入力のON/OFFを切り替える関数です。入力前に日本語入力をONにして、入力後元の状態に戻しています。
*inputname 名前の入力
@1 = fep( 1 )
@2 = input( @str1, "名前を入力してください" )
fep( @1 )
@2 = sprintf( @str2, "私の名前は %s です", @str1 )
@4 = messagebox( @str2, "name", MB_OK )
*
※数値を入力したいときは、input関数で入力して数値に変換してください。
コンボボックスで文字列を入力する
コンボボックスのリストを、strlist関数で作成しておき、combobox関数で、コンボボックスでの選択による入力が行えます。
以下のサンプルソースでは、選択肢の色名のリストを@str1に作成し、以下のような入力画面を表示して、選択した色名を@str2にセットしています。
*selcolor 色を選ぶ
strlist( @str1, "red", "blue", "green", "pink", "yellow", "white" ) ;リストの作成
@1 = combobox( @str2, "好きな色を選んでください", 2, @str1 ) ;入力のウィンドウを表示
@2 = sprintf( @str3, "私は %s が好きです", @str2 ) ;出力文字列を生成
@4 = messagebox( @str3, "color", MB_OK ) ;メッセージボックスで選択した色を表示
*
※リストボックスで選択することもできます(listbox関数)。
ファイル名を入力する
finput関数でMIFESの「ファイルを開く」ダイアログボックスを表示して、ファイルを選択することができます。
以下のサンプルソースは、指定したファイル名をopen関数で読み取り専用(マクロ定数:OPEN_READONLYで指定)で開いています。
*fopenRonly ファイルを読み取り専用で開く
@1 = finput( @str1, "開くファイル名を入力してください") ;ファイル名入力ダイアログを表示
@2 = open( @str1, "auto", OPEN_READONLY ) ;読み取り専用でファイルを開く
*
設定を変更する
マクロコマンドで設定を参照したり変更したりするためにシステム変数が用意されています。
システム変数を参照することにより現在の設定状態を知ることができ、すべてではありませんが、システム変数に値を代入することにより設定を変更できます。
システム変数には、1つの変数に1つの設定情報を持っているものと、1つの変数のビットごとに複数の設定情報を持っているものがあります。どちらのタイプかはヘルプでご確認ください。
以下のそれぞれの変更例です。
■1つの変数に1つの設定情報を持っているもの
ハードタブの桁数は、@htabで参照/変更ができます。
以下のサンプルソースはハードタブの桁数が4桁のときは8桁に変更し、4桁以外のときは4桁に設定するコマンドです。
*hTab4 ハードタブの桁数を4または8桁にする
if @htab == 4 ;ハードタブが4桁のとき
@htab = 8 ;8桁に変更する
else ;それ以外のときは・・・
@htab = 4 ;4桁に変更する
endif
*
■1つの変数のビット単位に複数の設定を持っているもの
システム変数のうちビットごとに設定するものにはマクロ定数が用意されており、マクロ定数と論理演算することで参照/変更ができます。
以下のサンプルソースは、ハードタブ明示をON/OFFするコマンドです。
ハードタブの明示のマクロ定数はDSTAT_HTABで、システム変数@dstatと論理演算することでON/OFFを切り替えることができます。
*hTABonoff ハードタブの明示を切り替える
if @dstat & DSTAT_HTAB ;ハードタブ明示ONなら・・・
@dstat &= (~DSTAT_HTAB) ;OFFにする
else ;それ以外は(ハードタブ明示OFFなら)・・・
@dstat |= DSTAT_HTAB ;ONにする
endif
*
この資料の内容は予告なしに変更されることがあります。
いかなる場合でも、この資料の内容およびその運用の結果に関しては一切の責任を負いません。
この資料に記載されている会社名、製品名は、各社の登録商標または商標です。
この資料の一部または全部を無断で使用、複製することはできません。
Copyright(C) MEGASOFT Inc.