이 클래스는 많은 유사한 방법을 가진 표준 통조림 과 유사한 방식으로 작동하지만 이진 파일에 저장된 데이터에 대해 더 강력합니다. 이 클래스는 또한 이진 파일을 더 스크램블하기 위해 기본 XOR 인코딩을 지원합니다.
내장 데이터 유형은 값으로 저장되며 값을 읽기 전에 확인할 수 있습니다.
모든 쓰기 작업은 열린 파일에 자동으로 저장됩니다.
다음 유형은 tdatafile에 의해 지원됩니다.
생성자는 새로운 인스턴스의 tdatafile을 만듭니다.
constructor Create(const FileName: string; readonly: boolean = false);
파라미터 filename 열거 나 생성하는 데이터 파일의 경로와 파일 이름을 지정합니다.
파라미터는 파일이 readonly로 열리는 지 여부를 Readonly로 지정합니다. Readonly 모드에서는 쓰기 기능이 아무것도하지 않습니다.
내장 인코딩을 사용하려면 클래스 객체를 작성한 후 Codekey 속성을 설정하십시오.
var df: TDataFile;
df := TDataFile.Create('filename');
df.CodeKey := 'key used to encode data';
| 기능 | 매개 변수 | 반환 유형 | 정보 |
|---|---|---|---|
| getSectionNames | 목록 : tstrings | 없음 | 파일의 기존 섹션 목록을 반환합니다. |
| GetValuenames | 섹션 : 문자열; 목록 : tstrings | 없음 | 지정된 섹션에서 기존 값 목록을 반환합니다. |
| getValuenamesandTypes | 섹션 : 문자열; 목록 : tstrings | 없음 | 지정된 섹션에서 기존 값 및 해당 데이터 유형 목록을 반환합니다. 데이터에 대해 list.names [] 및 list.values []를 사용하십시오 |
| getValueType | 섹션, ID : 문자열 | tdftype | 지정된 값에 대한 데이터 유형을 반환합니다 |
| GetValuetyPeasString | 섹션, ID : 문자열 | 끈 | getValueType 와 동일하지만 데이터 유형을 문자열로 리턴합니다. |
| 섹션 실행 | 섹션 : 문자열 | 부울 | 지정된 섹션이 존재하는지 확인하십시오 |
| ValueExists | 섹션, ID : 문자열 | 부울 | 값이 섹션에 존재하는지 확인하십시오 |
| readData | 섹션, ID : 문자열; PBUF : 포인터 | 정수 | 지정된 포인터에 저장된 데이터를 읽는 낮은 레벨 기능 |
| readstream | 섹션, ID : 문자열; 스트림 : tstream | 정수 | DataFile에서 스트림을 읽으십시오 |
| 레디언스 허가 | 섹션, ID : 문자열; 기본값 : ANSSESTRING | ASSISTRING | DataFile에서 ANSI 문자열을 읽으십시오. 식별자가 존재하지 않으면 기본값 을 반환합니다 |
| 읽기 | 섹션, ID : 문자열; 기본값 : 문자열 | 끈 | DataFile에서 유니 코드 문자열을 읽으십시오. 식별자가 존재하지 않으면 기본값 을 반환합니다 |
| ReadInt8 | 섹션, ID : 문자열; 기본값 : int8 | int8 | 서명 된 8 비트 정수를 읽으십시오 |
| ReadInt16 | 섹션, ID : 문자열; 기본값 : int16 | int16 | 서명 된 16 비트 정수를 읽으십시오 |
| readuint8 | 섹션, ID : 문자열; 기본값 : UINT8 | UINT8 | 서명되지 않은 8 비트 정수를 읽으십시오 |
| readuint16 | 섹션, ID : 문자열; 기본값 : UINT16 | UINT16 | 서명되지 않은 16 비트 정수를 읽으십시오 |
| ReadInteger, ReadInt32 | 섹션, ID : 문자열; 기본값 : 정수 | 정수 | 서명 된 32 비트 정수를 읽으십시오 |
| ReadInt64 | 섹션, ID : 문자열; 기본값 : int64 | int64 | 서명 된 64 비트 정수를 읽으십시오 |
| readuint32 | 섹션, ID : 문자열; 기본값 : UINT32 | UINT32 | 서명되지 않은 32 비트 정수를 읽으십시오 |
| readuint64 | 섹션, ID : 문자열; 기본값 : UINT64 | UINT64 | 서명되지 않은 64 비트 정수를 읽으십시오 |
| Readsingle | 섹션, ID : 문자열; 기본값 : 단일 | 하나의 | 32 비트 플로트를 읽으십시오 |
| readdouble | 섹션, ID : 문자열; 기본값 : 더블 | 더블 | 64 비트 플로트를 읽으십시오 |
| ReadCurrency | 섹션, ID : 문자열; 기본값 : 통화 | 통화 | 통화 값을 읽으십시오 |
| readdateTime | 섹션, ID : 문자열; 기본값 : TDATETIME | 세심한 시간 | DateTime 값을 읽으십시오 |
| readboolean | 섹션, ID : 문자열; 기본값 : 부울 | 부울 | 부울 가치를 읽으십시오 |
| 읽기 | 섹션, ID : 문자열; 목록 : tstrings | 없음 | 지정된 목록 에서 문자열 목록을 읽으십시오 |
| Readfont | 섹션, ID : 문자열; 글꼴 : tfont | 없음 | 지정된 글꼴 에서 글꼴 설정 (이름, 스타일, 크기 등) 읽기 |
| writedata | 섹션, ID : 문자열; PBUF : 포인터; 수 : 정수; 데이터 유형 : tdftype = dfd_unknown | 정수 | 지정된 포인터에 저장된 데이터를 작성하는 낮은 레벨 기능 |
| writestream | 섹션, ID : 문자열; 스트림 : tstream; 데이터 유형 : tdftype = dfd_stream | 정수 | DataFile에서 스트림을 작성하십시오 |
| WriteAnsistring | 섹션, ID : 문자열; 가치 : 소수 | 없음 | DataFile에서 ANSI 문자열을 작성하십시오. 식별자가 존재하지 않으면 기본값 을 반환합니다 |
| Writestring | 섹션, ID, 값 : 문자열 | 없음 | DataFile에서 유니 코드 문자열을 작성하십시오. 식별자가 존재하지 않으면 기본값 을 반환합니다 |
| writeInt8 | 섹션, ID : 문자열; 가치 : int8 | 없음 | 서명 된 8 비트 정수를 작성하십시오 |
| writeInt16 | 섹션, ID : 문자열; 가치 : int16 | 없음 | 서명 된 16 비트 정수를 작성하십시오 |
| WriteUint8 | 섹션, ID : 문자열; 가치 : UINT8 | 없음 | 서명되지 않은 8 비트 정수를 작성하십시오 |
| WRITEUINT16 | 섹션, ID : 문자열; 가치 : UINT16 | 없음 | 서명되지 않은 16 비트 정수를 작성하십시오 |
| WriteInteger, writeInt32 | 섹션, ID : 문자열; 가치 : 정수 | 없음 | 서명 된 32 비트 정수를 작성하십시오 |
| 쓰기 64 | 섹션, ID : 문자열; 가치 : int64 | 없음 | 서명 된 64 비트 정수를 작성하십시오 |
| WriteUint32 | 섹션, ID : 문자열; 가치 : UINT32 | 없음 | 서명되지 않은 32 비트 정수를 작성하십시오 |
| WriteUint64 | 섹션, ID : 문자열; 가치 : UINT64 | 없음 | 서명되지 않은 64 비트 정수를 작성하십시오 |
| 글쓰기 | 섹션, ID : 문자열; 가치 : 단일 | 없음 | 32 비트 플로트를 작성하십시오 |
| writedouble | 섹션, ID : 문자열; 가치 : 더블 | 없음 | 64 비트 플로트를 작성하십시오 |
| writecurrency | 섹션, ID : 문자열; 가치 : 통화 | 없음 | Currecy 값을 작성하십시오 |
| WritedateTime | 섹션, ID : 문자열; 가치 : TdateTime | 없음 | DateTime 값을 작성하십시오 |
| WriteBoolean | 섹션, ID : 문자열; 가치 : 부울 | 없음 | 부울 가치를 씁니다 |
| Writestrings | 섹션, ID : 문자열; 목록 : tstrings | 없음 | 지정된 목록 에 문자열 목록을 작성하십시오 |
| 쓰기 | 섹션, ID : 문자열; 글꼴 : tfont | 없음 | 지정된 글꼴 로 글꼴 설정 (이름, 스타일, 크기 등)을 작성하십시오. |
| 이름 바꾸기 | Oldsection, Oldident, Newsection, Newident : String | 부울 | 식별자 이름을 바꿉니다 |
| 삭제 | 섹션 : 문자열 | 없음 | 지정된 섹션을 삭제하십시오 |
| 삭제 | 섹션, ID : 문자열 | 없음 | 지정된 식별자를 삭제합니다 |
Tdatafile은 Delphi XE 이상과 함께 사용되도록 설계되었습니다. 이전 버전에서 작동 할 수 있지만 테스트되지 않았습니다.
포함 된 편집기는 Delphi Ryo를 사용하여 작성되었으며 이전 버전으로 컴파일 할 수 없습니다.
Tdatafile은 원래 Degisy 소프트웨어 Tdatafile에서 영감을 받았습니다.
DataFile 편집기는 tdatafile으로 생성 된 파일을 생성,보기 및 수정하는 응용 프로그램입니다. 편집자는 키를 만들기 위해 메타 섹션을 추가하면 생성 된 파일의 파일에 메타 섹션을 추가하지만 고유 한 섹션과 값을 추가하면 안전하게 삭제할 수 있습니다.
편집기와 함께 생성 된 섹션은 트리로 표시되지만 실제 구조는 평평하고 실제 섹션 이름은 상부에 표시된 전체 경로입니다. 트리를 만들 때 사용되는 분리기는 슬래시 문자 ( " / ")입니다.
코드와 편집기는 모두 MIT 라이센스에 따라 릴리스됩니다. 자세한 내용은 라이센스 파일을 참조하십시오.