<li id="j64py"><acronym id="j64py"></acronym></li>

  • <em id="j64py"></em>

    <em id="j64py"><acronym id="j64py"></acronym></em>
    <dd id="j64py"></dd>
    <em id="j64py"><acronym id="j64py"><input id="j64py"></input></acronym></em>
    <rp id="j64py"><object id="j64py"><blockquote id="j64py"></blockquote></object></rp>
    <button id="j64py"><acronym id="j64py"></acronym></button>
    捐助郴維網
    感謝您對郴維網的支持,你的支持將是郴維網持續發展的動力!
    二維碼
    ×
    當前位置:郴維網 >基礎知識 > 正文
    28 2021.04

    delphi 操作ini文件

    點擊次數:482 更新時間:2021-4-28 20:04:38  【打印此頁

    .ini文件是Windows下的配置文件,使用.ini文件我們可以很方便的把一個軟件的配置信息等保存在.ini文件中。

    Delphi提供了一個TInifile類,使我們可以非常靈活的處理ini文件。

     

     

    一.ini文件的結構

    [小節名]
    關鍵字1=值1
    關鍵子2=值2
    

    ini文件允許有多個小節,每個小節又允許有多個關鍵字,"="后面是該關鍵字的值。分號 ";" 開頭在ini文件中表示注釋。

     

    值的類型常用的有三種,還支持浮點、日期等類型:

    1. 字符串(其中字符串存貯在ini文件中時沒有引號。)

    2. 整型數值

    3. 布爾值(布爾真值用1表示,布爾假值用0表示。)

    ini文件結構如下圖所示:

     

     

    二、相關方法

    1. 讀方法

    myInifile.Readstring(小節名, 關鍵字, 變量或字符串值); // 讀字符串
    myInifile.ReadInteger(小節名, 關鍵字, 變量或整型數值); // 讀整數
    myInifile.ReadBool(小節名, 關鍵字, 變量或True或False); // 讀布爾類型

     

    2. 寫方法

    myInifile.WriteString(小節名, 關鍵字, 變量或字符串值);
    myinifile.WriteInteger(小節名, 關鍵字, 變量或整型數值);
    myinifile.WriteBool(小節名, 關鍵字, 變量或True或False);

    注1:當這個ini文件不存在時,上面的語句還會自動創建該ini文件

    注2:要添加一個小節,也是使用寫方法完成。

    注3:如果要對一個關鍵字的值進行修改,同樣使用上面的寫方法。

     

    3. 刪除關鍵字方法

    myInifile.DeleteKey(小節名, 關鍵字);

     

    4. 操作小節的方法

    myInifile.SectionExists(小節名); // 判斷指定的小節是否存在
    myInifile.ReadSections(TStrings變量); // 將ini文件中所有小節名讀取至一個字符串列表變量中去。
    myInifile.ReadSection(小節名, TStrings變量); // 可將指定小節中的所有關鍵字名讀取至一個字符串列表變量中。
    myInifile.ReadSectionValues(小節名, TStrings變量); // 可將ini文件中指定小節的所有行(包括關鍵字、=、值)讀取至一個字符串列表變量中去。
    myInifile.EraseSection(小節名); // 刪除一個小節。

     

    如何增加一個小節?

    增加一個小節可用寫入的方法來完成;也就是說增加小節就必須得添加默認 關鍵字 和 值。如:

    myInifile.WriteString('郴維網', '網址', 'http://www.www.xiaomao777.com'); // 這樣就添加了一個 '郴維網' 的小節。

     

    5. 最后記得要釋放資源

    myInifile.Free;

     

     

    三、Delphi中ini文件的使用

    1. 首先在uses中添加IniFiles

    2. 在var變量定義 myInifile: TIniFile;

    3. 定義類的一個實例。然后就可以對變量myInifile進行創建、打開、讀取、寫入等操作了。

    代碼:

    unit Unit1;
    
    interface
    
    uses
      Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
      Vcl.Controls, Vcl.Forms, Vcl.Dialogs, System.IniFiles, Vcl.StdCtrls; // 1. uses 加入IniFiles
    
    type
      TForm1 = class(TForm)
        btn1: TButton;
        procedure btn1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    procedure TForm1.btn1Click(Sender: TObject);
    var
      filePath: string;
      myInifile: TIniFile; // 2. 定義變量
    begin
      // 指定ini文件所在路徑。(ExtractFilePath(Paramstr(0))表示當前程序所在路徑)
      filePath := ExtractFilePath(Paramstr(0)) + 'test.ini';
    
      // 3. 創建實例與ini文件關聯
      myInifile := TIniFile.Create(filePath);
    
      // 使用try finally保證TIniFile資源的釋放。
      try
        // 4. 讀寫操作
      finally
        // 5. 最后一定要釋放資源
        myInifile.Free;
      end;
    
    
    end;
    
    end.
    

     

     

    四:TMemIniFile類

    該類的功能和TIniFile使用一模一樣,它會事先把ini文件的內容加載進內存。

    比如要經常對一個ini進行讀寫使用TIniFile來操作是非常慢的(因為它是直接對硬盤中的文件進行操作);這時可以使用TMemIniFile類來操作,把所有的操作在內存中處理完,然后一次性把數據寫入到ini文件中。

     

    特有方法:

    UpdateFile方法

    procedure UpdateFile; override;
    {
    將緩沖的INI文件數據保存到磁盤
    }

     

    GetStrings方法

    procedure GetStrings(const List: TStrings);
    {
    功能:
      將當前存儲在內存中的INI文件數據復制到預先存在的字符串列表中。
    
    參數:
      List 字符串列表   
    }

     

    SetStrings方法

    procedure SetStrings(const List: TStrings);
    {
    功能:
      List字符串列表的內容填充內存緩沖區。
    
    參數:
      List 字符串列表    
    }

     

    Rename方法

    procedure Rename(const FileName: string; Reload: Boolean);
    {
    功能:
      將TMemIniFile與不同的INI文件相關聯。
    
    
      調用Rename將TMemIniFile對象使用的INI文件更改為創建對象時指定的文件以外的文件。
    
    參數:
      FileName 新INI文件的名稱。   
      Reload  是否立即從FileName中指定的INI文件將數據加載到內存中。
              True:使用指定文件中的數據重新填充TMemIniFile對象。
              False:內存中的數據保持不變。
    }

     

    示例:

    procedure TForm1.btn1Click(Sender: TObject);
    var
      path: string;
      ini: TMemIniFile;
      i: Integer;
    begin
      path := 'D:\Users\Administrator\Desktop\ttt.ini';
      ini := TMemIniFile.Create(path);
      try
        for i := 0 to 1000000 do
        begin
          ini.WriteString('Test', 'Test' + i.ToString, i.ToString);
        end;
        ini.UpdateFile; // TMemIniFile 是內存操作, 調用UpdateFile方法才能保存到文件
      finally
        ini.Free;
      end;
    end;

     

     

     

     

    相關示例代碼

    1. 建立如下圖所示的ini文件,然后讀取關鍵字和值到memo控件中。

    // 寫入 test.ini
    procedure TForm1.btn1Click(Sender: TObject);
    var
      filePath: string;
      myInifile: TIniFile;
    begin
      filePath := ExtractFilePath(Paramstr(0)) + 'test.ini';
      myInifile := TIniFile.Create(filePath);
      try
        myInifile.WriteString('郴維網', '網址', 'http://www.www.xiaomao777.com');
        myInifile.WriteInteger('郴維網', '整形', 888);
        myInifile.WriteBool('郴維網', '布爾', True);
        myInifile.WriteFloat('郴維網', '浮點型', 3.14);
        // 日期型必須是一個 TDate 或 TDateTime 對象, VarToDateTime把字符串轉換成日期時間對象
        myInifile.WriteDate('郴維網', '日期', VarToDateTime('2020/9/28'));
        myInifile.WriteDateTime('郴維網', '日期時間', Now); // Now獲取當前日期時間
      finally
        myInifile.Free;
      end;
    
    end;
    
    // 讀取關鍵字和值(直接使用ReadSectionValues可以完成)
    procedure TForm1.btn2Click(Sender: TObject);
    var
      filePath: string;
      myInifile: TIniFile;
    begin
      filePath := ExtractFilePath(Paramstr(0)) + 'test.ini';
      myInifile := TIniFile.Create(filePath);
      try
        myInifile.ReadSectionValues('郴維網', mmo1.Lines); // memo控件的Lines便是TStrings對象
      finally
        myInifile.Free;
      end;
    end;
    

    Tips
    郴維網為您提供各類專業服務:
    軟件開發,電腦配件銷售,WIFI路由器銷售,上門電腦維修,上門安裝系統,系統安裝,軟、硬件安裝,電腦除塵清灰,顯示器維修,WIFI安裝調試,服務器維護,數據恢復,密碼破解,網絡布線,網絡檢修,打印機維修,打印機加碳粉,蘋果電腦安裝系統,蘋果電腦安裝雙系統,監控安裝維護,電腦外包,筆記本電腦維修,餐飲、美容行業軟件安裝 等。。。。。。
    點擊次數:482 更新時間:2021-4-28 20:04:38  【打印此頁
    關鍵詞推薦:郴州電腦城 郴州電腦維修公司 維修電腦公司 郴州軟件開發 上門電腦維修 上門安裝系統 筆記本電腦維修 郴州打印機維修 打印機加碳粉 電腦安裝雙系統 蘋果電腦雙系統 液晶顯示器維修 聯想筆記本維修 聯想筆記本維修電話 戴爾筆記本維修電話 郴州戴爾筆記本維修 戴爾筆記本郴州維修點 華碩筆記本維修點 郴州華碩筆記本維修 郴州筆記本上網維修
    亚洲成a人片77777,玩弄漂亮少妇高潮大叫,国产重口老太和小伙,两个黑人挺进校花体内np