怎样将TStringList中的一个记录型数据读出来?(80分)

Z

zfine

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure MainForm.Button1Click(Sender: TObject);
var
A,B:TStringList;//定义两个TStringList;
MyRec,YouRec:^TRec;//记录类型数据
ms:TStream;
begin
New(MyRec);
Myrec.a :=Edit3.text;//记录赋值
Myrec.b :=Edit4.text;//
A:=TStringList.Create;
A.AddObject('ClientData',TObject(MyRec));//将记录型数据MyRec装载到TSTringList A中
ms:=TStringstream.Create('');
ms.Position :=0;
A.SaveToStream(ms);//TStingList A保存到流中
B:=TStringList.Create;
ms.Position :=0;
B.LoadFromStream (ms);// TStringList B 从流中装载
New(YouRec);
YouRec:=Pointer(B.Objects[B.IndexOf('ClientData')] );//从TstringList B 中读记录
if YouRec=Nil then
ShowMessage('NO Rec!');//总是弹出这个提示;
Edit1.text:=youRec.a ;//到这里出错
Edit2.text:=YouRec.b ;//出错
end;

上述代码中,不知到什么地方错了..
如果还从原来的TStringList A中读记录数据又不会出错..怪!
希望大家给予帮助!谢谢
 
A.AddObject('ClientData',TObject(MyRec));//将记录型数据MyRec装载到TSTringList A中
YouRec:=Pointer(B.Objects[B.IndexOf('ClientData')] );//从TstringList B 中读记录
这两个语句有问题。
 
多人接受答案了。
 
顶部