1. 程式人生 > >C++ Builder中 TMemIniFile讀取效率比TIniFile快很多

C++ Builder中 TMemIniFile讀取效率比TIniFile快很多

ini 檔案操作記要(2): 使用 TMemIniFile


  
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure
FormCreate(Sender: TObject);     procedure FormDestroy(Sender: TObject);     procedure Button1Click(Sender: TObject);     procedure Button2Click(Sender: TObject);   private     { Private declarations }   public     { Public declarations }   end
; var   Form1: TForm1; implementation {$R *.dfm} uses   IniFiles; var   ini: TMemIniFile; procedure TForm1.FormCreate(Sender: TObject); begin   ini := TMemIniFile.Create('c:\temp\test.ini'); end; //寫入 procedure TForm1.Button1Click(Sender: TObject); begin   ini.WriteString('AAA'
,'A1','AAA-String'); //其他也都和 IniFile 一樣使用 //  ini.WriteInteger(); //  ini.WriteBool(); //  ini.WriteDate(); //  ini.WriteTime(); //  ini.WriteDateTime(); //  ini.WriteFloat(); //  ini.WriteBinaryStream();   //ini.UpdateFile;  //因為 TMemIniFile 是記憶體操作, 這樣才能儲存到檔案 end; //讀出及其他 procedure TForm1.Button2Click(Sender: TObject); var   s: string; begin   s := ini.ReadString('AAA','A1','預設值');   ShowMessage(s);  //AAA-String //其他讀入命令也都和 IniFile 一樣使用 //  ini.ReadInteger(); //  ini.ReadBool(); //  ini.ReadDate(); //  ini.ReadTime(); //  ini.ReadDateTime(); //  ini.ReadFloat(); //  ini.ReadBinaryStream(); //還有四個常用方法也是和 IniFile 一樣的 //ini.DeleteKey(); //ini.EraseSection(); //ini.ReadSection(); //ini.ReadSections(); //另外有三個 IniFile 中沒有的方法也容易使用 //ini.GetStrings(List: TStrings); //ini.SetStrings(List: TStrings); //ini.Rename(const FileName: string; Reload: Boolean); //其中 Rename 中的第二個 Boolean 引數如果為 True 將會重新整理讀入 end; procedure TForm1.FormDestroy(Sender: TObject); begin   ini.Free; end; end.