全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1647
推到 Plurk!
推到 Facebook!

TStringList如何每個string皆有對應的一個結構(使用addobject)

答題得分者是:careychen
17kobe
初階會員


發表:86
回覆:73
積分:31
註冊:2007-07-30

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-08-13 17:10:24 IP:210.68.xxx.xxx 訂閱

[code delphi]
[/code]
type
Rec = record
aa : integer;
bb : string;
cc : string;

var
ts : TStringList;

begin
ts := TStringList.create;

ts.addObject('1',???);
ts.addObject('2',???);

//還有要如何來釋放

ts.free;
end;

careychen
尊榮會員


發表:41
回覆:580
積分:959
註冊:2004-03-03

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-08-14 13:48:21 IP:218.210.xxx.xxx 訂閱
HI~~,請參考下面的方式

請拉三個 button 和一個 Memo ,再把程式碼貼上

[code delphi]
type
PRec = ^TRec;
TRec = record
aa: Integer;
bb: String;
cc: String;
end;

var
ts : TStringList;


procedure TForm1.Button1Click(Sender: TObject);
var PTmpRec: PRec;
I: Integer;
begin
// 建立 10 個 Record
for I := 1 to 10 do
begin
pTmpRec := New(PRec);
pTmpRec.aa := I;
pTmpRec.bb := 'bb' IntToStr(I);
pTmpRec.cc := 'cc' IntToStr(I);
ts.AddObject('ID' IntToStr(I), TObject(pTmpRec));
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var I: Integer;
begin
// 讀出 10 個 Record 並放到 Memo 上
Memo1.Lines.Clear;
for I := 0 to ts.Count - 1 do
Memo1.Lines.Add(ts.Strings[I] ' aa=' IntToStr(pRec(ts.Objects[I]).aa)
' bb=' pRec(ts.Objects[I]).bb
' cc=' pRec(ts.Objects[I]).cc);
end;
procedure TForm1.Button3Click(Sender: TObject);
var I: Integer;
begin
// Free 掉 ts 裡的東東
for I := 0 to ts.Count - 1 do
Dispose(PRec(ts.Objects[I]));
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
// Create ts
ts := TStringList.Create;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
// Free ts
FreeAndNil(ts);
end;
[/code]
------
價值的展現,來自於你用哪一個角度來看待它!!
系統時間:2024-05-03 5:25:34
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!