创建短期字符串列表的基本步骤为:
1. 构造字符串列表对象;
2. 在try..finally块中使用列表;
3. 在finally后释放列表空间。
以下代码创建列表、使用列表、最后释放列表空间:
procedure TForm1.Button1Click(Sender:Tobject);
var
TemList:TStrings;
begin
Templist:=TStringList.Create;
try
{ use the string list }
finally
Templist.Free;
end;
end;
长期字符串列表
如果要在程序运行的任何时候使用字符串列表,则需在程序开始运行时就创建列表,并在程序终止前释放。
运行时创建字符串列表的步骤为:
1. 在程序主窗体对象的域中加入TStringsList类型的域;
2. 在主窗体的OnCreate事件中创建句柄,该事件句柄在主窗体显示前运行;
3. 在创建事件句柄后,创建字符串列表对象;
4. 在主窗体的OnDestroy事件创建句柄,该事件句柄在主窗体消失之前运行。
这样,在程序运行过程中,任何过程、事件均能访问该字符串列表。
以下代码在程序中加入了一个Clicklist的字符串列表,用户每按一次鼠标键,程序往Clicklist中加入一字符串,程序结束前把该列表存入文件。
unit Unit1;
interface
uses WinTYpes, WinProcs, Classes, Graphics, Forms, Controls, Apps;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FormMouseDown(Sender: TObject
Button: TMouseButton;
Shift: TShiftState
X, Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
ClickList: TStrings; {declare the field}
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
ClickList := TStringList.Create; {construct the list}
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
ClickList.SaveToFile(ChangeFileExt(Application.ExeName, '.LOG'));
{save the list}
ClickList.Free; {destroy the list object}
end;
procedure TForm1.FormMouseDown(Sender: TObject
Button: TMouseButton;
Shift: TShiftState
X, Y: Integer);
begin
ClickList.Add(Format('Click at (%d, %d)', [X, Y])); {add a
string to the list}
end;
end.
千万别忘了free!