LoadFromFile 從文字檔逐行載入;SaveToFile 寫入檔案(不存在則建立,存在則覆寫)。範例:備份 AUTOEXEC.BAT:
procedure TForm1.FormCreate(Sender: TObject);
var FileName: String;
begin
FileName := 'C:\AUTOEXEC.BAT';
with Memo1 do
begin
LoadFromFile(FileName);
SaveToFile(ChangeFileExt(FileName, '.BAK'));
end;
end;
非元件內建列表需手動建立/釋放。分兩種生命週期:
同一程序建立、使用、釋放。必須用 try...finally 保護,確保例外發生時仍能釋放記憶體:
procedure TForm1.Button1Click(Sender: TObject);
var TempList: TStrings;
begin
TempList := TStringList.Create;
try
// 使用列表...
finally
TempList.Free;
end;
end;
於主表單 OnCreate 建立,OnDestroy 釋放,宣告為表單欄位(field):
type
TForm1 = class(TForm)
public
ClickList: TStrings; // 欄位宣告
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
ClickList := TStringList.Create;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
ClickList.SaveToFile(ChangeFileExt(Application.ExeName, '.LOG'));
ClickList.Free;
end;
procedure TForm1.FormMouseDown(...);
begin
ClickList.Add(Format('Click at (%d, %d)', [X, Y]));
end;
記錄滑鼠點擊座標至列表,程式結束自動存檔。此模式適用於全域共享資料。