テキスト領域 その2
2012年5月7日 追記(修正):
■ファイルを開くダイアログボックスから読み込む
の所で、
────────────────────
もし開く画面のキャンセルなら、終了する
────────────────────
というのは間違いで、これだとプログラム自体が終了してしまいます。
正しくは、
──────────────────────
もし開く画面のキャンセルなら、手順から抜ける
──────────────────────
と書かなくてはいけませんでした。
これだと、ファイルを開く手順だけがキャンセルされて、プログラム自体はそのまま動きます。
──ここから、元の記事──
前回の「テキスト領域」に関連したプログラムの手順を説明します。
■テキストファイルから内容を読み込む
既存のファイルから内容を読み込んで、テキスト領域に表示してみます。
前回のプログラムの一部を、次のように書き替えます。
※注意:プログラムが途中で改行されて表示され、本来の行の中に改行記号が挿入されている場合は、改行記号を削除して実行して下さい。
────────────────────
ボタン1がクリックされた時の手順
ファイル内容は、「[マイドキュメント]example.txt」から読み込んだもの
テキスト領域1の内容を、ファイル内容に変える
終わり
────────────────────
「[マイドキュメント]example.txt」のファイル名は、適当に変えて下さい。基本的にはフルパスで指定しますが、以前 触れたように、プロデルでは、Windowsの基本的なフォルダ デスクトップ マイドキュメント などを、省略した形で表記することが出来ますので、ここでは [マイドキュメント] と書いています。
上記の例では、マイドキュメントの中の「example.txt」というファイルを指定していることになります。フルパスで書けば「D:\Documents\example.txt」となります(フォルダとファイルの名前はひとつの例)。
なお、通常 フォルダ名の最後には \ が付きますが、[マイドキュメント] には、そこまで含まれています。
※注意:[マイドキュメント]と、全角の [ ] で括っている理由を説明しておきます。
プロデルでは、文字列は 「 」 で括ることになっています。
──────────
内容は、「こんにちは」
──────────
というふうに書くと、データは こんにちは という文字列(の種類)である、と宣言したことになり、同時に「内容」という変数にデータが格納されます。
逆に言うと 「 」 で括られた文字は、全て「文字列」として扱われることになります。そのため、マイドキュメント という文字列を [ ] で括らないと、単に「マイドキュメント」という文字列として処理され、フォルダとしてのマイドキュメ
ントを指示することが出来なくなります。
そのため 「 」 の中で、この 特定のフォルダの指定 を行なう場合は [ ] で括る必要があります。
また、フォルダの指定だけでなく、他の変数を 「 」 の中に入れて使う場合も、
必ず [ ] で括る必要があります。
────────────────────
ファイル内容は、「[マイドキュメント]example.txt」から読み込んだもの
ーー「ファイル内容」が変数名で、そこにデータを代入しています。
ーーデータはこの場合、マイドキュメントの中の example.txt
ーーというファイルの内容を読み込んだテキストデータになります。
ーーファイル名(パス)を記述するときは 「 」 で括ります。
テキスト領域1の内容を、ファイル内容に変える
ーーここでの「内容」は、テキスト領域に表示するデータという意味になります。
ーー「ファイル内容」は、この上の行で代入した変数です。
ーー変数には example.txt のデータが格納されていますので、
ーーそのデータが、テキスト領域に表示されます。
■ファイルを開くダイアログボックスから読み込む
上に挙げた例だと、一つのファイルしか読み込むことが出来ません。そこで、Windows標準の「ファイルを開く」ダイアログボックスを表示して、任意のファイルを そこから開く手順を紹介します。なお、プロデルでは、このダイアログボックスを「開く画面」と記述します。
────────────────────
ボタン1がクリックされた時の手順
開く画面のフォルダ名を[マイドキュメント]に変える
開く画面のフィルタを、「テキストファイル|*.txt;*.rdr|すべてのファイル|*.*」に変える
開く画面を表示する
もし開く画面のキャンセルなら、終了する
ファイル名は、開く画面のファイル名
ファイル内容は、ファイル名から読み込んだもの
テキスト領域1の内容を、ファイル内容に変える
終わり
────────────────────
■上のプログラムの説明
開く画面のフォルダ名を[マイドキュメント]に変える
ーーダイアログボックスが表示された時に、最初に開いているフォルダを、
ーーマイドキュメントに指定しています。
開く画面のフィルタを、「テキストファイル|*.txt;*.rdr|すべてのファイル|*.*」に変える
ーーこのダイアログボックスで開くことの出来るファイルの種類(拡張子)を
ーーここで指定しています。
開く画面を表示する
ーー上記のプログラムで指定した内容で、ダイアログボックスを
ーー表示するように、という命令文です。
もし開く画面のキャンセルなら、終了する
ーーユーザーが Escapeキーを押した時は、この手順を終了し、
ーーダイアログボックスを閉じるように、という命令文です。
ファイル名は、開く画面のファイル名
ーーダイアログボックスの ファイル名のボックスに入力された内容を、
ーーファイル名 という変数に代入しています。
ーー普通は、ユーザーがダイアログボックスを操作して、
ーー既存のファイル名から選択します。
ファイル内容は、ファイル名から読み込んだもの
ーーファイル名(に格納された 既存のファイル名)から読み込んだデータを、
ーーファイル内容 という変数に代入しています。
テキスト領域1の内容を、ファイル内容に変える
ーー上で代入したデータを、テキスト領域に表示します。
■参考
リファレンス > データ型 > 文字列
http://rdr.utopiat.net/docs/reference/primitive/string.htm
リファレンス > 基本機能 > 開く画面
http://rdr.utopiat.net/docs/reference/core/dialog/opendialog.htm
コメント
コメントを投稿