2012年06月01日

メニュー その他 (その2)

■オプション

「オプション」というのは、ラジオボタンのことです。項目の先頭に丸い枠があり、その項目が選択されると、その中に一回り小さな黒い丸印がつきます。その形が、ラジオのボタンに似ていることから「ラジオボタン」と呼ばれています。
複数の選択肢からどれか一つを選択する部品のため、当然ですが、オプションは二つ以上 作成する必要があります。

■チェックボックス

Spaceキーでチェックをオンオフして、どちらかの状態を選択する部品です。
内容の先頭に、□ の枠が付加されて表示されます。チェックすると、その枠の中に、カタカナの レ と似た形のチェックが表示されます。

■プログラムの説明

──────────────────────────────
ウィンドウ1を表示する
待機する

ウィンドウ1とは
ウィンドウを継承する

はじめの手順
初期化する
終わり

初期化する手順
この内部領域大きさを{392、343}に変える
この内容を「ウィンドウ1」に変える

テキスト領域1というテキスト領域を作る
その位置と大きさを{0,30,392,343}に変える
そのドッキング方向を「全体」に変える
ーードッキング方向というのは、ウィンドウの大きさが変化した時に、
ーーそれに合わせて部品の大きさを自動的に調整する設定項目です。
ーー「全体」を指定すると、テキスト領域の大きさが、
ーーウィンドウの大きさと同じ大きさに変化します(メニューを除く)。

メニュー1というメニューを作る
ーーメニュー1というメニュー部品を作成します。

その位置と大きさを{0、0、392、24}に変える
ーーメニュー部品の幅は、通常はウィンドウの幅と同じに設定します。

その内容を「メニュー1」に変える
ーーこの「メニュー1」という内容は、メニューの作成後には
ーー表示されませんが、手続きとして設定する必要があります。

ファイルメニューというメニュー項目をメニュー1へ追加する
ーーメニュー部品に「メニュー項目」を追加します。

その内容を「ファイル(&F)」に変える
ーー上で追加した「ファイルメニュー」というメニュー項目の内容を
ーー「ファイル(&F)」と設定します。
ーー(&F) は、アクセスキーの設定です。
ーー画面に表示されると (F) となり、& は表示されません。

開く項目というメニュー項目をメニュー1のファイルメニューへ追加する
ーー上で追加したファイルメニューに、
ーー「開く」というメニュー項目を追加します。

その内容を「開く(&O)」に変える
ーー追加した項目の内容を「開く(&O)」と設定します。

そのショートカットを「Control+O」に変える
ーーメニューにショートカットキーを割り当てる時は、このように設定します。
ーーすると、上のアクセスキーの右側に、設定したショートカットキーが、
ーーCtrl+O と表示されます。
ーーただし、PC-Talkerでは、この形で表示されたショートカットキーを
ーー読みません。これを読ませたい時の設定については、後述します。

そのクリックされた時の手順は、ファイルを開く
ーークリックは、ここでは実行を表しています。
ーーキーボードでは Enterになります。
ーーこのメニュー項目が実行された時の手順をここで指定しておきます。
ーーなお、実行される手順を同時に書いておかないと、エラーになります。

閉じる項目というメニュー項目をメニュー1のファイルメニューへ追加する
その内容を「閉じる(&C)」に変える
そのクリックされた時の手順は、閉じる

ツールメニューというメニュー項目をメニュー1へ追加する
その内容を「ツール(&T)」に変える
ーー「ファイル」に続いて、新しいメニュー項目を追加します。
ーーここで追加された項目は、追加された順に、メニューバーの
ーー右に表示されます。

設定項目というメニュー項目をメニュー1のツールメニューへ追加する
その内容を「設定(&S)」に変える
オプション項目というメニュー項目をメニュー1のツールメニューの設定項目へ追加する
その内容を「オプション設定(&O)」に変える
ーーメニュー1 > ツールメニュー > 設定項目 と、
ーー作成した部品の順番をたどって、サブメニューを追加していきます。
ーーウィンドウを表示して操作すると、Altキー 右矢印キー 
ーー下矢印キー 右矢印キー となります。

そのクリックされた時の手順は、オプション

終わり

ーーファイルを開く
ファイルを開く手順
開く画面のフォルダ名を[マイドキュメント]に変える
開く画面のフィルタを、「テキストファイル|*.txt;*.rdr|すべてのファイル|*.*」に変える
開く画面を表示する
もし開く画面のキャンセルなら、手順から抜ける
ファイル名は、開く画面のファイル名
内容は、ファイル名から読み込んだもの
ファイル内容は、[正規表現:内容を「\n」から「[改行]」へ置換したもの]
テキスト領域1の内容を、ファイル内容に変える
終わり

ーー閉じる
閉じる手順
ウィンドウ1を閉じる
終わり

ーーオプション
オプションの手順
設定ウィンドウを表示する
ーーここでは、別のウィンドウ「設定ウィンドウ」を表示する
ーーという手順だけを書いておきます。
ーー設定ウィンドウの作成や、そのウィンドウで実行される手順については、
ーー続いて書いていきます。

終わり

終わり
ーーメイン画面=ウィンドウ1の作成から、実行される手順は
ーーここまでで終わりということで、「終わり」と記述しておきます。

ーー設定ウィンドウ
ーー設定ウィンドウの手順がここから始まります。
設定ウィンドウとは
ウィンドウを継承する

はじめの手順
初期化する
終わり

初期化する手順
この内部領域大きさを{237、213}に変える
この内容を「オプション設定」に変える

ラベル1というラベルを作る
その内容を「盛りの選択」に変える
その位置と大きさを{20,20,39,12}に変える

オプション1というオプションを作る
ーーオプション1というオプション部品を作成します。
ーー名前は任意のものを付けることが出来ます。
ーー例:○○選択肢というオプションを作る

その内容を「並盛り」に変える
その位置と大きさを{27、46、64、24}に変える
ーーオプション部品の幅は、実際に画面で確認しないと難しいかもしれません。
ーー出来れば、晴眼者に見てもらって下さい。

その状態を○に変える
ーーオプションの複数の選択肢のうち、必ずどれか一つの選択肢を
ーー選択された状態にしておく必要があります。
ーーそうしないと、オプションの項目を音声で読みません。

オプション2というオプションを作る
その内容を「大盛り」に変える
その位置と大きさを{121、46、64、24}に変える

チェックボックス1というチェックボックスを作る
ーーチェックボックス1というチェックボックス部品を作成します。
ーー名前は任意のものを付けることが出来ます。

その内容を「つゆだく」に変える
その位置と大きさを{27、85、104、24}に変える
ーーチェックボックスの位置と幅も、やはり目視で確認しないと、
ーー表示の状態がわかりにくいです。

ボタン1というボタンを作る
その内容を「OK」に変える
その位置と大きさを{36、166、75、23}に変える

ラベル2というラベルを作る
その内容を「注文」に変える
その位置と大きさを{27、125、39、12}に変える

テキスト1というテキストを作る
ーーオプションとチェックボックスによる選択の結果を表示するために
ーーここにテキストを作成しています。

その位置と大きさを{61、122、153、19}に変える

ボタン2というボタンを作る
その内容を「キャンセル」に変える
その位置と大きさを{117、166、75、23}に変える

終わり

ボタン1がクリックされた時の手順
もし、オプション1の状態が○なら
ーー○なら というのは、オプション1が選択されている状態なら
ーーという意味です。

盛りは、「並盛り」
ーーその場合は、「盛り」という変数に「並盛り」という文字列を代入します。

他でもし、オプション2の状態が○なら
盛りは、「大盛り」
ーーそうではなく、オプション2が選択されている状態の場合は、
ーー「盛り」という変数に「大盛り」という文字列を代入します。

もし終わり
ーー「もし 判断文」の終わりを示しています。

もし、チェックボックス1のチェックが○なら
ーー次の判断文の始まりです。
ーーチェックが○なら というのは、チェックおん、
ーーつまり、先頭の □ の中にカタカナの レ に似た印が表示された状態です。

つゆは、「 つゆだく」
ーーチェックおんの場合は、「つゆ」という変数に
ーー「 つゆだく」という文字列を代入します。
ーーなお、「つゆだく」の前に、全角スペースを入れています。
ーーこれは、見やすさと聞きやすさを考えてのことです。

でないなら
つゆは、「」
ーーチェックオフの場合は、「」 つまり内容を 無 として代入します。
ーー「でないなら」の行は、次のように書くことも出来ます。
ーーもし、チェックボックス1のチェックが×なら

もし終わり
テキスト1の内容を、「[盛り] [つゆ]」に変える
ーー「盛り」と「つゆ」の二つの変数に代入した内容を、
ーー一つの文章=文字列にまとめて、テキスト1に表示させます。

テキスト1にフォーカスする
ーー続いて、フォーカスをテキスト1に移動させます。

終わり

ーー閉じる
ボタン2がクリックされた時の手順
設定ウィンドウを閉じる
終わり

終わり
──────────────────────────────

■ショートカットキーをPC-Talkerで読むように設定する

プログラムの中で、ショートカットキーをそのまま設定すると、画面では表示されるが、PC-Talkerで読まないと書きました。ここでは、ショートカットキーをPC-Talkerでも読むように設定する方法を紹介します。
例は、ファイルメニューの「開く」項目です。

──────────────────────────────
開く項目というメニュー項目をメニュー1のファイルメニューへ追加する
その内容を「開く Ctrl+O(&O)」に変える
ーーここで、内容の中にショートカットキーを記述します。

そのショートカットを「Control+O」に変える
そのショートカット表示を×に変える
ーー上の命令文で、本来はアクセスキーの右側に表示される
ーーショートカットを、非表示に設定します。

そのクリックされた時の手順は、ファイルを開く
──────────────────────────────
posted by yanikun at 01:57| Comment(0) | TrackBack(0) | produire

2012年06月07日

設定の保存と呼び出し(設定ファイル)

プログラムの設定を保存したり、呼び出したりするには、レジストリに記録する方法と、設定ファイルを使用する方法の二つがあります(その他は無視)。
私自身が、やたらにレジストリに書き込むソフトが嫌いなため、ここでは設定ファイルによる方法を紹介します。
なお、設定ファイルは、「INIファイル」と呼ばれ、大文字の INI が使われますが、実際の設定ファイルの拡張子は、小文字で .ini となります。

■プログラムの例

事前に、デスクトップフォルダに設定ファイルを作成しておく必要はありません。プログラムの中で作成します。
ただし、他の人に、自分の作ったプログラムを使ってもらう時は、事前に初期設定などを記述した設定ファイルを同梱する必要があります。

──────────────────────────────
「Produire.File.dll」を利用する
アプリ設定という設定ファイルを作る
アプリ設定のファイル名は、「[デスクトップ]settings.ini」

アプリ設定について「アカウント」で「ユーザー名」へ「example」を設定する
アプリ設定について「アカウント」で「パスワード」へ「abc123」を設定する

ユーザー名は、アプリ設定について「アカウント」から「ユーザー名」を取得したもの
パスワードは、アプリ設定について「アカウント」から「パスワード」を取得したもの

ユーザー名を表示する
パスワードを表示する

「ユーザー名=[ユーザー名][改行]パスワード=[パスワード]」を表示する
──────────────────────────────

■設定ファイルの書式

設定ファイルの書式は、次のようになります。

[セクション名]
キー名=値

実際に、上のプログラムの例で作成・設定した設定ファイルを開いてみます。設定ファイルはテキストファイルなので、Windowsの初期値では「メモ帳」に関連付けされています(…そのはず)。
実際にプログラムを動かして設定する時は、プログラム上で設定を保存したり、読み込んだりするわけですが、プログラムを作っている時は、テストやデバッグのために、自分で設定ファイルを編集することもあります。

──────────
[アカウント]
ユーザー名=example
パスワード=abc123
──────────

先ほどの書式にあてはめてみると、次のようになります。

アカウント … これが[セクション名]になります。セクション名は、必ず [ ] で括ります。

ユーザー名 … これが キー名 になります。
パスワード … 同じく キー名 になります。

example … これが 値 になります。
abc123 … 同じく 値 になります。

■プログラムの説明

──────────────────────────────
「Produire.File.dll」を利用する
ーー設定ファイルなどの特殊なファイルを扱うのに必要なDLLを
ーーこのプログラムで利用することを宣言します。

アプリ設定という設定ファイルを作る
ーー「アプリ設定」という名前の設定ファイルを作成します。

アプリ設定のファイル名は、「[デスクトップ]settings.ini」
ーー作成する設定ファイルのパスを指定します。
ーーこの場合は、あくまでもサンプルなので、デスクトップ内に
ーー作成していますが、通常のプログラムでは、ほとんどの場合は
ーープログラム(実行ファイル)と同じフォルダに作成します。
ーーその場合は、設定ファイルのパスは 次のようになります。
ーーアプリ設定のファイル名は、「[プログラムのフォルダ]settings.ini」

ーー設定の保存
アプリ設定について「アカウント」で「ユーザー名」へ「example」を設定する
ーー「について」というのは、お約束の書き方なので、あまり気にしないように。
ーーアプリ設定(settings.ini)のファイルに保存された、
ーー「アカウント」で … アカウント というセクション名の中の、
ーー「ユーザー名」へ … ユーザー名 というキー名に、
ーー「example」を … example という値を、
ーー設定する … 設定します(そのまんまですが)。

アプリ設定について「アカウント」で「パスワード」へ「abc123」を設定する
ーー「アカウント」で … アカウント というセクション名の中の、
ーー「パスワード」へ … パスワード というキー名に、
ーー「example」を … abc123 という値を、
ーー設定します。

ーー設定の読込
ユーザー名は、アプリ設定について「アカウント」から「ユーザー名」を取得したもの
ーーアプリ設定(settings.ini)のファイルに保存された、
ーー「アカウント」から … アカウント というセクション名の
ーー「ユーザー名」を … ユーザー名 というキー名に格納された値を
ーー取得したもの … 取得したデータを、
ーー「ユーザー名」という変数に代入します。

パスワードは、アプリ設定について「アカウント」から「パスワード」を取得したもの
ーーーーアプリ設定(settings.ini)のファイルに保存された、
ーー「アカウント」から … アカウント というセクション名から
ーー「パスワード」を … パスワード というキー名に格納された値を
ーー取得したもの … 取得したデータを、
ーー「パスワード」という変数に代入します。

ユーザー名を表示する
パスワードを表示する
ーー上記の命令文で、それぞれの変数に代入されたデータを表示します。

「ユーザー名=[ユーザー名][改行]パスワード=[パスワード]」を表示する
ーー二つの変数を一つの文字列にして、改行を入れて表示します。

──────────────────────────────

■参考

リファレンス > ファイル操作 > 設定ファイル
http://rdr.utopiat.net/docs/reference/file/inifile.htm

リファレンス > システム情報取得 > レジストリ
http://rdr.utopiat.net/docs/reference/systeminfo/registry.htm
posted by yanikun at 06:16| Comment(0) | TrackBack(0) | produire

2012年06月11日

設定の保存と呼び出し(設定ファイル) その2

前回のプログラムは、設定の保存と呼び出しの手順を紹介するだけのものでしたので、今回は、もう少し実用的なプログラムの例を紹介します。
「メニュー その他 (その1)」で紹介したプログラムの「ウィンドウ1」のテキスト領域を、右端で折り返して表示するかどうかを設定して、それを反映させるプログラムです。

準備:デスクトップに作成した設定ファイル「settings.ini」を開いて、次のセクション・キー名・値を書き加えて、上書き保存しておいて下さい。ウィンドウの初期化の後に、この設定データを読み込んで起動します。

────────
[テキスト]
折り返し=する
────────

■プログラムの例

──────────────────────────────
「Produire.File.dll」を利用する
アプリ設定という設定ファイルを作る
アプリ設定のファイル名は、「[デスクトップ]settings.ini」

ウィンドウ1を表示する
待機する

ウィンドウ1とは
ウィンドウを継承する

はじめの手順
初期化する
折り返しは、アプリ設定について「テキスト」から「折り返し」を取得したもの
もし、折り返しが「する」なら
テキスト領域1の折り返しを○に変える
他でもし、折り返しが「しない」なら
テキスト領域1の折り返しを×に変える
もし終わり
終わり

初期化する手順
この内部領域大きさを{392、343}に変える
この内容を「ウィンドウ1」に変える

テキスト領域1というテキスト領域を作る
その位置と大きさを{0,30,392,343}に変える
そのドッキング方向を「全体」に変える

メニュー1というメニューを作る
その位置と大きさを{0、0、392、24}に変える
その内容を「メニュー1」に変える

ファイルメニューというメニュー項目をメニュー1へ追加する
その内容を「ファイル(&F)」に変える

開く項目というメニュー項目をメニュー1のファイルメニューへ追加する
その内容を「開く(&O)」に変える
そのショートカットを「Control+O」に変える
そのクリックされた時の手順は、ファイルを開く

閉じる項目というメニュー項目をメニュー1のファイルメニューへ追加する
その内容を「閉じる(&C)」に変える
そのクリックされた時の手順は、閉じる

ツールメニューというメニュー項目をメニュー1へ追加する
その内容を「ツール(&T)」に変える

設定項目というメニュー項目をメニュー1のツールメニューへ追加する
その内容を「設定(&S)」に変える
オプション項目というメニュー項目をメニュー1のツールメニューの設定項目へ追加する
その内容を「オプション設定(&O)」に変える
そのクリックされた時の手順は、オプション

終わり

ーーファイルを開く
ファイルを開く手順
開く画面のフォルダ名を[マイドキュメント]に変える
開く画面のフィルタを、「テキストファイル|*.txt;*.rdr|すべてのファイル|*.*」に変える
開く画面を表示する
もし開く画面のキャンセルなら、手順から抜ける
ファイル名は、開く画面のファイル名
内容は、ファイル名から読み込んだもの
ファイル内容は、[正規表現:内容を「\n」から「[改行]」へ置換したもの]
テキスト領域1の内容を、ファイル内容に変える

終わり

ーー閉じる
閉じる手順
ウィンドウ1を閉じる
終わり

ーーオプション
オプションの手順
設定ウィンドウを表示する
終わり

終わり

ーー設定ウィンドウ
設定ウィンドウとは
ウィンドウを継承する

はじめの手順
初期化する
折り返しは、アプリ設定について「テキスト」から「折り返し」を取得したもの
もし、折り返しが「する」なら
チェックボックス1のチェックを○に変える
他でもし、折り返しが「しない」なら
チェックボックス1のチェックを×に変える
もし終わり
終わり

初期化する手順
この内部領域大きさを{237、213}に変える
この内容を「オプション設定」に変える

チェックボックス1というチェックボックスを作る
その内容を「右端で折り返す」に変える
その位置と大きさを{36、35、118、24}に変える

ボタン1というボタンを作る
その内容を「OK」に変える
その位置と大きさを{36、166、75、23}に変える

ボタン2というボタンを作る
その内容を「キャンセル」に変える
その位置と大きさを{117、166、75、23}に変える

終わり

ーー設定の保存
ボタン1がクリックされた時の手順
もし、チェックボックス1のチェックが○なら、
アプリ設定について「テキスト」で「折り返し」へ「する」を設定する
ウィンドウ1のテキスト領域1の折り返しを○に変える
他でもし、チェックボックス1のチェックが×なら
アプリ設定について「テキスト」で「折り返し」へ「しない」を設定する
ウィンドウ1のテキスト領域1の折り返しを×に変える
もし終わり
自分を閉じる
終わり

ーーキャンセル
ボタン2がクリックされた時の手順
自分を閉じる
終わり

終わり
──────────────────────────────
posted by yanikun at 05:50| Comment(0) | TrackBack(0) | produire