计算机等级考试二级Delphi辅导知识:字符串列表及应用_第2页

考试站(www.examzz.com)   【考试站:中国教育考试第一门户】   2012年12月27日
3.1.1.6 删除列表中的字符串 
  使用Delete方法可以删除指定的字符串。Delete的参数是指定字符串的位置,如果不知道字符串的位置,可使用Indexof方法。
  要删除字符串列表中所有的字符串,可使用Clear方法。
  以下代码删除列表框中的指定字符串: 
  With ListBox1.Items do
  begin
  if Indexof(’bureaucracy’)>-1 then
  Delete (Indexof(’bureaucracy’));
  end; 
  3.1.1.7 复制完整的字符串列表 
  把一个列表复制到另一个列表相当于把源列表赋值给目标列表,即使列表从属于不同的部件,Delphi也可以进行这种复制。
  复制列表将覆盖掉目标列表,如果要把源列表加到目标列表的尾部,使用Addstrings方法。
  以下代码分别为复制列表和连接列表: 
  Outline1.Lines:=ComboBox1.Items;
  Outline1.Addstrings(ComboBox1.Items); 
  3.1.1.8 重复操作列表中的字符串 
  很多情况需要对表中的每一个字符串进行操作,如改变字符串的大小写。象这种重复操作可以用 for 循环来实现,同时使用列表的整数类型的索引。
  以下代码对列表框的字符串进行重复操作。当用户按下按钮时,对列表框中的字符串进行大小写转换。 
  procedure TForm1.Button1Click(Sender: TObject);
  var
  I: Integer;
  begin
  for I := 0 to ListBox1.Items.Count -1 do
  ListBox1.Items[I] := UpperCase(ListBox1.Items[I]);
  end;
  3.1.2 装载、保存字符串列表 
  应用程序可以非常方便的把Delphi字符串列表存入文本文件,或者从文本文件中重新装载(或装入另一个不同的列表),字符串列表有专门的方法处理这类操作。
  使用LoadFromFile方法从文件中装载字符串列表,LoadFromFile从文本文件中把每一行字符串装入列表中。
  把列表保存在文件中使用SaveToFile方法,使用时传递文件名的参数。如果文件不存在,SaveToFile将创建它,否则将用列表覆盖现有文件内容。
  以下代码装入AUTOEXEC.BAT的文件,并以AUTOEXEC.BAK为文件名进行备份。 
  procedure TForm1.FormCreat(sender:TObject);
  var
  FileName:String;
  begin
  FileName:=’C:\AUTOEXEC.BAT’;
  With Memo1 do
  begin
  LoadFromFile(FileName)
  SaveToFile(ChangeFileExt(FileName,’BAK’));
  end;
  end; 
  3.1.3 创建新的字符串列表 
  大多数情况下,应用程序使用的字符串列表是做为部件的某一部分,因此不必创建列表,但Delphi允许创建不依赖部件的字符串列表。
  值得注意的是程序创建的字符串列表必须在使用完之后,释放列表所占用的内存空间。有两种不同的情况需要处理:一是程序以简单的方式创建、使用、释放字符串列表;二是由程序创建,在运行期间均可能使用,在程序终止前释放。这两种情况主要取决于是创建短期字符串列表还是长期字符串列表。 
  3.1.3.1短期字符串列表 
  短期字符串列表用于处理简单事物。程序在同一处创建、使用、释放列表。这是最安全的使用字符串列表的方法。
  因为字符串列表要为自己和它的字符串分配内存,所以要用try..finally对列表进行保护,以确保发生异常后释放列表所占用的内存空间。
  创建短期字符串列表的基本步骤为:
  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;

相关文章