`
free_bird816
  • 浏览: 206068 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

ini 文件操作

阅读更多

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

uses IniFiles;  {uses 包含 TIniFile 的单元}

var
  ini: TIniFile;
  path: string;         {ini 文件路径}
  Section,Key: string{分别表示 ini 文件的小节与关键字}

{
  ini文件结构:
  ;注释
  [小节名]
  关键字=值

  INI文件支持: string、integer、boolean、Date、Time、DateTime、Double 与二进制类型
  string 值没有引号
  boolean 的真假用 1、0 表示
}


procedure TForm1.FormCreate(Sender: TObject);
begin
  path := ChangeFileExt(ParamStr(0),'.ini');
  ini := TIniFile.Create(path);  {ini 对象建立需要文件路径参数, 如果缺少路径会默认Windows目录}
end;

//写入 ini 文件:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Section := 'AAA';
  Key := 'AString';
  ini.WriteString(Section,Key,'AAA-String');

  Key := 'AInteger';
  ini.WriteInteger(Section,Key,111);

  Key := 'ABoolean';
  ini.WriteBool(Section,Key,True);

  Key := 'ADate';
  ini.WriteDate(Section,Key,Now);

  Key := 'ATime';
  ini.WriteTime(Section,Key,Now);

  Key := 'ADateTime';
  ini.WriteDateTime(Section,Key,Now);

  Key := 'ADouble';
  ini.WriteFloat(Section,Key,Pi);


  Section := 'BBB';
  Key := 'BString';
  ini.WriteString(Section,Key,'BBB-String');

  Key := 'BInteger';
  ini.WriteInteger(Section,Key,222);

  Key := 'BBoolean';
  ini.WriteBool(Section,Key,True);

  Key := 'BDate';
  ini.WriteDate(Section,Key,Now);

  Key := 'BTime';
  ini.WriteTime(Section,Key,Now);

  Key := 'BDateTime';
  ini.WriteDateTime(Section,Key,Now);

  Key := 'BDouble';
  ini.WriteFloat(Section,Key,Pi);


  Section := 'CCC';
  Key := 'CString';
  ini.WriteString(Section,Key,'CCC-String');

  Key := 'CInteger';
  ini.WriteInteger(Section,Key,333);

  Key := 'CBoolean';
  ini.WriteBool(Section,Key,False);

  Key := 'CDate';
  ini.WriteDate(Section,Key,Now);

  Key := 'CTime';
  ini.WriteTime(Section,Key,Now);

  Key := 'CDateTime';
  ini.WriteDateTime(Section,Key,Now);

  Key := 'CDouble';
  ini.WriteFloat(Section,Key,Pi);

{写入结果:
  [AAA]
  AString=AAA-String
  AInteger=111
  ABoolean=1
  ADate=2007-12-17
  ATime=22:06:23
  ADateTime=2007-12-17 22:06:23
  ADouble=3.14159265358979
  [BBB]
  BString=BBB-String
  BInteger=222
  BBoolean=1
  BDate=2007-12-17
  BTime=22:06:23
  BDateTime=2007-12-17 22:06:23
  BDouble=3.14159265358979
  [CCC]
  CString=CCC-String
  CInteger=333
  CBoolean=0
  CDate=2007-12-17
  CTime=22:06:23
  CDateTime=2007-12-17 22:06:23
  CDouble=3.14159265358979
}

end;

//读取 ini 文件:
procedure TForm1.Button2Click(Sender: TObject);
var
  s: string;
  i: Integer;
  b: Boolean;
  f: Double;
  d: TDate;
  t: TTime;
  dt: TDateTime;
begin
  s := ini.ReadString('BBB','BString','');  {最后一个参数是默认值}
  i := ini.ReadInteger('BBB','BInteger',0);
  b := ini.ReadBool('BBB','BBoolean',False);
  f := ini.ReadFloat('BBB','BDouble',0);
  d := ini.ReadDate('BBB','BDate',Now);
  t := ini.ReadTime('BBB','BTime',Now);
  dt := ini.ReadDateTime('BBB','BDateTime',Now);

  ShowMessage(s);                 {BBB-String}
  ShowMessage(IntToStr(i));       {222}
  ShowMessage(BoolToStr(b));      {-1(True)}
  ShowMessage(FloatToStr(f));     {3.14159265358979}
  ShowMessage(DateToStr(d));      {2007-12-17}
  ShowMessage(TimeToStr(t));      {22:06:23}
  ShowMessage(DateTimeToStr(dt)); {2007-12-17 22:06:23}
end;

//读入所有小节名到 TStrings:
procedure TForm1.Button3Click(Sender: TObject);
var
  List: TStrings;
begin
  List := TStringList.Create;
  ini.ReadSections(List);
  ShowMessage(List.Text);
  {
    AAA
    BBB
    CCC
  }

  List.Free;
end;

//读入指定小节的所有关键字到 TStrings:
procedure TForm1.Button4Click(Sender: TObject);
var
  List: TStrings;
begin
  List := TStringList.Create;
  ini.ReadSection('AAA',List);
  ShowMessage(List.Text);
  {
    AString
    AInteger
    ABoolean
    ADate
    ATime
    ADateTime
    ADouble
  }

  List.Free;
end;

//读入指定小节的所有关键字与值到 TStrings:
procedure TForm1.Button5Click(Sender: TObject);
var
  List: TStrings;
begin
  List := TStringList.Create;
  ini.ReadSectionValues('BBB',List);
  ShowMessage(List.Text);
  {
    BString=BBB-String
    BInteger=222
    BBoolean=1
    BDate=2007-12-17
    BTime=22:06:23
    BDateTime=2007-12-17 22:06:23
    BDouble=3.14159265358979
  }

  List.Free;
end;

//删除与添加
procedure TForm1.Button6Click(Sender: TObject);
begin
  ini.DeleteKey('BBB','BString');  {删除关键字}
  ini.EraseSection('CCC');         {删除小节}
//  ini.UpdateFile;                {保存到文件}

{添加小节与关键字或修改值, 直接写入即可}
end;

//其他功能
procedure TForm1.Button7Click(Sender: TObject);
var
  b: Boolean;
  s: string;
begin
  b := ini.SectionExists('DDD');         {判断某个小节是否存在}
  b := ini.ValueExists('AAA','AString'); {判断某个关键字的值是否存在}
  s := ini.FileName;                     {获取文件名}
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  ini.Free;
end;

end.

分享到:
评论

相关推荐

    两个INI文件操作实例,VC++源代码

    标题中的“两个INI文件操作实例,VC++源代码”指的是使用C++编程语言,通过Microsoft Visual Studio(VC++)环境,实现对INI配置文件的读取和写入功能的两个具体示例。INI文件是一种常见的配置文件格式,常用于存储...

    很好的INI文件操作类

    标题中的“很好的INI文件操作类”指的是一个专用于处理INI配置文件的类库,这种类库在编程中常被用于读写配置设置,特别是在Windows环境下。INI文件是一种简单的文本格式,用于存储用户或应用程序的配置信息,如设置...

    INI文件操作类库 [ini4j].7z

    4. **支持注释**:`ini4j`不仅处理键值对,还支持解析和操作INI文件中的注释行,这对于理解和维护配置文件非常有用。 5. **国际化支持**:对于多语言应用,`ini4j`可以处理包含不同语言版本的INI文件,通过指定语言...

    一个封装好的ini文件操作类

    这里我们关注的是一个在VC(Visual C++)环境下封装好的ini文件操作类,它使得开发者能够方便地对ini文件进行读取和写入操作。 IniFile类通常包含以下几个主要功能: 1. **初始化**:类的构造函数可能接受文件路径...

    完整的linux实现ini文件操作的小列子

    完整的linux实现ini文件操作的小列子完整的linux实现ini文件操作的小列子完整的linux实现ini文件操作的小列子完整的linux实现ini文件操作的小列子完整的linux实现ini文件操作的小列子完整的linux实现ini文件操作的小...

    Ini文件操作_ini文件操作_

    总结,Ini文件操作是Windows应用程序中常见的配置管理手段,了解其基本结构和操作方法对于开发者来说至关重要。通过学习和实践,可以熟练地在Ini文件中读取、写入、删除和修改数据,以满足各种程序配置需求。

    自己写的ini文件操作

    在这个“自己写的ini文件操作”项目中,我们可以了解到如何使用自定义的方法来读取、写入和管理ini文件。 在Windows系统中,通常内置了`GetPrivateProfileString`和`WritePrivateProfileString`等API函数来处理ini...

    C# ini文件操作工具类 亲测可用 超详细 带说明文档

    为了在C#中操作ini文件,我们可以创建一个工具类,如`LToolIni`,这个类可以封装各种ini文件操作方法。以下是一些核心方法的实现概览: 1. **读取ini文件**: - `GetAllSections()`:返回ini文件中的所有节。 - `...

    对ini文件操作,读、写,删,改

    1. ini文件操作: ini文件由键值对组成,通常用于存储应用程序的配置信息。在C++中,我们可以使用Windows API函数来读写ini文件。例如,`GetPrivateProfileString`用于读取数据,`WritePrivateProfileString`用于...

    易语言内存INI文件操作模块源码

    内存INI文件操作模块是易语言中用于处理配置文件的一种技术,它允许程序在内存中读写INI文件,提高效率并减少磁盘IO操作。INI文件是一种常见的配置文件格式,通常用于存储应用程序的设置和参数。 在易语言中,内存...

    ini文件操作示例

    综上所述,ini文件操作涉及了配置文件的读取、写入和修改,这些基本操作对于任何需要持久化存储设置的应用程序都至关重要。在编程中熟练掌握ini文件的处理,能帮助我们更好地管理和维护应用程序的配置信息。

    ini 文件操作函数库 INI 读写 库

    本篇将详细讲解如何使用ini文件操作函数库进行读写操作。 首先,我们需要了解ini文件的基本结构。一个ini文件通常由多个节(Section)组成,每个节有自己的名称,用方括号`[]`包围。在每个节内,可以定义多个键值对...

    MFC ini文件操作

    MFC ini 文件操作 MFC ini 文件操作是 Windows 操作系统中的一种常见的配置文件格式。INI 文件由节名、键名和键值三部分构成。下面是对 MFC ini 文件操作的详细介绍。 一、INI 文件结构解析 一个典型的 INI 文件...

    CIni_demo VC Ini文件操作类 ini文件操作

    "CIni_demo VC Ini文件操作类"是Visual C++(VC)环境下使用的一个类库,它简化了对Ini文件的读写操作。这个类库通常包含一组方法,使得开发者能够方便地在程序中处理Ini文件,而无需直接调用Windows API函数。下面...

    ini文件操作.rar

    了解ini文件操作对于开发Windows平台的应用程序至关重要,特别是在需要存储用户配置或程序状态时。通过理解ini文件的结构和操作方法,开发者可以轻松地实现对配置的管理和读取,提升软件的用户体验。

    ini文件操作

    ### INI 文件操作详解 #### 引言 在软件开发领域,尤其是Windows应用程序设计中,配置文件的管理和读写是一项基本且重要的技能。其中,INI(初始化)文件因其简单、直观的特点,在各种应用环境中被广泛采用。本文...

    INI文件操作类

    INI文件操作类 作者 凯征 在网上看了一些INI文件读写的一些源码,总是感觉少了些什么。于是自己编了一个INI文件操作类拿出来和大家分享,希望有所帮助。 本类的限制 1. INI文件必须用段名开头 如:[Section1] 2. 在...

    基于java的开发源码-INI文件操作类库 ini4j.zip

    基于java的开发源码-INI文件操作类库 [ini4j].zip 基于java的开发源码-INI文件操作类库 [ini4j].zip 基于java的开发源码-INI文件操作类库 [ini4j].zip 基于java的开发源码-INI文件操作类库 [ini4j].zip 基于java的...

    C#目录和ini文件操作

    在C#编程中,目录和ini文件操作是常见的任务,特别是在开发桌面应用程序时。下面将分别探讨这些主题,包括如何管理目录、查找文件以及如何读写ini配置文件。 1. **目录操作**: - **创建目录**:C#中的`System.IO....

    用STL实现的ini文件操作类

    标题 "用STL实现的ini文件操作类" 描述了一个使用C++标准模板库(STL)来处理ini配置文件的程序。ini文件是一种常见的文本格式,用于存储应用程序的配置设置。这种实现允许读取、写入和修改ini文件中的数据,以适应...

Global site tag (gtag.js) - Google Analytics