2015年05月13日

質問する = 問い合わせ

質問する = 問い合わせ

■はじめに

パソコンで何かを実行しようとすると、「問い合わせ」のダイアログボックスが現れることがよくあります。
たとえば、「このまま保存しないで終了してもよろしいですか?」とか、「既に同じファイルがあります。上書きしてよろしいですか?」といったダイアログボックスです。
プロデルでは、この「問い合わせ」のダイアログボックスの手順は「質問する」となっています。

今回は、この「質問する = 問い合わせ」のダイアログボックスを表示し、ユーザーの操作によってその後の処理を変化させる手順について説明いたします。
特にプロデルでは、ファイルのコピーや、内容の保存を実行すると、問答無用で上書きされてしまいますので、「質問する」の手順は必須と言っても過言ではありません。

■「質問する」の基本書式

結果は、「よろしいですか?」をはいといいえで質問アイコンにして質問したもの
//「よろしいですか?」の 「 」 の中に、問い合わせのメッセージを書きます。
//ここに書かれたメッセージがダイアログボックスに表示され、
//PC-talkerでも読み上げられます。
//はいといいえで〜の部分は、ユーザーの選択肢として、ダイアログボックスの中の
//ボタンとして表示されます。
//ボタンなので、Tabキーで移動して操作することが出来ます。

もし結果が、「はい」なら
//結果というのは、ユーザーがどのボタンを押したか、ということを示します。
//どのボタンが押されたかによって、どういう処理を行なうかを、
//「もし文」の形で続いて書いていきます。

ーー(その時の処理の命令文)
//この場合は、「はい」のボタンが押されたら〜の命令を書きます。

他でもし結果が、「いいえ」なら
//ここでは、「いいえ」のボタンが押されたら〜の命令を書きます。

ーー(その時の処理の命令文)

もし終わり
//「もし文」を閉じます。

■選択肢とアイコン

選択肢には、

はいといいえ
はいといいえとキャンセル
OKとキャンセル
中止と再試行と無視
再試行とキャンセル

が指定できます。

アイコンには、

質問アイコン
情報アイコン
警告アイコン
中止アイコン

を指定することが出来ます。

※ここでは「質問アイコン」のみを使って進めていきます。他のアイコンについては、リファレンスを参照してください。

■具体的なプログラム

具体的に処理を書いたプログラムを下に紹介します。ダイアログボックスの表示と、その後の処理を確認してみてください。

──────────
結果は、「よろしいですか?」をはいといいえとキャンセルで質問アイコンにして質問したもの
もし結果が、「はい」なら
「はい が押されました。」を表示する
他でもし結果が、「いいえ」なら
「いいえ が押されました。」を表示する
他でもし結果が、「キャンセル」なら
「キャンセルされました。」を表示する
もし終わり
──────────

■ファイルの上書きの確認

はじめの方に書いた通り、プロデルでは、ファイルのコピーや内容の保存などの際、そのままだと、問答無用で上書きされてしまいます。トラブルを防ぐために、処理を行なう前に質問する方法=手順を紹介します。
[マイドキュメント]にある「文章.txt」というファイルを、[デスクトップ]にコピーする、という想定でのプログラムです。
実際にプログラムを試す時は、実在するファイルのフルパス(ファイル名)に書き替えてください。

──────────
もし「[デスクトップ]文章.txt」というファイルが存在するなら

結果は、「文章.txt[改行]というファイルは既に存在します。[改行]上書きしてもよろしいですか?」をはいといいえで質問アイコンにして質問したもの
もし結果が、「はい」なら
「[マイドキュメント]文章.txt」を、「[デスクトップ]文章.txt」へコピーする
「コピーしました。」を表示する
他でもし結果が、「いいえ」なら
「コピーをキャンセルしました。」を表示する
もし終わり

もし終わり
──────────

■プログラムの説明

──────────
もし「[デスクトップ]文章.txt」というファイルが存在するなら
//ファイルの存在を確認する手順です。
//「[デスクトップ]文章.txt」というファイルが存在する場合だけ
//以下の手順が実行されます。
//「[デスクトップ]文章.txt」というファイルが存在しない時は、
//そのままファイルをコピーします。

結果は、「文章.txt[改行]というファイルは既に存在します。[改行]上書きしてもよろしいですか?」をはいといいえで質問アイコンにして質問したもの
//メッセージの中の [改行] は、文章が長くなる時や、
//途中で区切りを入れたい時に記述します。
//文字通り [改行] の所で改行されてダイアログボックスに表示されます。

もし結果が、「はい」なら
「[マイドキュメント]文章.txt」を、「[デスクトップ]文章.txt」へコピーする
「コピーしました。」を表示する
//「はい」のボタンが押された時は、コピーを実行して、
//その胸のメッセージを表示します。

他でもし結果が、「いいえ」なら
「コピーをキャンセルしました。」を表示する
//「いいえ」のボタンが押された時は、ファイルをコピーせず、
//「キャンセルされた旨のメッセージを表示します。

もし終わり
//「質問する」の手順の「もし文」を閉じます。

もし終わり
//ファイルの存在を確認する「もし文」を閉じます。

──────────

■既定ボタン

「既定ボタン」というのは、ダイアログボックスが表示された時に、フォーカスが当たるボタンを指します。
上記のプログラムでは、この「既定ボタン」が「はい」の選択肢(ボタン)になっていますので、「はい」のボタンにフォーカスが当たった状態でダイアログボックスが表示されます。
人間は誰でも「うっかり」「ということがあります。パソコンの操作に慣れてくると、つい 手拍子でEnterキーやSpaceキーを押してしまうこともあります。
そうした事態を考慮して、ユーザーが反射的に意図と違った操作をしないようにするために、または、意図と違ったボタンを押しても実害がないように、「既定ボタン」の設定を使うことが出来ます。

「既定ボタン」には、次の3種類が指定出来ます。それぞれのボタンは、プログラムの中の選択肢の順版に対応しています。

第1ボタン
第2ボタン
第3ボタン

■「既定ボタン」を取り入れたプログラム

先ほど紹介したプログラムに、この「既定ボタン」を取り入れたプログラムを、以下に記します。
「第2ボタン」は、ここでは「いいえ」のボタンになりますので、ダイアログボックスが表示されると、フォーカスは「いいえ」のボタンに当たっています。

──────────
もし「[デスクトップ]文章.txt」というファイルが存在するなら

結果は、「文章.txt[改行]というファイルは既に存在します。[改行]上書きしてもよろしいですか?」をはいといいえから第2ボタンにして質問アイコンで質問したもの
もし結果が、「はい」なら
「[マイドキュメント]文章.txt」を、「[デスクトップ]文章.txt」へコピーする
「コピーしました。」を表示する
他でもし結果が、「いいえ」なら
「コピーをキャンセルしました。」を表示する
もし終わり

もし終わり
──────────

■参考

リファレンス > 広域種類 > 基本 > 質問する
http://rdr.utopiat.net/docs/reference/core/core.htm#質問する
【produireの最新記事】
posted by yanikun at 07:36| Comment(0) | TrackBack(0) | produire
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/129712782

この記事へのトラックバック