構成ファイル .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 + ' ! - >サービスの起動エラー' ); 出口; エンド; エンド; エンド ;