1. INI 파일의 구조를 이해하는 것이 필요합니다.
;논평
[섹션 이름]
키워드=값
...
INI 파일은 여러 섹션을 허용하며 각 섹션은 여러 키워드를 허용합니다. "=" 뒤에 키워드 값이 옵니다.
값에는 문자열, 정수 값, 부울 값의 세 가지 유형이 있습니다. 문자열은 따옴표 없이 INI 파일에 저장되며 Boolean True 값은 1로 표시되고 Boolean False 값은 0으로 표시됩니다.
주석은 세미콜론 ";"으로 시작합니다.
2. 정의
1. 인터페이스의 사용 섹션에 IniFiles를 추가합니다.
2. Var 변수 정의 섹션에 한 줄을 추가합니다.
myinifile:Tinifile;
그런 다음 myinifile 변수에 대한 생성, 열기, 읽기, 쓰기 및 기타 작업을 수행할 수 있습니다.
3. INI 파일을 엽니다.
myinifile:=Tinifile.create('program.ini');
위 명령문 행은 myinifile 변수와 특정 파일 program.ini 사이의 연결을 설정합니다. 그런 다음, 변수 myinifile을 통해 program.ini 파일의 키워드 값을 읽고 쓸 수 있습니다.
대괄호 안의 파일 이름이 경로를 지정하지 않으면 Program.ini 파일이 Windows 디렉터리에 저장됩니다. 응용 프로그램의 현재 디렉터리에 Program.ini 파일을 저장하는 방법은 지정하는 것입니다. 전체 경로 및 파일 이름. 다음 두 명령문은 이 기능을 수행할 수 있습니다.
할 수 있는:
파일 이름:=ExtractFilePath(Paramstr(0))+'program.ini';
myinifile:=Tinifile.Create(파일 이름);
4. 키워드의 가치를 읽어보세요
INI 파일에서 지원하는 문자열, 정수 값, 부울 값의 세 가지 데이터 유형에 대해 TINIfiles 클래스는 INI 파일의 키워드 값을 읽을 수 있는 세 가지 객체 메서드를 제공합니다.
정의된 변수 vs, vi 및 vb가 각각 문자열, 정수 및 부울 유형이라고 가정합니다.
vs:=myinifile.Readstring('섹션 이름','키워드',기본값);
vi:=myinifile.Readinteger('섹션 이름','키워드',기본값);
vb:=myinifile.Readbool('섹션 이름','키워드',기본값);
기본값은 INI 파일에 키워드가 없을 때 반환되는 기본값입니다.
5. INI 파일 쓰기
마찬가지로 TInifile 클래스는 문자열, 정수 및 부울 유형 키워드를 INI 파일에 쓰는 세 가지 다른 개체 메서드도 제공합니다.
myinifile.writestring('섹션 이름', '키워드', 변수 또는 문자열 값);
myinifile.writeinteger('섹션 이름', '키워드', 변수 또는 정수 값);
myinifile.writebool('섹션 이름', '키워드', 변수 또는 True 또는 False);
INI 파일이 존재하지 않는 경우 위 명령문은 자동으로 INI 파일을 생성합니다.
6. 키워드 삭제
write 메소드를 사용하여 키워드를 추가하는 것 외에도 Tinifile 클래스는 키워드 삭제를 위한 객체 메소드도 제공합니다.
myinifile.DeleteKey('섹션 이름','키워드');
7. 구간운영
섹션 추가는 write 메소드로 수행할 수 있으며, 섹션 삭제는 다음 객체 메소드로 수행할 수 있습니다.
myinifile.EraseSection('섹션 이름');
또한 Tinifile 클래스는 섹션에서 작동하는 세 가지 객체 메서드도 제공합니다.
myinifile.readsection('section name', TStrings 변수); 지정된 섹션의 모든 키워드 이름을 문자열 목록 변수로 읽을 수 있습니다.
myinifile.readsections(TStrings 변수); INI 파일의 모든 섹션 이름을 문자열 목록 변수로 읽을 수 있습니다.
myinifile.readsectionvalues('section name', TStrings 변수); INI 파일에 있는 지정된 섹션의 모든 라인(키워드, =, 값 포함)을 문자열 목록 변수로 읽을 수 있습니다.
8. 출시
다음 명령문을 사용하여 적절한 위치에 myinifile을 해제합니다.
myinifile.distory;
9. 예
다음은 간단한 예제(그림 참조)를 사용하여 INI 파일을 생성하고 읽고 저장하는 방법을 보여줍니다. myini.ini 파일에는 "프로그램 매개변수" 섹션과 사용자 이름(문자열), 공식 사용자 상태(부울 값) 및 경과 시간(정수 값)이라는 세 가지 키워드가 포함되어 있습니다. 프로그램은 양식이 생성될 때 이 데이터를 읽고 양식이 해제될 때 myini.ini 파일을 씁니다.
첨부된 소스 프로그램 목록
유닛유닛1;
인터페이스
용도
Windows, 메시지, SysUtils, 변형, 클래스, 그래픽, 컨트롤, 양식,
대화상자,IniFiles,StdCtrls,ExtCtrls;
유형
TForm1=클래스(TForm)
편집1:T편집;
편집2:T편집;
CheckBox1:TCcheckBox;
타이머1:T타이머;
ProcedureFormCreate(Sender:TObject);
ProcedureFormDestroy(Sender:TObject);
ProcedureTimer1Timer(Sender:TObject);
사적인
{개인선언}
공공의
{공개선언}
끝;
var
Form1:TForm1;
myinifile:Tinifile;
구현
{$R*.dfm}
절차TForm1.FormCreate(Sender:TObject);
var
파일 이름:문자열;
시작하다
파일 이름:=ExtractFilePath(paramstr(0))+'myini.ini';
myinifile:=TInifile.Create(파일 이름);
edit1.Text:=myinifile.readstring('프로그램 매개변수','사용자 이름','기본 사용자 이름');
edit2.text:=inttostr(myinifile.readinteger('프로그램 매개변수','경과된 실행 시간',0));
checkbox1.Checked:=myinifile.readbool('프로그램 매개변수','공식 사용자인지 여부',False);
끝;
절차TForm1.FormDestroy(Sender:TObject);
시작하다
myinifile.writestring('프로그램 매개변수','사용자 이름',edit1.Text);
myinifile.writeinteger('프로그램 매개변수','경과된 실행 시간',strtoint(edit2.text));
myinifile.writebool('프로그램 매개변수', '공식 사용자인가요', checkbox1.Checked);
myinifile.Destroy;
끝;
절차TForm1.Timer1Timer(Sender:TObject);
시작하다
edit2.Text:=inttostr(strtoint(edit2.text)+1);
끝;
끝.
이 예제는 Delphi6.0+WinXP에서 디버깅을 통과했습니다.