設定ファイル(* .INI)とのTIniFileの使用状況にデルファイを使用します

構成ファイル

.iniファイルを初期化するプログラムや設定データを記憶するための、テキストのタイプに基づくファイルフォーマットです。

.iniファイルセグメント(セクション)であり、キー(鍵)、ファイルNセグメント(各セグメントは角括弧で囲まれた)を有していてもよい各々は、各セグメントは、実質的に次の形式で、キーMを有することができます:

    [ secontion] 

     KeyName1 = 値1; 

     ;コメント

     KeyName2 = 値2を、

    セグメント名とキー名が使用されてあまりにも大文字と小文字を区別しませんが、名前にはスペースを持つことができません。

    キーは整数、保存することができる文字列データ型、float型、ブール、datatimeなどを。

例として、私はサービス設定ファイルのデータベース接続を書いたように:

[Oralce] 

con_scyx。=プロバイダ= MSDAORA 1 ;パスワード= ygscyx;ユーザーID = scyx;データソース= ygdbsrv;の永続セキュリティ情報= 

con_erp。=プロバイダ= MSDAORA 1。 ERP =パスワード; ERPユーザーID =;データソース= ORCL;永続セキュリティ情報= 

 

   第二、設定ファイル読み込み

.iniファイルにアクセスするためのDelphiのTIniFileのクラスとを、クラスファイルが特にとして用い、IniFiles.pasに定義されている

の定義
IniFiles増加インタフェース部の使用; 2 、中Varの変数定義セクション増えライン:myinifile:のTIniFileは、
その後、オープン、作成、読み取り、書き込み、他の操作するmyinifile変数であることができます。
第二に、INIファイル開く
    ファイル名を: = ExtractFilePath(ParamStr(0))+ ' program.ini ' ; 
    myinifileを: =のTIniFile。作成します(ファイル名); 
     文は、その後、連絡先を確立する特定のファイルprogram.ini myinifileの変数になりますあなたは、変数myinifileを通じて、ファイルprogram.ini内のキーワードの値を読み書きすることができます。括弧は、ファイル名のパスを指定しない場合、このProgram.iniファイルがWindowsディレクトリに格納されている、方法Program.iniファイルは、アプリケーションの現在のディレクトリに格納されている:完全なパスとファイルを割り当てられた名前。  
第三に、キーと値の読み取り









文字列のためのINIファイルのサポート、整数値、ブールの3種類のデータ、TINIfilesは値INIファイルキーワードを読み取るために、オブジェクトのメソッドの3つの異なるクラスを提供します。定義された変数対、VI、VBそれぞれ、文字列、整数、ブール型を仮定する。どのINIは、デフォルト値ファイルが存在しないこのキーのデフォルト値を返します。

   VS: = myinifile.Readstring(' セクション名'' キー' 、デフォルト値); 

   VI: = myinifile.Readinteger(' セクション名'' キー' 、デフォルト値); 

VB: = myinifile.Readbool (セクション名キー、デフォルト値); 

4、INIファイルに書き込む

同じ、のTIniFileクラスはまた、三つの異なるオブジェクトのメソッドを提供する、INIファイルは、文字列、整数、ブールに書き込まれます。キーワードの種類。

myinifile.writestring(セクション名キー、または文字列変数の値); 

myinifile.writeinteger(セクション名キー、または変数の整数値); 

myinifile.writebool(セクション名キー、またはTrue変数またはFalse); 

INIファイルが存在しない場合は、上記の文も自動的にINIファイルを作成します。

キーワードを削除V. 

可能な書き込みキーワードを増加させる方法に加えて、のTIniFileクラスはまた、キーワードを削除オブジェクトのメソッドを提供します。

myinifile.DeleteKey(セクション名キー); 

六、操作部は、

対策を高めます方法は、書き込み完了するために使用することができる

myinifile.EraseSection(セクション名)。                     セクションを削除するには

myinifile.readsection(セクション名、TStringsは変数)は、文字列変数リストにすべてのキーワードセクション名を読み取り、myinifile.readsections(TStringsは変数);すべてのセクションは、INIファイルを読みました文字列変数のリストを取ります。

myinifile.readsectionvalues(セクション名TStringsの変数の、);変数のリストに読み取り、文字列のキーセクション。

七リリース

。myinifile ザ・は破壊は、またFreeAndNil(myinifile)を使用することができ、

 

私が書いた例は、構成ファイルのデータベース読み込み

手順TDBMonitorService.ServiceCreate(送信者:TObjectを);
 VAR 
、PFILE:配列 [ 0 ... 255 ] 文字を、
 始める
試みを
GetModuleFileNameは(0、PFILE、はsizeof(PFILEが)); // パスを取得 
g_Path:= ExtractFileDir(PFILE); // ファイル名からサービスのディレクトリ名へのアクセスを取得するパスを(ないファイルが得られ、ルートディレクトリ値でないときに「/」ルートディレクトリのように、文字、例えば、 "C:/")    
のTIniFile。作成(g_path + ' \ config.iniのを'
試す
ConScyxを: ReadString(= ' Oralce '' con_scyxを''' ); 
ConErp: ReadString(= ' Oralce '' con_erpを''' ); 
 最後に
、フリー; 
エンド;


con_scyx: = TADOConnectionの。作成ゼロ)。
con_scyx.ConnectionString: = ConScyx。
con_scyx.LoginPrompt: = falseは、

con_erp: = TADOConnectionの。作成ゼロ)。
con_erp.ConnectionString: = ConErp。
con_erp.LoginPrompt: = falseは、

qry_scyx: = TADOQuery。作成ゼロ)。
qry_scyx.Connection: = con_scyx。
qry_erp: = TADOQuery。作成ゼロ)。
qry_erp.Connection: =con_erp; 

除く
E ON:例外が行う
始まる
WRITELOG(e.Message + ' ! - >サービスの起動エラー' ); 
出口; 
エンド;
 エンド;
 エンド ;

 

おすすめ

転載: www.cnblogs.com/jijm123/p/11299147.html