델파이의 INI 파일 구조 소개

우선, INI 파일의 구조 :
] 주석
[섹션 이름]
키 값 =

INI 파일은이 키 값이어서, 다수의 섹션은, 차례로 각각의 섹션이 다수의 키워드있게 허용 "=". 
문자열, 정수, 부울 값 : 값의 세 가지 유형이 있습니다. 따옴표가 INI 파일에 저장된 문자열, 부울 진정한 값을 1로 표시되어 있지 않은 경우에있어서, 부울 거짓 값이 0으로 표시됩니다. 
";"세미콜론 주석의 시작 부분에서.

둘째, 정의
1 사용 인터페이스 부 IniFiles를 증가 
: 2, 변수 정의 부 바르에 줄을 추가 
않으며 TIniFile; myinifile를
다음 오픈 생성 읽기, 쓰기 등의 조작에 myinifile 변수 일 수있다.

셋째, INI 파일을 엽니 다

파일명 = ExtractFilePath (ParamStr에 (0)) + 'program.ini';
myinifile = Tinifile.Create (이름);

넷째, 키 값 읽기

문자열에 대한 INI 파일 지원은 값의 정수, 데이터의 부울 세 가지 유형, TINIfiles의 값은 INI 파일 키워드를 읽을 객체 메소드의 세 가지 클래스를 제공합니다.  
대 : = myinifile.Readstring ( '섹션 이름', '키', 기본값), 문자열 형

VI : = myinifile.Readinteger ( '섹션 이름', '키', 기본값) 형 정수

VB = myinifile.Readbool ( '섹션 이름', '키', 기본값), 부울 유형

다섯째, 쓰기 INI 파일

( '섹션 이름', '키'또는 문자열 변수 값) myinifile.writestring; 문자열 유형

myinifile.writeinteger ( '섹션 이름', '키'또는 가변 정수 값) Integer 클래스

myinifile.writebool ( '섹션 이름', '키', 또는 참 또는 거짓 변수) 부울 유형  

INI 파일이 존재하지 않는 경우, 위의 문은 자동으로 INI 파일을 만듭니다.

여섯째, 삭제 키워드

myinifile.DeleteKey ( '섹션 이름', '키워드');

VII 부 연산

이 방법은 가능한 객체 메소드 다음 섹션 제거 완료에 쓰기 섹션을 증가하는 데 사용할 수 있습니다 myinifile.EraseSection ( '섹션 이름을'); 따라서, TIniFile 더 클래스는 객체의 하위 섹션에서 작동하는 세 가지 방법을 제공합니다 :

myinifile.readsection ( '섹션 이름'TStrings를 변수);

모든 키워드는 문자열 변수의 목록을 읽을 수있는 섹션의 이름을 지정할 수 있습니다;

myinifile.readsections (TStrings를 变量);

INI 파일 이름은 문자열 변수의 목록에 모든 섹션을 읽을 수 있습니다.

myinifile.readsectionvalues ​​( '섹션 이름'TStrings를 변수);

INI 파일은 문자열 변수의 목록을 읽을 수있는 (키워드 = 값 포함) 바 모든 행에 지정 될 수 있습니다.

여덟 개 출시

다음 문을 장소에 myinifile 릴리스 :

myinifile.distory, 구 델파이는 내장 함수 요약
 

읽고 Windows API 함수 WritePrivateProfileString 및이 GetPrivateProfileString를 사용하여 .INI 파일에 쓸 수 있습니다. 사실, 읽기 및 쓰기 .INI 파일이 완전히 델파이의 내장 함수에 의해 실현 될 수있다. 여기에 읽고 쓸 때 .INI 파일 관련 일부 클래스의 속성과 메소드입니다.

(1) 따라서, TIniFile 개체

 델파이에서, 우리는 .INI 파일을 거기에 패키지화 따라서, TIniFile 객체를 정의하고 INI 파일에 대한 작업을 읽기 및 쓰기 수 있도록 설계 방법을 제공합니다. 프로그램이나 방법에 따라서, TIniFile 클래스 속성을 사용하는 경우, 수동으로 프로그램 단위에서 IniFiles를 단위 사용 문에 대한 참조를 추가 할 필요가있다.

2、Create方法

 该方法用来创建一个处理INI文件的TIniFile类型实例。

 方法声明:constructor Create(const FileName:string);

 参数说明:FileName指明待创建的INI文件的文件名;

 注释:在使用TIniFile对象之前,必须先用此方法创建一个INI文件的实例。FileName中可以包含路径名,缺省时为Windows所在目录(一般就是C:windows,对于Windows NT来说,则一般是c:winnt)。用Create方法创建的实例,在使用完之后,调用Free方法释放内存。

3、ReadSection方法

 该方法从INI文件中读出指定段的所有子键名,并存入Strings参数指定的字符串列表对象中。

 方法声明:procedure ReadSection(const Section:string; Strings:TStrings);

 参数说明:Section指明要读取段的段名;

 Strings指明存放子键名的字符串列表;

 注释:ReadSection方法仅读入指定段的所有子键名,但不读入子键的值。

4、ReadSections方法

 该方法从INI文件中读取所有段名,并存入Strings参数指定的字符中列表中。

 方法声明:procedure ReadSections(Strings:TStrings);

 参数说明:Strings参数指明存放段名的字符串列表;

 注释:ReadSections方法将INI文件中所有段的段名读出,存入一指定的字符串列表中,此字符串列表可以直接使用某个列表框的Items属性。

5、ReadSectionValues方法

 该方法从INI文件中读入指定段的所有子键名及其键值,并存入Strings参数指定的字符串列表中。

 方法声明:procedure ReadSectionValues(const Section:String; Strings:TStrings);

 参数说明:Section指明要读取段的段名;

 Strings指明存放段名的字符串列表;

 注释:ReadSectionValues方法与ReadSection方法的区别在于后者仅读入子键名,面前者除了读取子键名之外,还读取该子键对应的键值。读入的子键名及键值在字符串列表中的存放方法与在文件中的显示方法一致,即"Key=Value"形式。

6、EraseSection方法

 该方法删除INI文件中指定的一个整段。

 方法声明:procedure EraseSection(const Section:string);

参数说明:Section指明待删除段的段名;

注释:EraseSection方法不仅删除指定段的段名,面且同时将该段的所有子键及键值删除。

7、DeleteKey方法

 该方法删除指定段中的某个指定的子键。

 方法声明:procedure DeleteKey(const Section,Key:string);

 参数说明:Section指明待删除子键据段的段名;

 Key指明待删除子键的键名;

 注释:DeleteKey方法删除整个子键(包括键名和键值),也就是删除该子键所在的一行。

8、ReadBool方法

 该方法读取指定段的某个子键的布尔值。

方法声明:function ReadBool(const Section,Key:string;Default:Boolean):Boolean;

参数说明:Section指明待读子键所在段的段名;

 Key指明待读子键的键名;

 Default参数指明缺省时的返回值。

注释:ReadBool方法用于读取一个子键的布尔型值,当键值为"1"时,返回True,键值为"0"时,返回False.

9、WriteBool方法

 该方法向指定段的某个子键写入布尔值。

 方法声明:procedure WriteBool(const Section, Key:string; Value:Boolean);

 参数说明:Senction指明待写入子键所在段的段名;

 Key参数指明待写入值的子键键名;

 Value指明待写入的布尔值;

 注释:WriteBool 方法用于写入一个子键的布尔值,当Value为"True"时,写入"1"。Value为"Flase"时,写入"0"。若在写入时,指定的段或键名不存在,则自动创建该段和键名。

10、ReadInteger方法

 该方法读取指定段的某个子键的整型值。

 方法声明:function ReadInteger(const Section,Key:string; Default:longint):longint;

 注释:此方法与ReadBool方法类似,只是变量类型不同。

11、WriteInteger方法

 该方法向指写段的某个子键写放整型值。

 方法声明:procedure WriteInteger(const Section,Key:string; Value:longint);

 注释:此方法与WriteBool方法类似,只是变量灰型不同。

12、ReadString方法

 该方法读取指定段的某个子键的字符串型 值。

 方法声明:function ReadString(const Section,Key:string; Default:string):string;

 注释;此方法与ReadBool方法类似,只是变量类型不同。

13、WriteString方法

 该方法向指写段的某个子键写入整型值。

 方法声明:procedure WriteString(const Section,Key:string; Value:string);

 注释:此方法与WriteBool方法类似,只是变量类型不同。

14、FileName属性

 该属性指明被封装在TIniFile对象中的INI文件的文件名。

 属性声明:property FileName:string;

 注释:FileName属性是一个运行时的只读属性。

 

추천

출처www.cnblogs.com/guorongtao/p/11972059.html