目次

ファイル処理

 ファイル処理に関して、より詳しく説明します。

 Windowsではファイル処理は、入出力の範疇とみなすので
 スレッドで処理します。スレッドを使うので、ソースコード
 中に以下のステートメントを付加します。
    using System.IO;

 Cでは、fopenを利用して、ファイルアクセスを開始します。
 構造体FILEの中に必要な内容を設定しますが、C#ではFileStream
 を利用します。

 FileStreamでは、ファイル名とモードを指定しなければなりません。
 ファイル名は、ファイルパスを含めないとならないので、デフォルト
 のファイルパスを取得します。

 実行ファイルのパス取得に、Application.ExecutablePathを使います。
 この処理では、実行ファイル名まで含んでしまうので、ディレクトリ(パス)
 だけを取り出します。
    gStartDirectory = Path.GetDirectoryName(Application.ExecutablePath) ;

 ディレクトリscstまでを指すように、工夫します。
    int idx ;
    idx = gStartDirectory.IndexOf("\\scst");
    textDir.Text = gStartDirectory.Substring(0, idx + 5);

 一連の処理で、directoryテキストボックスの中に、デフォルトの
 ディレクトリを表示します。



 ディレクトリを、グローバル変数の中に入れたのと同じになります。

 実際にファイルにデータを保存する場合は、ファイル名が必要なので
 ファイル名入力用のテキストボックスを用意します。
 ディレクトリ、ファイル名が確定している場合だけ、ファイルアクセス
 します。

 「Save」ボタンをクリックしたときは、ライト用のStreamWriterを作成
 して、テキストボックスに表示している文字列を一気呵成に保存します。

  StreamWriter sw ;
  // generate and open Wirte File Stream
  sw = new StreamWriter(new FileStream(stxt,FileMode.Create,FileAccess.Write));
  // save context
  sw.Write(this.Text);
  // close 
  sw.Close();

 文字列を含んでいるテキストボックスを、クラス定義しておき
 そのメソッドで、テキストファイルに保存します。
 従って、上のコードは、クラスメソッドとして定義します。

目次

inserted by FC2 system