INI的读写

该博客展示了在Windows环境下,使用Delphi编写的窗体程序对INI文件进行读写操作的代码。通过按钮点击事件,实现将编辑框文本写入INI文件,以及从INI文件读取内容设置窗体标题。
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, [这里必须引用inifiles],StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var ok:tinifile;
begin
ok:=tinifile.Create('ok.ini');
ok.WriteString('form','caption',edit1.text);
ok.Free;
end;

procedure TForm1.Button2Click(Sender: TObject);
var ok:tinifile;
begin
ok:=tinifile.Create('ok.ini');
form1.Caption:=ok.ReadString('form','caption','');
ok.free;

end;

end.
使用Qt实现INI文件读写,可借助`QSettings`类,以下是具体的读写步骤与代码示例: ### 读取INI文件 `QSettings`读写ini文件时,先通过路径名称打开文件并设定为ini文件格式,然后进行读/写数据,最后关闭文件并删除句柄[^3]。 ```cpp #include <QCoreApplication> #include <QSettings> #include <QDebug> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); // 通过路径名称打开文件并设定为ini文件格式 QSettings settings("config.ini", QSettings::IniFormat); // 读取数据 QString value = settings.value("Section/Key", "default").toString(); qDebug() << "Read value:" << value; return a.exec(); } ``` ### 写入INI文件 ```cpp #include <QCoreApplication> #include <QSettings> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); // 通过路径名称打开文件并设定为ini文件格式 QSettings settings("config.ini", QSettings::IniFormat); // 写入数据 settings.setValue("Section/Key", "new value"); return a.exec(); } ``` ### 修改INI文件 修改INI文件本质上也是使用`setValue`方法,若键已存在则更新其值。 ```cpp #include <QCoreApplication> #include <QSettings> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); // 通过路径名称打开文件并设定为ini文件格式 QSettings settings("config.ini", QSettings::IniFormat); // 修改数据 settings.setValue("Section/Key", "modified value"); return a.exec(); } ``` 此外,还可以通过自定义类实现INI文件的读写,如下是一个简单示例: ```cpp // iniTool.h #ifndef INIREAD_UTIL_H #define INIREAD_UTIL_H #include <QMap> #include <QSettings> class iniRead_Util { public: iniRead_Util(); static iniRead_Util& ini_util() { static iniRead_Util ini_util; //单例实例 return ini_util; } // 禁止拷贝和赋值 iniRead_Util(const iniRead_Util &) = delete; iniRead_Util &operator=(const iniRead_Util &) = delete; //对外提供访问接口 QMap<QString, int> getMainIniMap() const; void setMyMap(const QMap<QString, QString> &map); void readIni();//读ini文件 void writeIni();//写ini文件 private: QMap<QString, int> m_MapIniMainArg;//存储对应ini文件内容,由于ini文件是键值对的形式,所以这里采用map集合来存储 QList<QString> m_ListIniMainKey;//存储ini文件中所有的键名 }; #endif // INIREAD_UTIL_H // iniTool.cpp #include "iniTool.h" iniRead_Util::iniRead_Util() {} QMap<QString, int> iniRead_Util::getMainIniMap() const { return m_MapIniMainArg; } void iniRead_Util::setMyMap(const QMap<QString, QString> &map) { // 处理设置map的逻辑 } void iniRead_Util::readIni() { QSettings settings("config.ini", QSettings::IniFormat); // 读取逻辑 } void iniRead_Util::writeIni() { QSettings settings("config.ini", QSettings::IniFormat); // 写入逻辑 } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值