「名前を付けて保存」ダイアログ

FILE GETNAMEは,「ファイルを開く」ダイアログを表示してファイル名を取得しますが,ver 5.3.6の \Library\FileName.LIBに定義された外部関数GetSaveFileName$を利用すると,「名前を付けて保存」ダイアログを表示してファイル名を取得することができます。

使用例

100 DECLARE EXTERNAL FUNCTION GetSaveFileName$ 
110 PRINT GetSaveFileName$("CSVファイル","CSV","")
120 END
130 MERGE "FILENAME.LIB"

100行は識別名GetSaveFileName$を外部関数名として使うための宣言です。
130行のMERGE文はFILENAME.LIBを翻訳時にプログラムテキストの末尾に読み込む命令です。
GetSaveFileName$の引数は,順に,ファイル種別の説明の文字列,既定の拡張子,初期表示ディレクトリです。
既定の拡張子は,3文字以内に限ります。ピリオドは省いて指定します。

GetSaveFileName$関数は,Win32APIを用いて定義されています。
詳細は,FILENAME.LIBを開いて確認してください。
BASICプログラムで記述されているので,目的に応じ変更を加えて利用することも可能です。
<補足>利用者独自のライブラリを作成したときは,Libraryフォルダではなく,UserLibフォルダに入れてください。
    MERGE文は,Libraryフォルダより先にUserLibフォルダを検索します。


「はい」「いいえ」ダイアログ

 ver. 5.3.7の\Library\MSGBOX.LIBに定義された関数YesNoBox$関数を利用すると,メッセージを表示して「はい」,「いいえ」の選択を求めることができます。

使用例

10 DECLARE EXTERNAL FUNCTION YesNoBox$ 
20 SELECT CASE YesNoBox$("実行しますか")
30 CASE "Y"
40   PRINT "実行します"
50 CASE "N"
60   PRINT "実行を取りやめます"
70 END SELECT
80 END
90 MERGE "MSGBOX.LIB"


MSGBOX.LIBには,「中止(A)」,「再試行(R)」,「無視(I)」から選択させる関数AbortRetryBox$も定義されています。
これらの関数は,Win32APIのMessageBoxを利用して定義されているので,目的に応じて修正して使うことができます。


戻る