まず、INIファイルの構造:
;コメント
[セクション名]
キー=値
INIファイルには、このキーの値が続く、複数のセクションは、順番に各セクションは、複数のキーワードを可能にすることができ、「=」。
文字列、整数、およびブール値:値の3つのタイプがあります。前記INIファイルに格納されている文字列は、ブール値trueは1で表され、何の引用符は、ブール偽値0で表現されていません。
「;」セミコロンコメントの開始時。
第二に、定義
1、使用するインターフェイスセクションIniFilesの増加;
2、変数定義セクションvarに行を追加します。
myinifile:のTIniFile;
そして、オープン、読み取り、書き込み、および他の操作を作成するにはmyinifile変数であることができます。
第三に、INIファイルを開きます
ファイル名:= ExtractFilePath(Paramstr(0))+ 'program.ini'。
myinifile:= Tinifile.Create(ファイル名)。
第四に、キーと値の読み取り
文字列のためのINIファイルのサポート、整数値、ブールの3種類のデータ、TINIfilesは値INIファイルキーワードを読み取るために、オブジェクトのメソッドの3つの異なるクラスを提供します。
VS:= myinifile.Readstring( 'セクション名'、 'キー'、デフォルト値);文字列型
VI:= myinifile.Readinteger( 'セクション名'、 'キー'、デフォルト値); Integer型
VB:= myinifile.Readbool( 'セクション名'、 'キー'、デフォルト値);ブールタイプ
第五に、書き込みINIファイル
(「セクション名」、「キー」、または文字列変数値)myinifile.writestring、文字列型
myinifile.writeinteger( 'セクション名'、 'キー'、または変数の整数値); Integerクラス
myinifile.writebool( 'セクション名'、 'キー'、または変数TrueまたはFalse); boolean型
INIファイルが存在しない場合は、上記の文も自動的にINIファイルを作成します。
第六に、削除キーワード
myinifile.DeleteKey( 'セクション名'、 'キーワード');
VII、セクションの操作
この方法は、完全に書き込み部を高める利用可能なオブジェクトのメソッド次のセクションを削除するために使用することができる。myinifile.EraseSection(「セクション名」);のTIniFileさらなるクラスは、オブジェクトのサブセクション上で動作するために3つの方法を提供します。
myinifile.readsection( 'セクション名'、TStringsは変数);
すべてのキーワードは、文字列変数のリストを読み取るためにセクションの名前を指定することができます。
myinifile.readsections(TStringsは变量)。
INIファイル名が文字列変数のリストにすべてのセクションを読み取ります。
myinifile.readsectionvalues( 'セクション名'、TStringsは変数);
INIファイルには、文字列変数のリストを読み取るために(キーワード=値を含む)のバーのすべての行で指定することができます。
八のリリース
次の文で所定の位置にmyinifileをリリース:
myinifile.distory; 9デルファイは、組み込み関数の概要
Windows API関数WritePrivateProfileStringとのGetPrivateProfileStringを使用して.INIファイルに読み書きすることができます。実際には、読み書き.INIファイルは完全にDelphiの組み込み関数によって実現することができます。ここではいくつかのクラス属性と読み書き時に.INIファイルを関連付けられている方法があります。
1、のTIniFileオブジェクト
Delphiでは、我々は、.INIファイルをその中にパッケージ化のTIniFileオブジェクトを定義し、INIファイルの操作を読み書きするように設計された方法を提供します。プログラム又は方法TIniFileオブジェクトのクラスのプロパティを使用する場合、手動でプログラム単位でIniFiles単位用途文への参照を追加する必要があります。
2、Create方法
该方法用来创建一个处理INI文件的TIniFile类型实例。
方法声明:constructor Create(const FileName:string);
参数说明:FileName指明待创建的INI文件的文件名;
注释:在使用TIniFile对象之前,必须先用此方法创建一个INI文件的实例。FileName中可以包含路径名,缺省时为Windows所在目录(一般就是C:windows,对于Windows NT来说,则一般是c:winnt)。用Create方法创建的实例,在使用完之后,调用Free方法释放内存。
3、ReadSection方法
该方法从INI文件中读出指定段的所有子键名,并存入Strings参数指定的字符串列表对象中。
方法声明:procedure ReadSection(const Section:string; Strings:TStrings);
参数说明:Section指明要读取段的段名;
Strings指明存放子键名的字符串列表;
注释:ReadSection方法仅读入指定段的所有子键名,但不读入子键的值。
4、ReadSections方法
该方法从INI文件中读取所有段名,并存入Strings参数指定的字符中列表中。
方法声明:procedure ReadSections(Strings:TStrings);
参数说明:Strings参数指明存放段名的字符串列表;
注释:ReadSections方法将INI文件中所有段的段名读出,存入一指定的字符串列表中,此字符串列表可以直接使用某个列表框的Items属性。
5、ReadSectionValues方法
该方法从INI文件中读入指定段的所有子键名及其键值,并存入Strings参数指定的字符串列表中。
方法声明:procedure ReadSectionValues(const Section:String; Strings:TStrings);
参数说明:Section指明要读取段的段名;
Strings指明存放段名的字符串列表;
注释:ReadSectionValues方法与ReadSection方法的区别在于后者仅读入子键名,面前者除了读取子键名之外,还读取该子键对应的键值。读入的子键名及键值在字符串列表中的存放方法与在文件中的显示方法一致,即"Key=Value"形式。
6、EraseSection方法
该方法删除INI文件中指定的一个整段。
方法声明:procedure EraseSection(const Section:string);
参数说明:Section指明待删除段的段名;
注释:EraseSection方法不仅删除指定段的段名,面且同时将该段的所有子键及键值删除。
7、DeleteKey方法
该方法删除指定段中的某个指定的子键。
方法声明:procedure DeleteKey(const Section,Key:string);
参数说明:Section指明待删除子键据段的段名;
Key指明待删除子键的键名;
注释:DeleteKey方法删除整个子键(包括键名和键值),也就是删除该子键所在的一行。
8、ReadBool方法
该方法读取指定段的某个子键的布尔值。
方法声明:function ReadBool(const Section,Key:string;Default:Boolean):Boolean;
参数说明:Section指明待读子键所在段的段名;
Key指明待读子键的键名;
Default参数指明缺省时的返回值。
注释:ReadBool方法用于读取一个子键的布尔型值,当键值为"1"时,返回True,键值为"0"时,返回False.
9、WriteBool方法
该方法向指定段的某个子键写入布尔值。
方法声明:procedure WriteBool(const Section, Key:string; Value:Boolean);
参数说明:Senction指明待写入子键所在段的段名;
Key参数指明待写入值的子键键名;
Value指明待写入的布尔值;
注释:WriteBool 方法用于写入一个子键的布尔值,当Value为"True"时,写入"1"。Value为"Flase"时,写入"0"。若在写入时,指定的段或键名不存在,则自动创建该段和键名。
10、ReadInteger方法
该方法读取指定段的某个子键的整型值。
方法声明:function ReadInteger(const Section,Key:string; Default:longint):longint;
注释:此方法与ReadBool方法类似,只是变量类型不同。
11、WriteInteger方法
该方法向指写段的某个子键写放整型值。
方法声明:procedure WriteInteger(const Section,Key:string; Value:longint);
注释:此方法与WriteBool方法类似,只是变量灰型不同。
12、ReadString方法
该方法读取指定段的某个子键的字符串型 值。
方法声明:function ReadString(const Section,Key:string; Default:string):string;
注释;此方法与ReadBool方法类似,只是变量类型不同。
13、WriteString方法
该方法向指写段的某个子键写入整型值。
方法声明:procedure WriteString(const Section,Key:string; Value:string);
注释:此方法与WriteBool方法类似,只是变量类型不同。
14、FileName属性
该属性指明被封装在TIniFile对象中的INI文件的文件名。
属性声明:property FileName:string;
注释:FileName属性是一个运行时的只读属性。