程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> Delphi樹立、讀取、存貯INI文件的辦法《一》

Delphi樹立、讀取、存貯INI文件的辦法《一》

編輯:更多關於編程

Delphi樹立、讀取、存貯INI文件的辦法《一》。本站提示廣大學習愛好者:(Delphi樹立、讀取、存貯INI文件的辦法《一》)文章只能為提供參考,不一定能成為您想要的結果。以下是Delphi樹立、讀取、存貯INI文件的辦法《一》正文


1、有需要懂得INI文件的構造:
;正文
[末節名]
症結字=值
...
INI文件許可有多個末節,每一個末節又許可有多個症結字, “=”前面是該症結字的值。 
值的類型有三種:字符串、整型數值和布爾值。個中字符串存貯在INI文件中時沒有引號,布爾真值用1表現,布爾假值用0表現。 
正文以分號“;”開首。 
2、界說
1、在Interface的Uses節增長IniFiles; 
2、在Var變量界說部門增長一行: 
myinifile:Tinifile;
然後,便可以對變量myinifile停止創立、翻開、讀取、寫入等操作了。 
3、翻開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);
4、讀取症結字的值
針對INI文件支撐的字符串、整型數值、布爾值三種數據類型,TINIfiles類供給了三種分歧的對象辦法來讀取INI文件中症結字的值。 
假定已界說變量vs、vi、vb分離為string、 integer、boolean類型。 
vs:=myinifile.Readstring('末節名','症結字',缺省值);
vi:=myinifile.Readinteger('末節名','症結字',缺省值);
vb:=myinifile.Readbool('末節名','症結字',缺省值);
個中缺省值為該INI文件不存在該症結字時前往的缺省值。 
5、寫入INI文件
異樣的,TInifile類也供給了三種分歧的對象辦法,向INI文件寫入字符串、整型數及布爾類型的症結字。
myinifile.writestring('末節名','症結字',變量或字符串值);
myinifile.writeinteger('末節名','症結字',變量或整型數值);
myinifile.writebool('末節名','症結字',變量或True或False);
當這個INI文件不存在時,下面的語句還會主動創立該INI文件。 
6、刪除症結字
除可用寫入辦法增長一個症結字,Tinifile類還供給了一個刪除症結字的對象辦法: 
myinifile.DeleteKey('末節名','症結字');
7、末節操作
增長一個末節可用寫入的辦法來完成,刪除一個末節可用上面的對象辦法: 
myinifile.EraseSection('末節名');
別的Tinifile類還供給了三種對象辦法來對末節停止操作:
myinifile.readsection('末節名',TStrings變量);可將指定末節中的一切症結字名讀取至一個字符串列表變量中; 
myinifile.readsections(TStrings變量);可將INI文件中一切末節名讀取至一個字符串列表變量中去。 
myinifile.readsectionvalues('末節名',TStrings變量);可將INI文件中指定末節的一切行(包含症結字、=、值)讀取至一個字符串列表變量中去。 
8、釋放
在恰當的地位用上面的語句釋放myinifile:
myinifile.distory;
9、一個實例
上面用一個簡略的例子(如圖),演示了樹立、讀取、存貯INI文件的辦法。myini.ini文件中包括有“法式參數”末節,和用戶稱號(字符串)、能否正式用戶(布爾值)和已運轉時光(整型值)三個症結字。法式在窗體樹立讀取這些數據,並在窗體釋放時寫myini.ini文件。 
附源法式清單 
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,IniFiles, StdCtrls, ExtCtrls;
type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    CheckBox1: TCheckBox;
    Timer1: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
  myinifile:Tinifile;
implementation
{$R *.dfm}
procedure TForm1.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;
procedure TForm1.FormDestroy(Sender: TObject);
begin
myinifile.writestring(´法式參數´,´用戶稱號´,edit1.Text);
myinifile.writeinteger(´法式參數´,´已運轉時光´,strtoint(edit2.text));
myinifile.writebool(´法式參數´,´能否正式用戶´,checkbox1.Checked);
myinifile.Destroy;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
edit2.Text:=inttostr(strtoint(edit2.text)+1);
end;
end.

此實例在Delphi6.0+WinXP下調試經由過程.
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved