INI ファイルは、システム構成やアプリケーション パラメータの保存と設定において非常に重要な役割を果たします。そのため、VB、VC、VFP、Delphi などのビジュアル プログラミング ファミリは、INI ファイルを読み書きするためのメソッドを提供します。これは、Delphi が INIファイルを非常に柔軟に処理できる TInifile クラスを提供しているためです。 INIファイルの構造[セクション名] ini ファイルのキーワード 1 = 値 1 キーワード 2 = 値 2 INI ファイルでは複数のセクションを使用でき、各セクションには複数のキーワードの値が続きます。値には、文字列、整数値、ブール値の 3 種類があります。文字列は引用符なしで INI ファイルに保存され、ブール値の true 値は 1 で表され、ブール値の false 値は 0 で表されます。
2. 定義
1. インターフェースの Uses セクションに IniFiles を追加します。
2. Var 変数定義セクションに次の行を追加します。
クラスのインスタンスを定義します。その後、変数 myinifile に対して作成、開く、読み取り、書き込みなどの操作を行うことができます。
3.INIファイルを開きます
myinifile:=Tinifile.create(PROgram.ini);
上記のステートメント行は、変数 myinifile と特定のファイル project.ini の間の接続を確立します。その後、program.ini ファイル内のキーワードの値を、変数 myinifile を通じて読み書きできるようになります。 括弧内のファイル名でパスが指定されていない場合、Program.ini ファイルは Windows ディレクトリに保存されることに注意してください。Program.ini ファイルをアプリケーションの現在のディレクトリに保存する方法は次のとおりです。完全なパスとファイル名。次の 2 つのステートメントでこの機能を完了できます。 Filename:=ExtractFilePath(Paramstr(0))+program.ini;myinifile:=Tinifile.Create(filename);
5.INIファイルの書き込み
同様に、TInifile クラスは、文字列、整数、およびブール型キーワードを INI ファイルに書き込むための 3 つの異なるオブジェクト メソッドも提供します。
myinifile.writestring(セクション名、キーワード、変数または文字列値);
myinifile.writeinteger(セクション名、キーワード、変数または整数値);
myinifile.writebool(セクション名、キーワード、変数、または True または False);
INI ファイルが存在しない場合、上記のステートメントにより INI ファイルが自動的に作成されます。
6. キーワードを削除する
Tinifile クラスは、write メソッドを使用してキーワードを追加するだけでなく、キーワードを削除するためのオブジェクト メソッドも提供します。
myinifile.DeleteKey(セクション名,キーワード);
7. セクションの操作
セクションの追加は write メソッドで実行でき、セクションの削除は次のオブジェクト メソッドで実行できます。
myinifile.EraseSection(セクション名);
さらに、Tinifile クラスには、セクションを操作する 3 つのオブジェクト メソッドも用意されています。myinifile.readsection (セクション名、TStrings 変数)、指定されたセクション内のすべてのキー名を文字列リスト変数に読み込むことができます。 ; INI ファイル内のすべてのセクション名を文字列リスト変数に読み取ることができます。 myinifile.readsectionvalues (セクション名, TStrings 変数); は、INI ファイル内の指定されたセクションのすべての行 (キーワード、=、値を含む) を文字列リスト変数に読み取ることができます。
8. リリース
次のステートメントを使用して、適切な場所にある myinifile を解放します。
myinifile.distory;
具体的な例を示します。ソースコードは以下の通りです。 newini という名前のセクションと、「ユーザー名」、「実行経過時間」、「正式ユーザーかどうか」という 3 つのキーワードを含む myini.ini ファイルが作成されました。実行中のエフェクトの場合、edit1 に「ユーザー名」を入力できます。edit2 には時間が表示されますが、値は変更できません。チェックボックス 1 は、myini.ini ファイルにチェックを入れることで時間と「ユーザー名」を保存します。アプリケーションが再度開かれると、保存された時間と入力された「ユーザー名」が myini.ini ファイル内で変更された場合、その効果はプログラムの実行中に変更された場合と同じになります。
ユニット Unit1; インターフェイスは Windows、メッセージ、SysUtils、バリアント、クラス、グラフィックス、コントロール、フォーム、ダイアログ、inifiles、StdCtrls、ExtCtrls を使用します。{inifiles クラスを呼び出します}type TForm1 = class(TForm) Label1: TLabel2: TLabel;編集 1: 編集 2: タイマー 1: タイマー; CheckBox1: TCheckBox; プロシージャ FormCreate(Sender: TObject); プロシージャ FormDestroy(Sender: TObject); private { プライベート宣言 } public { パブリック宣言 } end;var Form1: TForm1;implementationvarmyinifile:Tinifile;クラスのインスタンスを定義する{$R *.dfm}プロシージャTForm1.FormCreate(送信者: TObject);varfilename:string;begin{以下の 2 行は、アプリケーションのパス下に ini ファイルを作成する形式で記述されています}filename:=ExtractFilePath(paramstr(0))+'myini.ini';myinifile:= TInifile.Create( ファイル名);edit1.Text:=myinifile.ReadString(' newini','ユーザー名','胡長豪');edit2.text:=inttostr(myinifile.readinteger('newini','経過実行時間',0));checkbox1.Checked:=myinifile.readbool('newini ' ,'公式ユーザーですか',False);{newini はセクション名、中央のフィールドはキーワードの名前、3 番目のフィールドはデフォルト値です。 myini.ini が存在しない場合、上記のステートメントはこのファイルを自動的に作成します。上記の行の引用符は一重引用符です。}end;procedure TForm1.FormDestroy(Sender: TObject);begin myinifile.writestring('newini','ユーザー名',edit1.Text);myinifile.writeinteger('newini','経過実行時間',strtoint(edit2.text));myinifile.writebool('newini','かどうか公式ユーザー',checkbox1.Checked);myinifile.Destroy;end;procedure TForm1.Timer1Timer(Sender: TObject);begin edit2.Text:=inttostr(strtoint(edit2.text)+1);end;end。
iniファイル