テキスト領域 その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

コメント

このブログの人気の投稿

■アクセシブルな開発環境「日本語プログラミング言語・プロデル」の紹介

ドキュメント検索 と 掲示板

「キュー」と「スタック」 その2