☆TListを使ったリスト No3
それではMySampleClassesが、きちんと動作しているかどうか確かめてみます。
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, MySampleClasses; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Memo1: TMemo; procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private 宣言 } public { Public 宣言 } MyBookList1, MyBookList2: TMyBookList; end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin MyBookList1 := TMyBookList.Create; MyBookList2 := TMyBookList.Create; end; procedure TForm1.FormDestroy(Sender: TObject); begin MyBookList1.Free; MyBookList2.Free; end; // test1 procedure TForm1.Button1Click(Sender: TObject); var I: Integer; S1, S2: String; begin MyBookList1.Clear; MyBookList2.Clear; // MyBookList1に追加 MyBookList1.Add(TMyBook.Create('Delphi オブジェクト指向プログラミング','塚越一雄')); MyBookList1.Add(TMyBook.Create('delphi-fan','hiderin')); MyBookList1.Add(TMyBook.Create('コンピュータ・アルゴリズム事典','奥村晴彦')); // MyBookList1から削除 MyBookList1.Delete(1); // delphi-fan // MyBookList1に挿入 MyBookList1.Insert(0,TMyBook.Create('Delphi6プログラミングバイブル','Marco Cantu')); // MyBookList2にMyBookList1のデータをコピーする。 MyBookList2.Assign(MyBookList1); // MyBookList2にきちんとコピーされたか確認する。 Memo1.Lines.Clear; for I := 0 to MyBooKList2.Count - 1 do begin S1 := MyBookList2[I].BookName; S2 := MyBookList2[I].Author; Memo1.Lines.Add(Concat(S1, #9, S2)); end; end; // test2 procedure TForm1.Button2Click(Sender: TObject); var I: Integer; S1, S2: String; begin // SaveToFile---Stream関係をチェックする。 MyBookList2.SaveToFile('c:\aaa.dat'); // LoadFromFile---Stream関係をチェックする。 MyBookList1.LoadFromFile('c:\aaa.dat'); // ファイルから読み込みできたかチェックします。 Memo1.Lines.Clear; for I := 0 to MyBooKList1.Count - 1 do begin S1 := MyBookList1[I].BookName; S2 := MyBookList1[I].Author; Memo1.Lines.Add(Concat(S1, #9, S2)); end; end; end.一応、動作しているようですね。でも、『TListを使ったリスト No1~No3』まで夜中に一気に適当に書いたので、どこかに間違いがあるかも知れないので気をつけて下さい(笑)
又、専用の追加メソッドを作れば、いちいちTMyBookを生成させなくてもBookNameとAuthorを追加できますね。 いろいろな方法、いろいろな形で作ることができるので、アプリに最適なものを考えていけばよいと思います。
☆TListを使ったリスト No1
☆TListを使ったリスト No2
☆TListを使ったリスト No3
| 固定リンク