我需要保存我的网格设置,如列位置和大小、表单位置和大小,以及其他设置,这样当用户重新打开表单时,他们会看到相同的布局。
现在我将此设置保存在一个字符串中。像这样的东西
“STOCK_FORM:GRID1:COL1->20;STOCK_FORM:GRID1:COL2->50;”
但这不容易阅读和设置。有没有更好的办法?我应该使用xml吗?xml性能如何?
我很想听听其他人通常如何做到这一点。
提前致谢。很抱歉我的英语不好。
问候, 雷纳尔迪
我需要保存我的网格设置,如列位置和大小、表单位置和大小,以及其他设置,这样当用户重新打开表单时,他们会看到相同的布局。
现在我将此设置保存在一个字符串中。像这样的东西
“STOCK_FORM:GRID1:COL1->20;STOCK_FORM:GRID1:COL2->50;”
但这不容易阅读和设置。有没有更好的办法?我应该使用xml吗?xml性能如何?
我很想听听其他人通常如何做到这一点。
提前致谢。很抱歉我的英语不好。
问候, 雷纳尔迪
您可以将设置写入 Ini 文件。
这是一个例子
Try This :
public
Public declarations }
constructor Create(AOwner: TComponent); override; // (1)
procedure BeforeDestruction; override; // (2) }
procedure TForm1.BeforeDestruction;
begin
inherited;
with TFileStream.Create(PreservePath + ClassName + '.sav', fmCreate) do
try
WriteComponent(Self);
finally
Free;
end;
constructor TForm1.Create(AOwner: TComponent);
begin
PreservePath := ExtractFilePath(Application.ExeName) +
'Preserve';
if not DirectoryExists(PreservePath) then
CreateDir(PreservePath);
PreservePath := PreservePath + '\';
if FileExists(PreservePath + ClassName + '.sav') then
begin
CreateNew(AOwner, 0);
with TFileStream.Create(PreservePath + ClassName + '.sav',
fmOpenRead or fmShareDenyWrite) do
try
ReadComponent(Self);
finally
Free;
end;
end
else
inherited Create(AOwner);
end;