« ☆ArrayListを使ったクラス | トップページ | ■IDE 日本語入力の不具合? »

☆TMyListの使用例

[Windowsフォームアプリケーション]
☆ArrayListを使ったクラスで作成したTMyListの使用例です。
Button1をクリックすると、テストデータを作成して、ファイルに書き込みます。
Button2をクリックすると、ファイルからデータを読み込んでListViewに設定します。

 1.Windowsフォームアプリケーションを新規作成します。
 2.Button1, Button2, ListView1を配置します。
 3.フォームのPrivate宣言に
    MyList: TMyList;
   と記述します。
 4.下記の通りプログラムを記述します。

constructor TWinForm1.Create;
begin
 (略)
 MyList := TMyList.Create;

 //ListViewの設定
 ListView1.View := View.Details;
 ListView1.Columns.Add('No', 50, HorizontalAlignment.Center);
 ListView1.Columns.Add('Name', 200, HorizontalAlignment.Left);
end;

//SaveToFile
procedure TWinForm1.Button1_Click(sender: System.Object;
 e: System.EventArgs);
var
 I: Integer;
begin
 //ダミーデータの作成
 for I := 0 to 9 do
  MyList.Add(TMyItem.Create(I, 'Item'+Convert.ToString(I)));
 MyList.SaveToFile('c:\abc.dat');
end;

//LoadFromFile
procedure TWinForm1.Button2_Click(sender: System.Object;
 e: System.EventArgs);
var
 I: Integer;
 LI: ListViewItem;
begin
 MyList.LoadFromFile('c:\abc.dat');
 ListView1.Items.Clear;
 for I := 0 to MyList.Count -1 do
 begin
  LI := ListView1.Items.Add(Convert.ToString(MyList[I].No));
  LI.SubItems.Add(MyList[I].Item);
 end;
end;

※SaveToFileは2回目に実行したときにエラーになります。
 これに対応するためには、TMyListの procedure SaveToFile中の下記部分を変更します。
//fs := FileStream.Create(FILENAME, FileMode.CreateNew);
  fs := FileStream.Create(FILENAME, FileMode.Create);
  (FileMode.CreateNewではなく、FileMode.Createとします。)

|

« ☆ArrayListを使ったクラス | トップページ | ■IDE 日本語入力の不具合? »