2012年11月12日

「送る」メニューとドラッグ&ドロップ その1

プログラムにファイルを読み込む方法には、プログラムを起動して、ボタンやプルダウンメニューから読み込む方法と、「送る」メニューやドラッグ&ドロップで読み込む方法があります。ここでは、「送る」メニューとドラッグ&ドロップで読み込む方法について説明いたします。
ドラッグ&ドロップは、視覚障害者にはあまり縁がないかもしれませんが、「送る」メニューと手順が同じなので、合わせて紹介します。
また、将来的に、一般に自作ソフトを公開する時に必要になる可能性もあります。晴眼者のユーザーは、ドラッグ&ドロップによる簡便な操作性を好む傾向がありますので。

なお、ここで言うドラッグ&ドロップは、デスクトップなどに作成したプログラムのショートカットアイコンに、Explorerなどからドラッグ&ドロップして、プログラムを起動し、同時にファイルの一覧や、ファイルの内容を読み込む処理を指しています。
ただ、ついでということで、プログラムを起動してから、リストボックスやテキスト領域などにファイルの一覧や内容を読み込む処理についても説明してあります。

※プロデルの命令文では、ドラッグ&ドロップを、「&」を抜いて「ドラッグドロップ」と記述するようになっています。これは、プロデルの文法上、「&」の扱いが微妙な意味を持っているためだと思われます。

■起動時設定

「送る」メニューとドラッグ&ドロップでファイルを読み込むには、「起動時設定」という手順を使います。
起動時設定というのは、プログラムが起動した時に渡される情報(パラメータ)のことです。情報は、配列の形で渡されます。
プログラムの例は、ファイルの一覧を Explorerからリストボックスに追加するものと、テキストファイルの内容を読み込むものの二つを用意しました。

※「送る」メニューのプログラムを検証する時は、デザイナの「ファイル」メニューから「実行可能ファイルの作成」を実行して、.exe形式の実行ファイルを作成し、そのショートカットを「送る sendto」フォルダに登録してから、検証して下さい。

■プログラムの例と説明 その1
 リストボックスにファイル一覧を読み込む

──────────────────────────────
「Produire.WinControl.dll」を利用する
ウィンドウ1を表示する
待機する

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

はじめの手順
初期化する
もし、(プログラムの起動時設定)が無でないなら
ーープログラムの起動時に渡される情報があるかないかを判断して
ーー「無でないなら」、つまり、情報があるなら、次の命令文を実行します。

配列は、プログラムの起動時設定
ーー起動時設定の情報、つまり、ファイルの一覧を
ーー配列という変数に入れます。
ーーこの情報は、もともと配列の形になっているので、
ーー別の変数名を使ってもかまいません。 例:ファイルの一覧

配列を、リストボックス1に追加する
ーーファイルの一覧を、リストボックス1に追加します。

もし終わり
終わり

初期化する手順
この内部領域大きさを{226、271}に変える
この内容を「ウィンドウ1」に変える
このドラッグドロップを○に変える
ーーこの命令文によって、ショートカットアイコンに Explorerなどから
ーードロップしたファイルの一覧を読み込んだ形で起動することが可能になります。

ラベル1というラベルを作る
その内容を「ファイル一覧」に変える
その位置と大きさを{13、24、39、12}に変える

リストボックス1というリストボックスを作る
その項目高さを12に変える
その位置と大きさを{13、39、200、208}に変える
そのドラッグドロップを○に変える
ーーこの命令文によって、プログラムを起動した後に、
ーーExplorerなどから、リストボックスにドラッグ&ドロップすると、
ーーファイルの一覧を追加することが可能になります。

終わり

リストボックス1がドラッグドロップされた時の手順
ーープログラムを起動し、ウィンドウを表示させてから、
ーーExplorerなどから、選択したファイルをドラッグして、
ーーリストボックス1にドロップした時の手順です。

一覧は、イベントのファイル一覧
ーーイベントは、この場合、ドラッグドロップを指し、
ーーリストボックス1にドラッグドロップされたファイルの一覧を、
ーー一覧という変数に入れます。

一覧を要素にそれぞれ繰り返す
ーーこの部分の手順については、「リストビュー」の記事を参照して下さい。
ーーhttp://talk-pc.sblo.jp/article/55861412.html

要素を、リストボックス1に追加する
繰り返し終わり
終わり

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

■参考

リファレンス > 基本機能 > プログラム
http://rdr.utopiat.net/docs/reference/core/program.htm
posted by yanikun at 15:14| Comment(0) | TrackBack(0) | produire

「送る」メニューとドラッグ&ドロップ その2

ウィンドウに、テキスト領域を作成して、そこにテキストファイルの内容を読み込んで起動するプログラムです。
※このプログラムは、「メニュー」の記事で使用したものの流用です。

■プログラムの例と説明 その2
 テキスト領域に、テキストファイルの内容を読み込む

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

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

はじめの手順
初期化する
もし、(プログラムの起動時設定)が無でないなら
配列は、プログラムの起動時設定
ファイル名は、配列(1)
ーー起動時設定は、配列の形で取得されますので、要素の番号を指定します。
ーーまた、テキストファイルの場合、読み込めるファイルは一つなので、
ーーユーザーが、誤ってファイルを複数選択するケースを想定して
ーー選択されたファイルの一番目に絞る意味もあります。

文章は、ファイル名から読み込んだもの
テキスト領域1へ、文章を挿入する
ーーこの場所では、「テキスト領域1の内容を〜に変える」という
ーー命令文はエラーになりますので、「挿入」手順を使っています。

もし終わり
終わり

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

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

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

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

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

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

終わり

ーードラッグドロップ
テキスト領域1がドラッグドロップされた時の手順
一覧は、イベントのファイル一覧
ファイル名は、一覧(1)
文章は、ファイル名から読み込んだもの
テキスト領域1の内容を、文章に変える
終わり

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

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

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

2012年11月13日

ブログの原稿(テキストファイル)をアップロードしました

このブログについて、ブログの形では読みにくい、扱いにくい、というご意見をいただきました。そこで、これまでのブログの原稿(テキストファイル)を、まとめてアップロードすることにしました。

下記のURLからダウンロードしていただけます。
※注:ダウンロード直リンクになっていて、いきなり、ブラウザとダウンロードのダイアログが開きます。

http://talk-pc.sakura.ne.jp/blog-produire.zip

ダウンロードして保存した圧縮ファイルを解凍すると、
「Blog-音声ユーザーのための「日本語プログラミング言語・プロデル」入門 」
というフォルダが入っています。
フォルダを開く戸、その中に、ブログの記事 一回分が、一つのファイルになっています。
posted by yanikun at 10:38| Comment(0) | TrackBack(0) | produire