我们先看下下面文本内容:
;-------------以下内容不可删除--------------- ;[其他列表配置] ;E系统地址=http://www.baidu.com ;封挂列表地址=http://www.baidu.com/fenggua.txt ;补丁列表地址=http://www.baidu.com/up.txt ;套装列表地址=http://www.baidu.com/taozhuang.txt ;内挂过滤列表=http://www.baidu.com/neigua.txt ;-------------以上内容不可删除---------------
“;”在INI文件中是不能识别的,但也会干扰INI的正常读取和写入,今天要讲的就是将以上代码中INI中的数据提出来后如下:
[其他列表配置] E系统地址=http://www.baidu.com 封挂列表地址=http://www.baidu.com/fenggua.txt 补丁列表地址=http://www.baidu.com/up.txt 套装列表地址=http://www.baidu.com/taozhuang.txt 内挂过滤列表=http://www.baidu.com/neigua.txt
我们该怎么做呢,先将原始文本载入TStringlist中,再逐行把需要的信息放入另个TStringlist中后保存。代码如下:
var config:TIniFile; qita_list,temp_list:tstringlist; begin temp_list:=tstringlist.Create; qita_list:=tstringlist.Create; temp_list.LoadFromFile(ExtractFilePath(Application.ExeName)+'1.txt'); qita_list.Add(temp_list.Strings[1]); qita_list.Add(temp_list.Strings[2]); qita_list.Add(temp_list.Strings[3]); qita_list.Add(temp_list.Strings[4]); qita_list.Add(temp_list.Strings[5]); qita_list.Add(temp_list.Strings[6]); temp_list.Free; if pos(';', qita_list.Text) > 0 then qita_list.Text:= StringReplace(qita_list.Text, ';', '', [rfReplaceAll]); qita_list.SaveToFile(ExtractFilePath(Application.ExeName)+'Config.ini'); qita_list.Free; config:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'Config.ini'); edit1.Text:=config.ReadString('其他列表配置','E系统地址',''); edit2.Text:=config.ReadString('其他列表配置','封挂列表地址',''); edit3.Text:=config.ReadString('其他列表配置','补丁列表地址',''); edit4.Text:=config.ReadString('其他列表配置','套装列表地址',''); edit5.Text:=config.ReadString('其他列表配置','内挂过滤列表',''); config.Free; //释放INI
标签:delphi
发表评论