INI 파일은 시스템 구성과 응용 프로그램 매개변수 저장 및 설정에 매우 중요한 역할을 합니다. 따라서 VB, VC, VFP, Delphi 등과 같은 시각적 프로그래밍 제품군은 INI 파일을 읽고 쓰는 방법을 제공합니다. 가장 간결한 것은 Delphi.file에서 작동하는데, 이는 Delphi가 INI 파일을 매우 유연하게 처리할 수 있는 TInifile 클래스를 제공하기 때문입니다 . INI 파일 구조 [섹션 이름] ini 파일 키워드 1 = 값 1 키워드 2 = 값 2 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 파일을 저장하는 방법은 지정하는 것입니다. 전체 경로 및 파일 이름. 다음 두 명령문으로 이 기능을 완료할 수 있습니다. Filename:=ExtractFilePath(Paramstr(0))+program.ini;myinifile:=Tinifile.Create(filename);
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(섹션 이름, TStrings 변수); 지정된 섹션의 모든 키 이름을 문자열 목록 변수로 읽을 수 있습니다(TStrings 변수). ; INI 파일의 모든 섹션 이름을 문자열 목록 변수로 읽을 수 있습니다. myinifile.readsectionvalues (섹션 이름, TStrings 변수)는 INI 파일에 지정된 섹션의 모든 라인(키워드, =, 값 포함)을 문자열 목록 변수로 읽을 수 있습니다.
8. 출시
다음 문을 사용하여 적절한 위치에 myinifile을 해제합니다.
myinifile.distory;
구체적인 예는 다음과 같습니다. 소스 코드는 다음과 같습니다. newini라는 섹션과 "사용자 이름", "실행 경과 시간", "공식 사용자인지 여부"라는 세 가지 키워드가 포함된 myini.ini 파일이 생성되었습니다. 실행 효과의 경우 edit1에서 "사용자 이름"을 입력할 수 있습니다. edit2는 시간을 표시하며 값은 변경할 수 없습니다. checkbox1은 시간과 "사용자 이름"을 myini.ini 파일에 저장합니다. myini.ini 파일에서 저장된 시간과 입력한 "사용자 이름"을 수정하면 프로그램 실행 중에 수정한 것과 동일한 효과가 나타납니다.
단위 Unit1; 인터페이스는 Windows, 메시지, SysUtils, 변형, 클래스, 그래픽, 컨트롤, 양식, 대화 상자, inifiles, StdCtrls, ExtCtrls를 사용합니다. {call inifiles 클래스}type TForm1 = class(TForm) Label1: TLabel2: TLabel; TLabel; TEdit2: TTimer; CheckBox1: TCheckBox; 프로시저 FormDestroy(Sender: TObject); private { 개인 선언 } public { 공개 선언 } end;var Form1: TForm1;implementationvarmyinifile:Tinifile; class}{$R *.dfm}프로시저의 인스턴스 정의 TForm1.FormCreate(발신자: TObject);varfilename:string;begin{다음 두 줄은 해당 애플리케이션의 경로 아래에 ini 파일을 생성하는 형태로 작성되었습니다.}filename:=ExtractFilePath(paramstr(0))+'myini.ini';myinifile:= TInifile.Create(파일 이름);edit1.Text:=myinifile.ReadString(' newini','사용자 이름','Hu Changhao');edit2.text:=inttostr(myinifile.readinteger('newini','경과된 실행 시간',0));checkbox1.Checked:=myinifile.readbool('newini ' ,'공식 사용자인가요',False);{newini는 섹션 이름, 가운데 필드는 키워드 이름, 세 번째 필드는 기본값입니다. myini.ini가 존재하지 않는 경우 위 명령문은 자동으로 이 파일을 생성합니다. 위 줄의 따옴표는 작은따옴표입니다.}end;procedure TForm1.FormDestroy(Sender: TObject);begin myinifile.writestring('newini','사용자 이름',edit1.Text);myinifile.writeinteger('newini','경과된 실행 시간',strtoint(edit2.text));myinifile.writebool('newini','여부 공식 사용자',checkbox1.Checked);myinifile.Destroy;end;procedure TForm1.Timer1Timer(Sender: TObject);begin edit2.Text:=inttostr(strtoint(edit2.text)+1);end;end.
ini 파일