首页 > 其他分享 >delphi 操作INI文件

delphi 操作INI文件

时间:2023-09-20 09:00:32浏览次数:32  
标签:文件 变量 delphi 小节 myinifile 关键字 INI

转载自: delphi读写INI文件_delphi写数据到ini_苏生米沿的博客-CSDN博客

Delphi提供了读写INI文件的方法,Delphi操作INI文件最为简洁,这是因为Delphi提供了一个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(application.exename)+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.free;

标签:文件,变量,delphi,小节,myinifile,关键字,INI
From: https://www.cnblogs.com/yoooos/p/17716414.html

相关文章

  • macOS 运行xxx.command文件提示”无法执行,因为您没有正确的访问权限“解决方法
    使用苹果mac电脑运行.command文件时,是否遇到弹出”无法执行,因为您没有正确的访问权限“的窗口?遇到这种问题怎么解决呢?这里小编为大家带来了详细的解决方法,一起来看看吧!解决方法:方法一:打开终端工具,输入以下命令:sudosh注意后面有空格然后再把.command文件直接拖入终端按回车键即可......
  • logback-spring配置文件一些参数的意义
    <?xmlversion="1.0"encoding="UTF-8"?><configuration><!--控制台打印日志的相关配置--><appendername="STDOUT"class="ch.qos.logback.core.ConsoleAppender"><!--日志格式--><encoder>......
  • uniapp上传excel文件
    1.前端使用插件:https://uniapp.dcloud.net.cn/component/uniui/uni-file-picker.html<uni-file-pickerv-model="fileName"file-extname="xls,xlsx"limit="1"file-mediatype="all"title="请上传Excel文件&q......
  • 在pycharm中如何对json格式文件数据标准化
    打开pycharm里面的json文件之后,想要将其标准化,就直接使用快捷键:Ctrl+Alt+L即可;效果如图所示:意满离~~......
  • linux 中awk命令删除文件的最后一列
     001、[root@pc1test4]#lsa.txt[root@pc1test4]#cata.txt##测试文件010203040506070809101112131415161718192021222324252627282930[root@pc1test4]#awk'NF{NF--}1'a.txt##删除最后一列0102030405......
  • CF1808E1 Minibuses on Venus (easy version)
    原题翻译一道数位\(dp\)题记\(S=\sum_{i=1}^{n}{a_i}\),原题即要求是否存在\(i\)满足\(S-a_i\equiva_i(\modK)\)移项得\(S\equiv2a_i(\modK)\)因此我们考虑枚举\(2a_i\)的值记作\(sm\),设\(dp_{i,j,0/1}\)表示前\(i\)个数,和为\(j\),有/没有\(2a_i\modK=sm\)转......
  • pyinstaller 打包文件夹或者文件
    打包文件夹如果要打包一个文件夹,可以使用以下命令:pyinstaller--add-data"templates:index"-Fmain.py上述命令中,使用了--add-data选项,指定了打包templates文件夹,其中冒号前面的是文件夹的路径,后面的是指定目标路径。这样,打包后的可执行文件中就包含了templates文件夹。打......
  • Linux如何修改文件/文件夹内所有文件的权限
    一、修改文件权限修改文件权限前,需要了解一下权限中的”rwx”与数字的对应关系,其中r=4,w=2,x=1。例如:”drwxr-xr-x”,第一个”d”是代表文件夹,这里不用考虑,后面九个字符,每三个一组相加: rwx=4+2+1=7 r-x=4+0+1=5 那么drwxr-xr-x = 755 同理-rwxrw-rw- = 766 (rw-就是 4+2+0......
  • 如何将手机上微信的文件快速传递到linux平台?
    要将手机上微信的文件快速传递到Linux平台,你可以尝试以下几种方法:1.通过USB传输:连接手机和Linux计算机,将手机设置为传输文件模式,然后在Linux上使用文件管理器访问手机的存储,从中复制所需的文件到Linux平台。2.使用第三方应用:在手机上安装支持文件传输的第三方应用,如AirDroid、Pus......
  • [异常处理] 下载execl 模版功能,execl 文件打不开
    问题定位:execl文件被压缩,导致打不开解决方案:pom文件中添加上:<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId......