製作的回答只是爲了顯示正確格式化形式的代碼示例
閱讀:
所以,你的代碼將成爲像
const ini_def_sect = 'Default Section';
procedure TForm1.Button3Click(Sender: TObject);
var
F: TCustomIniFile;
begin
SaveDialog1.Filter := 'GPP files (*.GPP)|*.GPP';
if SaveDialog1.Execute then
begin
F := TIniFile.Create(SaveDialog1.Filename);
try
F.WriteString(ini_def_sect, label7.Name, label7.Caption);
F.WriteString(ini_def_sect, label21.Name, label21.Caption);
F.WriteBool(ini_def_sect, radiobutton1.Name, radiobutton1.Checked);
F.UpdateFile;
finally
F.Destroy;
end;
end;
end;
或者在VCL與基於風格(很多人不喜歡,他們不喜歡帕斯卡爾with
語句)
const ini_def_sect = 'Default Section';
procedure TForm1.Button3Click(Sender: TObject);
begin
SaveDialog1.Filter := 'GPP files (*.GPP)|*.GPP';
if SaveDialog1.Execute then
begin
with TIniFile.Create(Savedialog1.Filename) do
try
WriteString(ini_def_sect, label7.Name, label7.Caption);
WriteString(ini_def_sect, label21.Name, label21.Caption);
WriteBool(ini_def_sect, radiobutton1.Name, radiobutton1.Checked);
UpdateFile;
finally
Destroy;
end;
end;
end;
而且你真的真的應該給你的變量(包括標籤,表單,單選按鈕等)合理的名稱,而你仍然可以記住一些有關這些都意味着什麼。相信我 - 一個月或兩個月,你會忘記。
PS:讀取結構文件就應該像這樣
procedure TMainForm.btnOpenClick(Sender: TObject);
begin
OpenDialog1.Filter := 'GPP files (*.GPP)|*.GPP';
if OpenDialog1.Execute then
begin
with TIniFile.Create(OpenDialog1.Filename) do
try
label7.Caption := ReadString(ini_def_sect, label7.Name, '');
label21.Caption := ReadString(ini_def_sect, label21.Name, '');
radiobutton1.Checked := ReadBool(ini_def_sect, radiobutton1.Name, False);
finally
Destroy;
end;
end;
end;
你有更大的問題。就像你沒有命名你的控件一樣。事實上,你不使用try/finally。您正在使用非結構化文件格式的事實。 –
我必須保存單選按鈕的狀態,我的意思是如果選中或取消選中...也許有另一種簡單的方法來保存我的日期在外部文件? –
使用ini文件或xml文件來保存狀態。 –