• Delphi读写ini文件(C++Builder类似)


    一、定义

    -- 1 、在 Interface 的 Uses 节增加 IniFiles;
    -- 2 、在 Var 变量定义部分增加一行 :
    MyIniFile:TIniFile;
    -- 然后 ,就可以对变量 MyIniFile 进行创建、打开、读取、写入等操作了。

    二、打开 INI 文件

    `MyIniFile := TIniFile.Create('program.ini');`
    

    -- 上面这一行语句将会为变量 MyIniFile 与具体的文件 program.ini 建立联系 ,然后 ,就可以通过变量 myinifile,来读写 program.ini 文件中的关键字的值了。
    -- 值得注意的是 ,如果括号中的文件名没有指明路径的话 ,那么这个 Program.ini 文件会存储在 Windows 目录中 ,把Program.ini文件存储在应用程序当前目录中的方法是 为其指定完整的路径及文件名。下面的两条语句可以完成这个功能
    Filename:=ExtractFilePath(Paramstr(0))+'program.ini';
    myinifile:=Tinifile.Create(filename);

    三、读取关键字的值

    -- 针对 INI 文件支持的字符串、整型数值、布尔值三种数据类型 ,TINIfiles 类提供了三种不同的对象方法来读取 INI 文件中关键字的值。
    -- 假设已定义变量 vs 、 vi 、 vb 分别为 string 、 integer 、 boolean 类型。
    vs:=myinifile.Readstring(' 小节名 ',' 关键字 ',缺省值 );
    vi:=myinifile.Readinteger(' 小节名 ',' 关键字 ',缺省值 );
    vb:=myinifile.Readbool(' 小节名 ',' 关键字 ',缺省值 );
    -- 其中缺省值为该 INI 文件不存在该关键字时返回的缺省值。

    四、写入 INI 文件

    -- 同样的 TInifile 类也提供了三种不同的对象方法 ,向 INI 文件写入字符串、整型数及布尔类型的关键字。
    myinifile.writestring(' 小节名 ',' 关键字 ',变量或字符串值 );
    myinifile.writeinteger(' 小节名 ',' 关键字 ',变量或整型数值 );
    myinifile.writebool(' 小节名 ',' 关键字 ',变量或 True 或 False);
    -- 当这个 INI 文件不存在时 ,上面的语句还会自动创建该 INI 文件。

    五、删除关键字

    -- 除了可用写入方法增加一个关键字 ,Tinifile 类还提供了一个删除关键字的对象方法 :
    myinifile.DeleteKey(' 小节名 ',' 关键字 ');

    六、小节操作

    -- 增加一个小节可用写入的方法来完成 ,删除一个小节可用下面的对象方法 :
    myinifile.EraseSection(' 小节名 ');
    -- 另外 Tinifile 类还提供了三种对象方法来对小节进行操作 :
    myinifile.readsection(' 小节名 ',TStrings 变量 );
    可将指定小节中的所有关键字名读取至一个字符串列表变量中 ;
    myinifile.readsections(TStrings 变量 );
    可将 INI 文件中所有小节名读取至一个字符串列表变量中去。
    myinifile.readsectionvalues(' 小节名 ',TStrings 变量 );
    可将 INI 文件中指定小节的所有行 ( 包括关键字、 = 、值 ) 读取至一个字符串列表变量中去。

    七、释放

    -- 在适当的位置用下面的语句释放 myinifile:
    MyIniFile.Distory;

    八、实例

    Var
      MyIni: TIniFile;
      FileName : string; //文件名与路径
      ValStr : string;   //字符串值
      ValInt : integer;  //整数值
      ValBool : Boolean; //布尔值
    
    //读ini文件内容
    begin
      //取得应用程序当前路径和INI文件名
      FileName := ExtractFilePath(Paramstr(0)) + 'MyIni.ini';
      MyIni := TIniFile.Create(FileName);
      try
        ValStr := MyIni.ReadString('MySection' ,'ValStr' ,'');
        ValInt := MyIni.ReadInteger('MySection' ,'ValInt' ,0);
        ValBool := MyIni.ReadBool('MySection' ,'ValBool' ,False);
        edtStr.Text := ValStr;
        edtInt.Text := IntToStr(ValInt);
        cbxBool.Checked := ValBool;
        ShowMessage('Read Successful!')
      finally
        MyIni.Free;
      end;
    end.
    
    //写ini文件内容
    begin
      FileName := ExtractFilePath(Paramstr(0)) + 'MyIni.ini';
      MyIni := TIniFile.Create(FileName);
      ValStr := edtStr.Text;
      ValInt := StrToInt(edtInt.Text);
      ValBool := cbxBool.Checked;
      try
        MyIni.WriteString('MySection' ,'ValStr' ,ValStr);
        MyIni.WriteInteger('MySection' ,'ValInt' ,ValInt);
        MyIni.WriteBool('MySection' ,'ValBool' ,ValBool);
        ShowMessage('Write Successful!')
      finally
        MyIni.Free;
    
  • 相关阅读:
    被Play framework狠狠的play了一把
    ant导入Zookeeper到Eclipse错误path contains invalid character
    Hadoop2.4代码的坑
    uml类关系
    Hadoop 源码编译导出
    Eclipse 导入 Hadoop 源码
    js中的prototype和constructor
    react之路:使用redux-immutable
    react之路:使用actionCreators和constants
    react之路:使用combineReducers拆分reducer
  • 原文地址:https://www.cnblogs.com/spfanlost/p/13764217.html
Copyright © 2020-2023  润新知