谁可以教教我怎么 delphi 保存 组件 属性 到文件里呢?
谁可以教教我怎么 delphi 保存 组件 属性 到文件里呢?
需要的时候直接调用,就可以恢复出来,有人跟我说用流的方式保存之类,不过我不是很明白,希望会的人可以教教我,
我QQ,1294634972,加我更好啊,谢谢啦!
谁可以教教我怎么 delphi 保存 组件 属性 到文件里呢?
需要的时候直接调用,就可以恢复出来,有人跟我说用流的方式保存之类,不过我不是很明白,希望会的人可以教教我,
我QQ,1294634972,加我更好啊,谢谢啦!
ReadComponent
帮助中就带例子
WriteComponent
ReadComponent 在哪?只找到一个Write Component Template,还不是我需要的,
回归正题,,
delphi 保存 组件 属性 到文件里呢?
需要的时候直接调用,就可以恢复出来,有人跟我说用流的方式保存之类,不过我不是很明白,希望会的人可以教教我,
procedure SaveToFile(fileName:TFileName; myComp: Array of TComponent; Count: DWORD);
var
Stream: TFileStream;
ClassName: array[0..255] of Char;
I,ClassNameLen: Integer;
begin
Stream := TFileStream.Create(Filename, fmCreate or fmShareExclusive);
try
{Count为保存数}
Stream.Write(Count, SizeOf(Count));
{开始保存 }
for I := 0 to Count - 1 then
begin
ClassNameLen := Length(myComp[I].ClassName) + 1;
StrPCopy(ClassName, myComp[I].ClassName);
Stream.Write(ClassNameLen, SizeOf(ClassNameLen));
Stream.Write(ClassName, ClassNameLen);
Stream.WriteComponent(myComp[I]);
end;
finally
Stream.Free;
end;
end;//读取过程
procedure LoadFromFile(fileName:TFileName);
var
Count: DWORD;
Stream: TFileStream;
ClassName: array[0..255] of Char;
I,ClassNameLen: Integer;
begin
Stream := TFileStream.Create(Filename, fmOpenRead or fmShareDenyWrite);
try
{读取保存数}
Stream.Read(Count, SizeOf(Count));
for I := 0 to Count - 1 then
begin
Stream.Read(ClassNameLen, SizeOf(ClassNameLen));
Stream.Read(ClassName, ClassNameLen);
if ClassName = 'AClass' then
begin
AClass := TAClass.create(nil);
Stream.ReadComponent(AClass);
end
else if ClassName = 'BClass' then
begin
BClass := TBClass.create(nil);
Stream.ReadComponent(BClass);
end
else if .. then
...
end;
end;
finally
Stream.Free;
end;
end;