可以使用tinifile中的deletekey删除关键字
---- 除了可用写入方法增加一个关键字,Tinifile类还提供了一个删除关键字的对象方法:myinifile.DeleteKey(`小节名`,`关键字`); 大方一点都给了!
INI文件在系统配置及应用程序参数保存与设置方面,具有很重要的作用,所以可视
化的编程一族,如VB、VC、VFP、Delphi等都提供了读写INI文件的方法,其中Delphi中操
作INI文件,最为简洁,这是因为Delphi3提供了一个TInifile类,使我们可以非常灵活的
处理INI
文件。
一、有必要了解INI文件的结构:
;注释
[小节名]
关键字=值
...
---- INI文件允许有多个小节,每个小节又允许有多个关键字, “=”后面是该关键字的
值。
---- 值的类型有三种:字符串、整型数值和布尔值。其中字符串存贮在INI文件中时没有
引号,布尔真值用1表示,布尔假值用0表示。
---- 注释以分号“;”开头。
二、定义
---- 1、在Interface的Uses节增加IniFiles;
---- 2、在Var变量定义部分增加一行:
myinifile:Tinifile;
---- 然后,就可以对变量myinifile进行创建、打开、读取、写入等操作了。
三、打开INI文件
myinifile:=Tinifile.create(`program.ini`);
---- 上面这一行语句将会为变量myinifile与具体的文件 program.ini建立联系,然后,
就可以通过变量myinifile,来读写program.ini文件中的关键字的值了。
---- 值得注意的是,如果括号中的文件名没有指明路径的话,那么这个Program.ini文件
会存储在Windows目录中,把Program.ini文件存储在应用程序当前目录中的方法是:为其
指定完整的路径及文件名。下面的两条语句可以完成这个功能:
Filename:=ExtractFilePath(Paramstr
(0))+`program.ini`;
myinifile:=Tinifile.Create(filename);
四、读取关键字的值
---- 针对INI文件支持的字符串、整型数值、布尔值三种数据类型,TINIfiles类提供了
三种不同的对象方法来读取INI文件中关键字的值。
---- 假设已定义变量vs、vi、vb分别为string、 integer、boolean类型。
vs:=myinifile.Readstring
(`小节名`,`关键字`,缺省值);
vi:=myinifile.Readinteger
(`小节名`,`关键字`,缺省值);
vb:=myinifile.Readbool
(`小节名`,`关键字`,缺省值);
---- 其中缺省值为该INI文件不存在该关键字时返回的缺省值。
五、写入INI文件
---- 同样的,TInifile类也提供了三种不同的对象方法,向INI文件写入字符串、整型数
及
布尔类型的关键字。
myinifile.writestring(`小节名`,`关键字`,变量或字符串值);
myinifile.writeinteger(`小节名`,`关键字`,变量或整型数值);
myinifile.writebool(`小节名`,`关键字`,变量或True或False);
---- 当这个INI文件不存在时,上面的语句还会自动创建该INI文件。
六、删除关键字
---- 除了可用写入方法增加一个关键字,Tinifile类还提供了一个删除关键字的对象方
法:
myinifile.DeleteKey(`小节名`,`关键字`);
七、小节操作
---- 增加一个小节可用写入的方法来完成,删除一个小节可用下面的对象方法:
myinifile.EraseSection(`小节名`);
---- 另外Tinifile类还提供了三种对象方法来对小节进行操作:
---- myinifile.readsection(`小节名`,TStrings变量);可将指定小节中的所有关键字名
读
取至一个字符串列表变量中;
---- myinifile.readsections(TStrings变量);可将INI文件中所有小节名读取至一个字
符
串列表变量中去。
---- myinifile.readsectionvalues(`小节名`,TStrings变量);可将INI文件中指定小节
的
所有行(包括关键字、=、值)读取至一个字符串列表变量中去。
八、释放
在适当的位置用下面的语句释放myinifile:
myinifile.distory;
---- 除了可用写入方法增加一个关键字,Tinifile类还提供了一个删除关键字的对象方法:myinifile.DeleteKey(`小节名`,`关键字`); 大方一点都给了!
INI文件在系统配置及应用程序参数保存与设置方面,具有很重要的作用,所以可视
化的编程一族,如VB、VC、VFP、Delphi等都提供了读写INI文件的方法,其中Delphi中操
作INI文件,最为简洁,这是因为Delphi3提供了一个TInifile类,使我们可以非常灵活的
处理INI
文件。
一、有必要了解INI文件的结构:
;注释
[小节名]
关键字=值
...
---- INI文件允许有多个小节,每个小节又允许有多个关键字, “=”后面是该关键字的
值。
---- 值的类型有三种:字符串、整型数值和布尔值。其中字符串存贮在INI文件中时没有
引号,布尔真值用1表示,布尔假值用0表示。
---- 注释以分号“;”开头。
二、定义
---- 1、在Interface的Uses节增加IniFiles;
---- 2、在Var变量定义部分增加一行:
myinifile:Tinifile;
---- 然后,就可以对变量myinifile进行创建、打开、读取、写入等操作了。
三、打开INI文件
myinifile:=Tinifile.create(`program.ini`);
---- 上面这一行语句将会为变量myinifile与具体的文件 program.ini建立联系,然后,
就可以通过变量myinifile,来读写program.ini文件中的关键字的值了。
---- 值得注意的是,如果括号中的文件名没有指明路径的话,那么这个Program.ini文件
会存储在Windows目录中,把Program.ini文件存储在应用程序当前目录中的方法是:为其
指定完整的路径及文件名。下面的两条语句可以完成这个功能:
Filename:=ExtractFilePath(Paramstr
(0))+`program.ini`;
myinifile:=Tinifile.Create(filename);
四、读取关键字的值
---- 针对INI文件支持的字符串、整型数值、布尔值三种数据类型,TINIfiles类提供了
三种不同的对象方法来读取INI文件中关键字的值。
---- 假设已定义变量vs、vi、vb分别为string、 integer、boolean类型。
vs:=myinifile.Readstring
(`小节名`,`关键字`,缺省值);
vi:=myinifile.Readinteger
(`小节名`,`关键字`,缺省值);
vb:=myinifile.Readbool
(`小节名`,`关键字`,缺省值);
---- 其中缺省值为该INI文件不存在该关键字时返回的缺省值。
五、写入INI文件
---- 同样的,TInifile类也提供了三种不同的对象方法,向INI文件写入字符串、整型数
及
布尔类型的关键字。
myinifile.writestring(`小节名`,`关键字`,变量或字符串值);
myinifile.writeinteger(`小节名`,`关键字`,变量或整型数值);
myinifile.writebool(`小节名`,`关键字`,变量或True或False);
---- 当这个INI文件不存在时,上面的语句还会自动创建该INI文件。
六、删除关键字
---- 除了可用写入方法增加一个关键字,Tinifile类还提供了一个删除关键字的对象方
法:
myinifile.DeleteKey(`小节名`,`关键字`);
七、小节操作
---- 增加一个小节可用写入的方法来完成,删除一个小节可用下面的对象方法:
myinifile.EraseSection(`小节名`);
---- 另外Tinifile类还提供了三种对象方法来对小节进行操作:
---- myinifile.readsection(`小节名`,TStrings变量);可将指定小节中的所有关键字名
读
取至一个字符串列表变量中;
---- myinifile.readsections(TStrings变量);可将INI文件中所有小节名读取至一个字
符
串列表变量中去。
---- myinifile.readsectionvalues(`小节名`,TStrings变量);可将INI文件中指定小节
的
所有行(包括关键字、=、值)读取至一个字符串列表变量中去。
八、释放
在适当的位置用下面的语句释放myinifile:
myinifile.distory;
解决方案 »
- delphi求知:上下分支树结构的控件
- 很想知道这个是不是listbox,或者是其他控件?
- 菜鸟求助(关于TTreeview的问题)
- 关于‘动态创建窗体’问题
- access里有一个字段,文本型的。
- 我在ADOQ中生成了一个数据集,如何把这个数据集保存成VFP格式的DBF文件?
- 为什么我的程序总是出现'无法为更新行集定位一些值可能已在最后读取后改变'这样的提示!
- 问一个很基础但初学者都遇到的问题,请帮忙
- 如何去掉程序中的最后一个窗体
- Delphi如何将数字和加号一起显示在编辑框上。
- 高分求助---怎么把提出来的记录再插回原表(dbf表)?
- 麻烦各位帮看一下一小段程序(关于图片显示的),在线等待!!
var
ini:TIniFile;
str:string;
num:integer;
begin
try
ini:=TIniFile.Create(YourPath);
str:=ini.ReadString('Configuration','presendtime','');
num:=ini.ReadInteger'Configuration','DownReconnTime',120);
ini.WriteString('Configuration','presendtime',PreSendTime);
finally
ini.Free;
end;
end;
第一个参数是ini文件的结子名称,第二个是键名称,第三个是要读或写的键值
如果键值不存在则写一个新的,如果已经存在还写就相当于修改!
var
F : TextFile;
iWrite:string;
begin
iWrite:='jhkjkj';
AssignFile(F, 'c:\aaa.bat');
{$I-}
Rewrite(F);
{$I+}
closefile(F);
end;
var
F : TextFile;
begin
AssignFile(F, 'c:\aaa.ini');
{$I-}
Rewrite(F);
{$I+}
closefile(F);
end;
var
F : TextFile;
begin
AssignFile(F, 'c:\aaa.ini');
{$I-}
Rewrite(F);
{$I+}
closefile(F);
end;
实际我是在BCB中做的,因为BCB中没有找到TextFile类型
所以就用TIniFile来实现了
可是TiniFile没有例如ReWrite()方法
法:
myinifile.DeleteKey(`小节名`,`关键字`);
七、小节操作
---- 增加一个小节可用写入的方法来完成,删除一个小节可用下面的对象方法:
myinifile.EraseSection(`小节名`);
---- 另外Tinifile类还提供了三种对象方法来对小节进行操作:
---- myinifile.readsection(`小节名`,TStrings变量);可将指定小节中的所有关键字名
读
取至一个字符串列表变量中;
---- myinifile.readsections(TStrings变量);可将INI文件中所有小节名读取至一个字
符
串列表变量中去。
---- myinifile.readsectionvalues(`小节名`,TStrings变量);可将INI文件中指定小节
的
所有行(包括关键字、=、值)读取至一个字符串列表变量中去。
八、释放
在适当的位置用下面的语句释放myinifile:
myinifile.distory;
GetPrivateProfileString
WritePrivateProfileString等等,我过一会儿,把那些东西弄上来,我手头现在没有,不过有一点,如果用的是api函数的话,比较讨厌,因为api要用到pchar类型,有时候需要pchar和string类型之间的转换