Delphi字符串列表及应用(二)

 我来答
世纪网络17
2022-09-27 · TA获得超过5950个赞
知道小有建树答主
回答量:2426
采纳率:100%
帮助的人:142万
展开全部

   重复操作列表中的字符串 

  很多情况需要对表中的每一个字符串进行操作 如改变字符串的大小写 象这种重复操作可以用 for 循环来实现 同时使用列表的整数类型的索引

  以下代码对列表框的字符串进行重复操作 当用户按下按钮时 对列表框中的字符串进行大小写转换  

  procedure TForm Button Click(Sender: TObject);  var  I: Integer;  begin  for I := to ListBox Items Count do  ListBox Items[I] := UpperCase(ListBox Items[I]);  end;

   装载 保存字符串列表 

  应用程序可以非常方便的把Delphi字符串列表存入文本文件 或者从文本文件中重新装载(或装入另一个不同的列表) 字符串列表有专门的方法处理这类操作

  使用LoadFromFile方法从文件中装载字符串列表 LoadFromFile从文本文件中把每一行字符串装入列表中

  把列表保存在文件中使用SaveToFile方法 使用时传递文件名的参数 如果文件不存在 SaveToFile将创建它 否则将用列表覆盖现有文件内容

  以下代码装入AUTOEXEC BAT的文件 并以AUTOEXEC BAK为文件名进行备份  

  procedure TForm FormCreat(sender:TObject);  var  FileName:String;  begin  FileName:= C:\AUTOEXEC BAT ;  With Memo do  begin  LoadFromFile(FileName)  SaveToFile(ChangeFileExt(FileName BAK ));  end;  end;    创建新的字符串列表 

  大多数情况下 应用程序使用的字符串列表是做为部件的某一部分 因此不必创建列表 但Delphi允许创建不依赖部件的字符串列表

  值得注意的是程序创建的字符串列表必须在使用完之后 释放列表所占用的内存空间 有两种不同的情况需要处理 一是程序以简单的方式创建 使用 释放字符串列表 二是由程序创建 在运行期间均可能使用 在程序终止前释放 这两种情况主要取决于是创建短期字符串列表还是长期字符串列表  

   短期字符串列表 

  短期字符串列表用于处理简单事物 程序在同一处创建 使用 释放列表 这是最安全的使用字符串列表的方法

  因为字符串列表要为自己和它的字符串分配内存 所以要用try finally对列表进行保护 以确保发生异常后释放列表所占用的内存空间

  创建短期字符串列表的基本步骤为

   构造字符串列表对象

   在try finally块中使用列表

   在finally后释放列表空间

  以下代码创建列表 使用列表 最后释放列表空间  

  procedure TForm Button Click(Sender:Tobject);  var  TemList:TStrings;  begin  Templist:=TStringList Create;  try  { use the string list }  finally  Templist Free;  end;  end;    长期字符串列表 

  如果要在程序运行的任何时候使用字符串列表 则需在程序开始运行时就创建列表 并在程序终止前释放

  运行时创建字符串列表的步骤为

   在程序主窗体对象的域中加入TStringsList类型的域

   在主窗体的OnCreate事件中创建句柄 该事件句柄在主窗体显示前运行

   在创建事件句柄后 创建字符串列表对象

   在主窗体的OnDestroy事件创建句柄 该事件句柄在主窗体消失之前运行

  这样 在程序运行过程中 任何过程 事件均能访问该字符串列表

  以下代码在程序中加入了一个Clicklist的字符串列表 用户每按一次鼠标键 程序往Clicklist中加入一字符串 程序结束前把该列表存入文件  

lishixinzhi/Article/program/Delphi/201311/24799

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式