구성 파일에 델파이 사용 (* .INI) 및 따라서, TIniFile 사용

구성 파일 

.ini 파일 초기화 프로그램 및 구성 데이터를 저장하기위한 텍스트 입력에 기반 파일 포맷이다. 

.ini 파일 세그먼트 파일 N 세그먼트 (대괄호 내의 각각의 세그먼트), 각각의 세그먼트는 실질적으로 다음과 같은 형식으로 키 m이있을 수있을 수 각각 (섹션)와 키 (열쇠)이며 : 

    [ secontion] 

     KeyName1 = 값 1은; 

     ; 코멘트 

     KeyName2 = ; 값 2를 

    세그먼트 이름과 키 이름을 사용하는 경우도 둔감하지만, 이름 공간을 가질 수 없다. 

    키는 정수, 저장 될 수있는 문자열 데이터 유형, 플로트, 부울, datatime 등이. 

예를 들면 내가 서비스 구성 파일 데이터베이스 연결을 썼던 것처럼 : 

[Oralce] 

con_scyx . = 제공 = MSDAORA 1 ; 암호 = ygscyx; 사용자 ID = scyx; 데이터 원본 = ygdbsrv;의 지속 보안 정보 = 

con_erp . = 제공 = MSDAORA 1 ; ERP = 비밀번호하며 ERP 사용자 ID =; 데이터 원본 = ORCL하며 지속 보안 정보 = 

 

   둘째로, 구성 파일 판독 

.ini 파일에 접근 델파이 않으며 TIniFile의 클래스를 클래스 파일은 특별히 사용 IniFiles.pas에 정의 

의 정의 
IniFiles를 증가 인터페이스 섹션의 사용, (2) 에서 VAR 변수 정의 부 증가 라인 : myinifile : 따라서, TIniFile는, 
이어서, 오픈 생성, 읽기, 쓰기 등의 조작에 myinifile 변수 일 수있다. 
둘째, INI 파일을 열고 
    파일 이름을 : = ExtractFilePath (ParamStr에 ( 0 )) + ' program.ini을 ' ; 
    myinifile을 : . = 따라서, TIniFile 만들기 (파일 이름); 
     특정 파일 program.ini 접촉을 수립 myinifile와 함께 문이 다음 변수가 될 것입니다 당신은 변수 myinifile를 통해 읽기 및 파일 program.ini에서 키워드의 값을 쓸 수 있습니다. 괄호 다음이 Program.ini 파일은 Windows 디렉터리에 저장되어있는 파일 이름 경로를 지정하지 않으면 방법 Program.ini 파일은 응용 프로그램의 현재 디렉토리에 저장됩니다 : 이름 지정된 전체 경로와 파일을.  
셋째, 키 값 읽기









문자열에 대한 INI 파일 지원, 정수 값은 데이터의 부울 세 가지 유형, TINIfiles은 값 INI 파일 키워드를 읽을 객체 메소드의 세 가지 클래스를 제공합니다. 정의 된 변수를 가정 VS, VI를 VB 각각 문자열, 정수 부울 타입. 어떤 INI 기본 값을 파일에 존재하지 않는이 키의 기본 값을 반환합니다. 

   VS : = myinifile.Readstring ( ' 섹션 이름 ' , ' ' 기본값) 

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

VB : = myinifile.Readbool ( ' 섹션 이름 ' , ' ' , 기본값) 

네, INI 파일 쓰기 

같은, 따라서, TIniFile 클래스는 세 가지 다른 물체 방법을 제공, INI 파일은 문자열, 정수, 부울에 기록됩니다 키워드의 유형. 

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

myinifile.writeinteger ( ' 섹션 이름 ' , ' ' , 또는 변수 정수 값) 

myinifile.writebool ( ' 섹션 이름 ' , ' ' , 또는 진정한 변수 ) 또는 거짓, 

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

V. 키워드를 삭제 

가능한 기록 키워드를 증가시키는 방법 외에, 따라서, TIniFile 클래스는 객체의 방법은 키워드를 삭제 제공 : 

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

여섯, 동작 부분은 

측정을 증가 상기 방법은 기록을 완료하는 데 사용될 수 

myinifile.EraseSection ( ' 섹션 이름 ' );                     섹션 삭제하려면 

myinifile.readsection ( ' 섹션 이름 ' , TStrings를 변수은) myinifile.readsections (TStrings를 변수); 모든 키워드 섹션 문자열 변수 목록에 이름을 읽는 모든 섹션이 INI 파일을 읽을 수 있었다 문자열 변수의 목록을 촬영합니다. 

myinifile.readsectionvalues ( ' 섹션 이름 ' TStrings를 변수의) 변수의 목록에 읽기 문자열의 주요 부분. 

세븐 릴리스 

. myinifile (가) 파괴는 , 또한 FreeAndNil (myinifile)을 사용할 수 있습니다; 

 

내가 쓴 예는 구성 파일 데이터베이스 읽기 

절차 TDBMonitorService.ServiceCreate (발신자 : TObject의),
 VAR 
, PFILE : 배열 [ 0 ... 255 ] 문자를,
 (가) 시작 
은 try를 
하여 GetModuleFileName ( 0, PFILE, SIZEOF (PFILE가)); // 경로 얻기 
g_Path = ExtractFileDir (PFILE); // 파일 이름에서 서비스 디렉토리 이름에 접근하는 경로 (파일이 아닌 얻을 루트 디렉토리 값에 있지 않을 때 "/" 루트 디렉토리에 같은 문자는 "C : /", 예를 들면,)    
 따라서, TIniFile. 작성 (g_path + ' \ config.ini 파일 ' ) 수행 
은 try의 
ConScyx : 합니다 (ReadString을 = ' Oralce ' , ' con_scyx을 ' , '' ); 
ConErp는 : 합니다 (ReadString = ' Oralce을 ' , ' con_erp ' , '' ) 
 최종적 
으로 무료; 
;


con_scyx : = TADOConnection. 만들기 ( 전무 ); 
con_scyx.ConnectionString : = ConScyx; 
con_scyx.LoginPrompt는 : = 거짓; 

con_erp : = TADOConnection. 만들기 ( 전무 ); 
con_erp.ConnectionString : = ConErp; 
con_erp.LoginPrompt는 : = 거짓; 

qry_scyx : = TADOQuery. 만들기 ( 전무 ); 
qry_scyx.Connection : = con_scyx; 
qry_erp : = TADOQuery. 만들기 ( 전무 ); 
qry_erp.Connection : =con_erp; 

제외 
ON의 E : 예외는 않습니다 
선두 
(e.Message WRITELOG + ' -> 서비스 시작 오류를! ' ) 
종료, 
,
 ,
  ;

 

추천

출처www.cnblogs.com/jijm123/p/11299147.html