<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 6  文章 - 129  trackbacks - 0
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(14)

    隨筆檔案(6)

    文章分類(467)

    文章檔案(423)

    相冊

    收藏夾(18)

    JAVA

    搜索

    •  

    積分與排名

    • 積分 - 826292
    • 排名 - 49

    最新評論

    閱讀排行榜

    評論排行榜

    轉(zhuǎn):http://hi.baidu.com/graspa/blog/item/d17d928b4ec949d0fc1f1007.html/cmtid/196abb648679f0fcf73654ae

    一、有必要了解INI文件的結(jié)構(gòu):

    ;注釋

    [小節(jié)名]

    關(guān)鍵字=值

    ...

    ---- INI文件允許有多個小節(jié),每個小節(jié)又允許有多個關(guān)鍵字, “=”后面是該關(guān)鍵字的值。

    ---- 值的類型有三種:字符串、整型數(shù)值和布爾值。其中字符串存貯在INI文件中時沒有引號,布爾真值用1表示,布爾假值用0表示。

    ---- 注釋以分號“;”開頭。

    二、定義

    ---- 1、在Interface的Uses節(jié)增加IniFiles;

    ---- 2、在Var變量定義部分增加一行:

    myinifile:Tinifile;

    ---- 然后,就可以對變量myinifile進行創(chuàng)建、打開、讀取、寫入等操作了。

    三、打開INI文件

    myinifile:=Tinifile.create('program.ini');

    --- 上面這一行語句將會為變量myinifile與具體的文件 program.ini建立聯(lián)系,然后,就可以通過變量myinifile,來讀寫program.ini文件中的關(guān)鍵字的值了。

    ---- 值得注意的是,如果括號中的文件名沒有指明路徑的話,那么這個Program.ini文件會存儲在Windows目錄中,把Program.ini文件存儲在應(yīng)用程序當(dāng)前目錄中的方法是:為其指定完整的路徑及文件名。下面的兩條語句可以完成這個功能:

    Filename:=ExtractFilePath(Paramstr(0))+'program.ini';

    myinifile:=Tinifile.Create(filename);

    四、讀取關(guān)鍵字的值

    --- 針對INI文件支持的字符串、整型數(shù)值、布爾值三種數(shù)據(jù)類型,TINIfiles類提供了三種不同的對象方法來讀取INI文件中關(guān)鍵字的值。

    --- 假設(shè)已定義變量vs、vi、vb分別為string、 integer、boolean類型。

    vs:=myinifile.Readstring('小節(jié)名','關(guān)鍵字',缺省值);

    vi:=myinifile.Readinteger('小節(jié)名','關(guān)鍵字',缺省值);

    vb:=myinifile.Readbool('小節(jié)名','關(guān)鍵字',缺省值);

    --- 其中缺省值為該INI文件不存在該關(guān)鍵字時返回的缺省值。

    五、寫入INI文件

    ---- 同樣的,TInifile類也提供了三種不同的對象方法,向INI文件寫入字符串、整型數(shù)及布爾類型的關(guān)鍵字。

    myinifile.writestring('小節(jié)名','關(guān)鍵字',變量或字符串值);

    myinifile.writeinteger('小節(jié)名','關(guān)鍵字',變量或整型數(shù)值);

    myinifile.writebool('小節(jié)名','關(guān)鍵字',變量或True或False);

    ---- 當(dāng)這個INI文件不存在時,上面的語句還會自動創(chuàng)建該INI文件。

    六、刪除關(guān)鍵字

    ---- 除了可用寫入方法增加一個關(guān)鍵字,Tinifile類還提供了一個刪除關(guān)鍵字的對象方法:

    myinifile.DeleteKey('小節(jié)名','關(guān)鍵字');

    七、小節(jié)操作

    --- 增加一個小節(jié)可用寫入的方法來完成,刪除一個小節(jié)可用下面的對象方法:

    myinifile.EraseSection('小節(jié)名');

    --- 另外Tinifile類還提供了三種對象方法來對小節(jié)進行操作:

    --- myinifile.readsection('小節(jié)名',TStrings變量);可將指定小節(jié)中的所有關(guān)鍵字名讀取至一個字符串列表變量中;

    --- myinifile.readsections(TStrings變量);可將INI文件中所有小節(jié)名讀取至一個字符串列表變量中去。

    ---- myinifile.readsectionvalues('小節(jié)名',TStrings變量);可將INI文件中指定小節(jié)的所有行(包括關(guān)鍵字、=、值)讀取至一個字符串列表變量中去。

    八、釋放

    在適當(dāng)?shù)奈恢糜孟旅娴恼Z句釋放myinifile:

    myinifile.distory;

    九、一個實例

    ---- 下面用一個簡單的例子(如圖),演示了建立、讀取、存貯INI文件的方法。myini.ini文件中包含有“程序參數(shù)”小節(jié),和用戶名稱(字符串)、是否 正式用戶(布爾值)和已運行時間(整型值)三個關(guān)鍵字。程序在窗體建立讀取這些數(shù)據(jù),并在窗體釋放時寫myini.ini文件。

    --- 附源程序清單

    unit Unit1;

    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;

    procedure FormCreate(Sender: TObject);

    procedure FormDestroy(Sender: TObject);

    procedure Timer1Timer(Sender: TObject);

    private

    { Private declarations }

    public

    { Public declarations }

    end;

    var

    Form1: TForm1;

    implementation

    var

    myinifile:TInifile;

    {$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('程序參數(shù)','用戶名稱','缺省的用戶名稱');

    edit2.text:= inttostr(myinifile.readinteger('程序參數(shù)','已運行時間',0));

    checkbox1.Checked:= myinifile.readbool('程序參數(shù)','是否正式用戶',False);

    end;

    procedure TForm1.FormDestroy(Sender: TObject);

    begin

    myinifile.writestring('程序參數(shù)','用戶名稱',edit1.Text);

    myinifile.writeinteger('程序參數(shù)','已運行時間',strtoint(edit2.text));

    myinifile.writebool('程序參數(shù)','是否正式用戶',checkbox1.Checked);

    myinifile.Destroy;

    end;

    procedure TForm1.Timer1Timer(Sender: TObject);

    begin

    edit2.Text:=inttostr(strtoint(edit2.text)+1);

    end;

    end.



    posted on 2010-02-08 14:36 Ke 閱讀(713) 評論(0)  編輯  收藏 所屬分類: delphi
    主站蜘蛛池模板: 一区二区三区亚洲| 午夜国产大片免费观看| 亚洲片一区二区三区| 精品久久久久久亚洲综合网| 扒开双腿猛进入爽爽免费视频 | 全黄A免费一级毛片| 国产黄色片在线免费观看| 国产99在线|亚洲| 2021久久精品免费观看| 亚洲福利秒拍一区二区| 亚洲成人免费网址| 亚洲乱码卡三乱码新区| 成年男女免费视频网站| 亚洲av成人中文无码专区| 国产精品高清全国免费观看| 国产亚洲精品2021自在线| 成人亚洲综合天堂| eeuss免费影院| 亚洲成Av人片乱码色午夜| 一级毛片成人免费看免费不卡| 亚洲美女视频一区二区三区| 91免费国产在线观看| 亚洲最大的成人网| 免费一级国产生活片| av午夜福利一片免费看久久| 亚洲AV无码一区东京热| 亚洲毛片免费观看| 亚洲国产区男人本色| 福利免费观看午夜体检区| 亚洲精品精华液一区二区| 亚洲av永久无码精品秋霞电影影院| 国产又黄又爽胸又大免费视频| 亚洲精品少妇30p| 亚洲视频免费在线看| 国产精品亚洲а∨无码播放麻豆| 亚洲乱码中文字幕手机在线| 日韩午夜理论免费TV影院| 7777久久亚洲中文字幕| 亚洲Av无码乱码在线观看性色 | 中文字幕无线码免费人妻| 亚洲国产精品久久网午夜|