尽管使用 TIniFile 类很方便, 但我觉得还是用系统 API 操作更顺手, 读写各只需要一行代码, 也不用 uses IniFiles.
本例效果图:
代码文件:
本例效果图:
代码文件:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Memo1: TMemo; Button1: TButton; Button2: TButton; Button3: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); end; var Form1: TForm1; implementation {$R *.dfm} const FilePath = 'C:\Temp\My.ini'; //写入 Ini 文件, 如果指定文件路径不存在会自动建立 procedure TForm1.Button1Click(Sender: TObject); begin WritePrivateProfileString('段1', 'Key1', '值1', PChar(FilePath)); WritePrivateProfileString('段1', 'Key2', '值2', PChar(FilePath)); WritePrivateProfileString('段2', 'Key1', '值1', PChar(FilePath)); end; //把写入结果显示在 Memo 看看 procedure TForm1.Button2Click(Sender: TObject); begin if not FileExists(FilePath) then Exit; Memo1.Lines.LoadFromFile(FilePath); end; //读取测试 procedure TForm1.Button3Click(Sender: TObject); var buf: array[Byte] of Char; {准备接受缓冲区} begin GetPrivateProfileString('段1', 'Key2', '默认值', buf, Length(buf), PChar(FilePath)); ShowMessage(buf); end; end.窗体文件:
object Form1: TForm1 Left = 0 Top = 0 Caption = 'Form1' ClientHeight = 148 ClientWidth = 237 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'Tahoma' Font.Style = [] OldCreateOrder = False Position = poDesktopCenter PixelsPerInch = 96 TextHeight = 13 object Button1: TButton Left = 127 Top = 24 Width = 98 Height = 25 Caption = #20889#20837' Ini '#25991#20214 TabOrder = 0 OnClick = Button1Click end object Button2: TButton Left = 127 Top = 65 Width = 98 Height = 25 Caption = #30475#30475#20889#20837#32467#26524 TabOrder = 1 OnClick = Button2Click end object Button3: TButton Left = 127 Top = 104 Width = 98 Height = 25 Caption = #35835#21462' Ini '#25991#20214 TabOrder = 2 OnClick = Button3Click end object Memo1: TMemo Left = 0 Top = 0 Width = 121 Height = 148 Align = alLeft Lines.Strings = ( 'Memo1') TabOrder = 3 ExplicitHeight = 183 end end相关函数还有:
WritePrivateProfileSection {} WriteProfileSection {} WriteProfileString {} GetPrivateProfileInt {} GetPrivateProfileSection {} GetPrivateProfileStruct {} GetProfileInt {} GetProfileSection {} GetProfileString {}