delphi INI 파일의 구조 및 조작 방법

3755 단어
Windows API 함수인 WritePrivateProfileString과 GetPrivateProfileString을 사용하면 됩니다.INI 파일은 읽기 및 쓰기 작업을 수행합니다.
사실, 맞아요.INI 파일의 읽기와 쓰기는 Delphi의 내장 함수를 완전히 이용하여 실현할 수 있다.
 
1. INI 파일의 구조:주석 [소절 이름] 키워드 = 값
예를 들어 (LoginInfo.ini 파일의 내용):
;                                【  】       
[UserInfo]                        【   】  
UserName=xiongmao                 【   = 】
Password=123                      【   = 】
Connected=0                       【   = 】

INI 파일은 여러 개의 소절을 허용하고, 소절마다 여러 개의 키워드를 허용합니다. '=' 다음은 이 키워드의 값입니다.
 
2. 수치의 유형: 값의 유형은 세 가지가 있는데 그것이 바로 문자열, 정형 수치와 부울 값이다.여기서 문자열은 INI 파일에 저장될 때 따옴표가 없고 부울 트루 값은 1로 표시되며 부울 트루 값은 0으로 표시됩니다. 
3. 공통 함수에 대한 설명:
1>.INI 파일 열기
<1>.Filename:=ExtractFilePath(Paramstr(0))+’program.ini’; <2>.myinifile:=Tinifile.Create(filename);
주의: FileName에는 경로 이름이 포함될 수 있으며, 기본적으로 Windows가 있는 디렉터리입니다. (일반적으로 C:windows이고, Windows NT에 대해서는 c:winnt입니다.)Create 메소드를 사용하여 생성된 인스턴스는 Free 메소드를 사용하여 메모리를 방출합니다.
2>.키워드 값 읽기
TINIfiles 클래스는 INI 파일에 지원되는 문자열, 정수 값, 부울 값 세 가지 데이터 유형에 대해 INI 파일의 키워드 값을 읽는 세 가지 다른 객체 방법을 제공합니다.   <1>.vs:=myinifile.Readstring('소절 이름','키워드', 기본값)string 유형
<2>.vi:=myinifile.Readinteger('소절 이름','키워드', 기본값)인덱스 유형
<3>.vb:=myinifile.Readbool('소절 이름','키워드', 기본값)boolean 유형
참고: 이 INI 파일이 존재하지 않을 경우 위의 명령문 읽기에 예외가 발생하지 않고 뒤에 기본값이 자동으로 지정됩니다.값이 있으면 읽고, 값이 없으면 비어 있다.
 
3>.INI 파일 쓰기
myinifile.writestring ('소절 이름', '키워드', 변수 또는 문자열 값);string 유형
myinifile.writeinteger ('소절 이름', '키워드', 변수 또는 정형 수치);인덱스 클래스
myinifile.writebool('소절명','키워드', 변수 또는True 또는false);boolean 유형
참고: 이 INI 파일이 존재하지 않을 경우 위의 문은 자동으로 INI 파일을 생성합니다.
 
4>.키워드 삭제
myinifile.DeleteKey ('소절 이름', '키워드')
 
5>.소절에 대한 조작
쓰기 가능한 소절을 추가합니다.
다음 대상 방법을 사용할 수 있는 소절을 삭제합니다: myinifile.EraseSection('소절 이름');
또한 Tinifile 클래스에서는 세 가지 객체 방법을 사용하여 소절을 조작할 수 있습니다.
myinifile.readsection('소절명', Tstrings 변수);//(어떤 소절 이름의 키워드)는 지정한 소절의 모든 키워드 이름을 문자열 목록 변수로 읽을 수 있습니다. 
myinifile.readsections(Tstrings 변수),//(모든 소절 이름) 은 INI 파일의 모든 소절 이름을 문자열 목록 변수로 읽을 수 있습니다. 
myinifile.readsectionvalues ('소절 이름', Tstrings 변수);//(한 소절 이름의 키워드와 값, =)는 INI 파일에서 지정한 소절의 모든 줄(키워드, =, 값 포함)을 문자열 목록 변수로 읽을 수 있습니다.
 
6>.풀어주다
적절한 위치에서 myinifile을 다음 문구로 놓습니다.
myinifile.distory;
아니면: myinifile.Free; 
 
4. 인스턴스 사용
Uses  IniFiles;

//  INI  
procedure TForm1.btn1Click(Sender: TObject);
var  myinifile:TIniFile;
begin
  myinifile:=TInifile.Create(ExtractFilePath(Application.ExeName)+ 'LoginInfo.ini ');
  edit1.Text:=   myinifile.readstring( 'UserInfo', 'UserName', '        ');
  edit2.text:=   inttostr(myinifile.readinteger( 'UserInfo', 'Password ',0));
  checkbox1.Checked:= myinifile.readbool( 'UserInfo', 'Connected',False);
  myinifile.Destroy;
end;

// INI  
procedure TForm1.btn2Click(Sender: TObject);
var  myinifile:TIniFile;
begin
  myinifile:=TInifile.Create(ExtractFilePath(Application.ExeName)+ 'LoginInfo.ini ');
  myinifile.writestring('UserInfo', 'UserName ',edit1.Text);
  myinifile.writeinteger('UserInfo', 'UserInfo ',strtoint(edit2.text));
  myinifile.writebool('UserInfo', 'Connected',checkbox1.Checked);
  myinifile.Destroy;
end;

좋은 웹페이지 즐겨찾기