16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"TListでRecordを保持する"
TListでレコード型を保持する方法です。
一つのprocedure内だけで使うなら以下のような感じ、
プログラムを通して使うなら、 型の宣言は interface部
var はTForm1のPrivateなどでして、TList.createはform1Create
解放は form1Destroy で行うのが一般的です。
データの使用はTListが見えているところならどこでもOKですね。
type //オリジナルのレコード型
TMyrec=Record
name:string;
ID:integer;
end;
//レコード型のポインタの型を設定しておく
PMyRec=^TMyRec;
var
List:TList;
i:integer;
myrec:PMyRec;
begin
//まずはListをCreate
List:=TList.create;
//データサンプルを作成してListに持ってもらう
for i:= 0 to 99 do
begin
new(myrec);
myrec^.name:=intToStr(random(100000));
myrec^.ID:=i;
List.add(myrec);
end;
//データの使用例
for i:= 0 to List.Count-1 do
begin
ListBox1.items.add(IntToStr(PMyRec(List[i])^.ID)+
'番目のレコードの名前は'+
PMyRec(List[i])^.name);
end;
//使い終わったら必ず個々のデータも TListも 解放
for i:= 0 to List.count-1 do dispose(PMyRec(List[i]));
List.free;
end;
☆☆☆ かわいいコードにゃ旅をさせよう いざサンプル蔵へ!! ☆☆☆
98/12/03(木) 09:05 凛(MXB01744)
Original document by 凛 氏 ID:(MXB01744)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|