Delphi 가 INI 파일 을 만 들 고 읽 고 저장 하 는 방법 1

4501 단어 DelphiINI
1.INI 파일 의 구 조 를 이해 할 필요 가 있다.
;주석
[소절 명]
키워드=값
...
INI 파일 은 여러 개의 소절 을 허용 하고,소절 마다 여러 개의 키 워드 를 허용 합 니 다. “=”뒤 에는 이 키워드 의 값 입 니 다. 
값 의 유형 은 세 가지 가 있 습 니 다.문자열,정형 수치,불 값 입 니 다.이 중 문자열 은 INI 파일 에 저 장 될 때 따옴표 가 없 으 며,불 진 값 은 1 로 표시 하고,불 가짜 값 은 0 으로 표시 합 니 다. 
주석 은 분점 으로";"서두 
정의
1.Interface 의 Uses 절 에 IniFiles 를 추가 합 니 다. 
2.Var 변수 정의 부분 에 줄 을 추가 합 니 다. 
myinifile:Tinifile;
그 다음 에 변수 my inifile 을 만 들 고 열 고 읽 기,쓰기 등 을 할 수 있 습 니 다. 
3.INI 파일 열기
myinifile:=Tinifile.create('program.ini');
위의 이 줄 문 구 는 변수 my inifile 과 구체 적 인 파일 입 니 다. program.ini 가 연락 을 한 후에 변수 my inifile 을 통 해 program.ini 파일 의 키 워드 를 읽 을 수 있 습 니 다. 
주의해 야 할 것 은 괄호 안에 있 는 파일 이름 이 경 로 를 가리 키 지 않 으 면 이 Program.ini 파일 은 Windows 디 렉 터 리 에 저 장 됩 니 다.Program.ini 파일 을 응용 프로그램의 현재 디 렉 터 리 에 저장 하 는 방법 은 완전한 경로 와 파일 이름 을 지정 하 는 것 입 니 다.아래 의 두 문장 은 이 공 을 완성 할 수 있다.
에너지: 
Filename:=ExtractFilePath(Paramstr(0))+'program.ini';
myinifile:=Tinifile.Create(filename);
4.키워드 읽 기 값
INI 파일 이 지원 하 는 문자열,정형 수치,불 값 세 가지 데이터 형식 에 대해 TINIfiles 류 는 INI 파일 의 키 워드 를 읽 는 세 가지 서로 다른 대상 방법 을 제공 합 니 다. 
정 의 된 변수 vs,vi,vb 가 각각 string 이 라 고 가정 합 니 다. integer,boolean 형식. 
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.키워드 삭제
기록 방법 으로 키 워드 를 추가 하 는 것 외 에 Tinifile 클래스 는 키 워드 를 삭제 하 는 대상 방법 도 제공 합 니 다. 
myinifile.deleteKey('소절 명','키워드');
7.소절 조작
기록 할 수 있 는 소절 을 추가 합 니 다.다음 대상 을 사용 할 수 있 는 소절 을 삭제 합 니 다. 
myinifile.EraseSection('소절 이름');
또한 Tinifile 류 는 세 가지 대상 방법 으로 소절 을 조작 할 수 있 습 니 다.
myinifile.readsection('소절 명',TStrings 변수);지정 한 소절 의 모든 키워드 이름 을 문자열 목록 변수 에 읽 을 수 있 습 니 다. 
myinifile.readsections(TStrings 변수);INI 파일 의 모든 소절 이름 을 문자열 목록 변수 로 읽 을 수 있 습 니 다. 
myinifile.readsectionvalues('소절 명',TStrings 변수);INI 파일 에서 지정 한 소절 의 모든 줄(키워드,=,값 포함)을 문자열 목록 변수 에 읽 을 수 있 습 니 다. 
석방
적당 한 위치 에서 my inifile 을 아래 문장 으로 방출 합 니 다.
myinifile.distory;
9.하나의 실례
다음은 간단 한 예(그림 참조)로 INI 파일 을 만 들 고 읽 고 저장 하 는 방법 을 보 여 줍 니 다.my ini.ini 파일 에는'프로그램 매개 변수'소절 과 사용자 이름(문자열),정식 사용자(불 값)여부,실행 시간(정형 값)세 개의 키워드 가 포함 되 어 있 습 니 다.프로그램 은 창 에 이 데 이 터 를 읽 고 창 이 열 릴 때 my ini.ini 파일 을 씁 니 다. 
첨부 프로그램 목록 
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,IniFiles, StdCtrls, ExtCtrls;
type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    CheckBox1: TCheckBox;
    Timer1: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
  myinifile:Tinifile;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
filename:string;
begin
filename:=ExtractFilePath(paramstr(0))+´myini.ini´;
myinifile:=TInifile.Create(filename);
edit1.Text:= myinifile.readstring(←프로그램 매개 변 수 는 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외 외
edit2.text:= inttostr(myinifile.readinteger);
checkbox1.Checked:= myinifile.readbool(외 프로그램 매개 변수 외,외,정식 사용자 외,False 여부);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
myinifile.writestring(외 프로그램 매개 변수 외,외 사용자 이름 은 외,edit1.Text);
myinifile.writeinteger(외 프로그램 매개 변수,외 실 행 된 시간,strtoint(edit2.text));
myinifile.writebool(외 프로그램 매개 변수 외,외 외 정식 사용자 외,checkbox 1.Checked);
myinifile.Destroy;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
edit2.Text:=inttostr(strtoint(edit2.text)+1);
end;
end.
이 인 스 턴 스 는 Delphi 6.0+WinXP 에서 디 버 깅 을 통 과 했 습 니 다.

좋은 웹페이지 즐겨찾기