有關INI檔用法 |
答題得分者是:zhouying82
|
andychen8888
一般會員 ![]() ![]() 發表:14 回覆:25 積分:7 註冊:2007-02-05 發送簡訊給我 |
|
zhouying82
高階會員 ![]() ![]() ![]() ![]() 發表:150 回覆:272 積分:189 註冊:2004-03-16 發送簡訊給我 |
INI文件
的方法,其中Delphi中操作INI文件。 一、有必要了解INI文件允许有多个小节,每个小节又允许有多个关键字,“=”后面是 该关键字的值。 值的类型有三种:字符串、整型数值和布尔值。其中字符串存贮在INI文件 myinifile:=Tinifile.create('program.ini'); 上面这一行语句将会为变量myinifile与具体的文件program.ini文件中的关 键字的值了。 值得注意的是,如果括号中的文件名没有指明路径的话,那么这个 Program.ini文件存储在应 用程序当前目录中的方法是:为其指定完整的路径及文件名。下面的两 条语句可以完成这个功能: Filename:=ExtractFilePath(Paramstr (0)) 'program.ini'; myinifile:=Tinifile.Create(filename); 四、读取关键字的值 针对INI文件中关键字的值。 假设已定义变量vs、vi、vb分别为string、integer、boolean类型。 vs:=myinifile.Readstring ('小节名','关键字',缺省值); vi:=myinifile.Readinteger ('小节名','关键字',缺省值); vb:=myinifile.Readbool ('小节名','关键字',缺省值); 其中缺省值为该INI文件 同样的,TInifile类也提供了三种不同的对象方法,向INI文件不存在时,上面的语句还会自动创建该INI文件中所有小节名读 取至一个字符串列表变量中去。 myinifile.readsectionvalues('小节名',TStrings变量);可将INI文件的方 法。myini.ini文件。 附源程序清单 [code cpp] unitUnit1; interface uses Windows,Messages,SysUtils,Classes,Graphics, Controls,Forms,Dialogs,inifiles,StdCtrls,ExtCtrls; type TForm1=class(TForm) Edit1:TEdit; CheckBox1:TCheckBox; Edit2:TEdit; Label1:TLabel; Label2:TLabel; Timer1:TTimer; Label3:TLabel; procedureFormCreate(Sender:TObject); procedureFormDestroy(Sender:TObject); procedureTimer1Timer(Sender:TObject); private {Privatedeclarations} public {Publicdeclarations} end; var Form1:TForm1; implementation var myinifile:TInifile; {$R*.DFM} procedureTForm1.FormCreate(Sender:TObject); var filename:string; begin filename:=ExtractFilePath(paramstr(0)) 'myini.ini'; myinifile:=TInifile.Create(filename); edit1.Text:=myinifile.readstring ('程序参数','用户名称','缺省的用户名称'); edit2.text:=inttostr(myinifile.readinteger ('程序参数','已运行时间',0)); checkbox1.Checked:=myinifile.readbool ('程序参数','是否正式用户',False); end; procedureTForm1.FormDestroy(Sender:TObject); begin myinifile.writestring('程序参数','用户名称',edit1.Text); myinifile.writeinteger('程序参数','已运行时间', strtoint(edit2.text)); myinifile.writebool('程序参数','是否正式用户', checkbox1.Checked); myinifile.Destroy; end; procedureTForm1.Timer1Timer(Sender:TObject); begin edit2.Text:=inttostr(strtoint(edit2.text) 1); end; end. [/code]
------
断断续续的学了几年,还是一个初学者,永远支持Delphi ! |
andychen8888
一般會員 ![]() ![]() 發表:14 回覆:25 積分:7 註冊:2007-02-05 發送簡訊給我 |
感謝zhouying82大大,小弟獲益良多!
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |