<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
    主站蜘蛛池模板: 69免费视频大片| 亚洲人成无码www久久久| 久久亚洲精品高潮综合色a片| 亚洲av无码专区在线观看素人| 中文在线免费视频| 91嫩草亚洲精品| 国产精品亚洲高清一区二区| 在线美女免费观看网站h| 国产成人亚洲精品无码AV大片| 亚洲国产精品久久久天堂| 18禁网站免费无遮挡无码中文| 黄网站色视频免费看无下截| 精品亚洲国产成AV人片传媒| 免费一级成人毛片| 免费观看黄色的网站| 国产免费黄色无码视频| 亚洲精品亚洲人成在线播放| 爱情岛论坛网亚洲品质自拍| 国产在线国偷精品产拍免费| 免费精品99久久国产综合精品| 亚洲精品V天堂中文字幕| 18gay台湾男同亚洲男同| 美腿丝袜亚洲综合| 天天看片天天爽_免费播放| 国产好大好硬好爽免费不卡 | 亚洲欧洲综合在线| 亚洲黄片毛片在线观看| 毛片免费在线观看网站| 免费在线观看一级片| 一区二区三区精品高清视频免费在线播放| 亚洲精品亚洲人成在线播放| 婷婷亚洲综合五月天小说| 亚洲色偷偷狠狠综合网| 国产精品免费电影| 一个人免费高清在线观看| 日韩内射激情视频在线播放免费| 一级毛片a免费播放王色电影 | 亚洲欧洲中文日韩久久AV乱码| 免费无遮挡无码视频网站| 在免费jizzjizz在线播| 日韩免费的视频在线观看香蕉|