Kelas ini bekerja dengan cara yang mirip dengan tinifile standar dengan banyak metode serupa tetapi lebih kuat untuk data yang disimpan dalam file biner. Kelas ini juga mendukung pengkodean XOR dasar untuk mengacak file biner lebih lanjut.
Jenis data bawaan disimpan dengan nilai-nilai dan dapat diperiksa sebelum membacanya.
Setiap operasi penulisan secara otomatis disimpan ke file yang dibuka.
Jenis -jenis berikut didukung oleh tDataFile:
Konstruktor menciptakan instance baru dari tDataFile.
constructor Create(const FileName: string; readonly: boolean = false);
Parameter nama file menentukan jalur dan nama file file data yang Anda buka atau buat.
Parameter ReadOnly Menentukan apakah file dibuka sebagai readonly. Dalam mode readonly fungsi tulis tidak akan melakukan apa pun.
Jika Anda ingin menggunakan pengkodean bawaan, atur properti CodeyKey setelah membuat objek kelas.
var df: TDataFile;
df := TDataFile.Create('filename');
df.CodeKey := 'key used to encode data';
| Fungsi | Parameter | Tipe pengembalian | Informasi |
|---|---|---|---|
| GetsectionNames | DAFTAR: TSTRING | tidak ada | Mengembalikan daftar bagian yang ada dalam file |
| GetValuenames | Bagian: String; DAFTAR: TSTRING | tidak ada | Mengembalikan daftar nilai yang ada di bagian yang ditentukan |
| GetValueNamesAndTypes | Bagian: String; DAFTAR: TSTRING | tidak ada | Mengembalikan daftar nilai yang ada dan tipe datanya di bagian yang ditentukan. Gunakan list.names [] dan list.values [] untuk data |
| GetValuetype | Bagian, ident: string | Tdftype | Mengembalikan tipe data untuk nilai yang ditentukan |
| GetValuetypeAsstring | Bagian, ident: string | rangkaian | Sama seperti getValueType tetapi mengembalikan tipe data sebagai string |
| Sectionexists | Bagian: String | Boolean | Periksa apakah ada bagian yang ditentukan |
| ValueExists | Bagian, ident: string | Boolean | Periksa apakah nilainya ada di bagian ini |
| Readdata | Bagian, ident: string; PBUF: Pointer | Bilangan bulat | Fungsi level rendah untuk membaca data apa pun yang disimpan ke pointer yang ditentukan |
| Readstream | Bagian, ident: string; Stream: tstream | Bilangan bulat | Baca aliran dari datafile |
| Readansistring | Bagian, ident: string; Default: Ansistring | Ansistring | Baca string ANSI dari datafile. Jika pengidentifikasi tidak ada, kembalikan nilai default |
| Readstring | Bagian, ident: string; Default: String | rangkaian | Baca string unicode dari datafile. Jika pengidentifikasi tidak ada, kembalikan nilai default |
| ReadInt8 | Bagian, ident: string; Default: int8 | Int8 | Baca integer 8-bit yang ditandatangani |
| ReadInt16 | Bagian, ident: string; Default: Int16 | Int16 | Baca bilangan bulat 16-bit yang ditandatangani |
| Readuint8 | Bagian, ident: string; Default: uint8 | Uint8 | Baca bilangan bulat 8-bit yang tidak ditandatangani |
| Readuint16 | Bagian, ident: string; Default: uint16 | Uint16 | Baca bilangan bulat 16-bit yang tidak ditandatangani |
| ReadInteger, ReadInt32 | Bagian, ident: string; Default: Integer | Bilangan bulat | Baca bilangan bulat 32-bit yang ditandatangani |
| ReadInt64 | Bagian, ident: string; Default: int64 | Int64 | Baca bilangan bulat 64-bit yang ditandatangani |
| Readuint32 | Bagian, ident: string; Default: uint32 | Uint32 | Baca bilangan bulat 32-bit yang tidak ditandatangani |
| Readuint64 | Bagian, ident: string; Default: uint64 | Uint64 | Baca bilangan bulat 64-bit yang tidak ditandatangani |
| Membaca | Bagian, ident: string; Default: Single | Lajang | Baca pelampung 32-bit |
| Readdouble | Bagian, ident: string; Default: Ganda | Dobel | Baca pelampung 64-bit |
| Readcurrency | Bagian, ident: string; Default: Mata uang | Mata uang | Baca nilai mata uang |
| Readdatetime | Bagian, ident: string; Default: tDateTime | Tdatetime | Baca nilai datetime |
| Readboolean | Bagian, ident: string; Default: Boolean | Boolean | Baca Nilai Boolean |
| Readstrings | Bagian, ident: string; DAFTAR: TSTRING | tidak ada | Baca daftar string di daftar yang ditentukan |
| Readfont | Bagian, ident: string; Font: Tfont | tidak ada | Baca pengaturan font (nama, gaya, ukuran, dll) di font yang ditentukan |
| Writedata | Bagian, ident: string; pbuf: pointer; Count: Integer; DataType: tdftype = dfd_unknown | Bilangan bulat | Fungsi level rendah untuk menulis data apa pun yang disimpan ke pointer yang ditentukan |
| WriteStream | Bagian, ident: string; Stream: tstream; DataType: tdftype = dfd_stream | Bilangan bulat | Tulis aliran dari datafile |
| Writeansistring | Bagian, ident: string; Nilai: Ansistring | tidak ada | Tulis string ANSI dari datafile. Jika pengidentifikasi tidak ada, kembalikan nilai default |
| WriteString | Bagian, ident, nilai: string | tidak ada | Tulis string unicode dari datafile. Jika pengidentifikasi tidak ada, kembalikan nilai default |
| Writeint8 | Bagian, ident: string; Nilai: Int8 | tidak ada | Tulis integer 8-bit yang ditandatangani |
| Writeint16 | Bagian, ident: string; Nilai: Int16 | tidak ada | Tulis bilangan bulat 16-bit yang ditandatangani |
| WriteUint8 | Bagian, ident: string; Nilai: uint8 | tidak ada | Tulis bilangan bulat 8-bit yang tidak ditandatangani |
| WriteUint16 | Bagian, ident: string; Nilai: UInt16 | tidak ada | Tulis bilangan bulat 16-bit yang tidak ditandatangani |
| WriteInteger, writeint32 | Bagian, ident: string; Nilai: Integer | tidak ada | Tulis bilangan bulat 32-bit yang ditandatangani |
| Writeint64 | Bagian, ident: string; Nilai: Int64 | tidak ada | Tulis bilangan bulat 64-bit yang ditandatangani |
| WriteUint32 | Bagian, ident: string; Nilai: UInt32 | tidak ada | Tulis bilangan bulat 32-bit yang tidak ditandatangani |
| WriteUint64 | Bagian, ident: string; Nilai: uint64 | tidak ada | Tulis bilangan bulat 64-bit yang tidak ditandatangani |
| Menggeliat | Bagian, ident: string; Nilai: Lajang | tidak ada | Tulis float 32-bit |
| Writedouble | Bagian, ident: string; Nilai: Ganda | tidak ada | Tulis float 64-bit |
| Writecurrency | Bagian, ident: string; Nilai: Mata Uang | tidak ada | Tulis nilai kismis |
| WritedAteTime | Bagian, ident: string; Nilai: tDateTime | tidak ada | Tulis nilai datetime |
| WriteBoolean | Bagian, ident: string; Nilai: Boolean | tidak ada | Tulis nilai boolean |
| Penulis | Bagian, ident: string; DAFTAR: TSTRING | tidak ada | Tulis daftar string di daftar yang ditentukan |
| WriteFont | Bagian, ident: string; Font: Tfont | tidak ada | Tulis Pengaturan Font (Nama, Gaya, Ukuran, dll) di font yang ditentukan |
| Ganti nama | Oldsection, oldident, newsection, newident: string | Boolean | Ganti nama pengidentifikasi |
| Penghapusan | Bagian: String | tidak ada | Hapus bagian yang ditentukan |
| Menghapus | Bagian, ident: string | tidak ada | Hapus pengidentifikasi yang ditentukan |
TDataFile dirancang untuk digunakan dengan Delphi XE dan lebih tinggi. Ini mungkin bekerja dengan versi yang lebih lama tetapi tidak diuji.
Editor yang disertakan dibuat menggunakan Delphi Ryo dan mungkin tidak dikompilasi dalam versi yang lebih lama.
TDataFile terinspirasi oleh perangkat lunak degisy asli tDataFile.
Editor DataFile adalah aplikasi untuk membuat, melihat, dan memodifikasi file yang dibuat dengan tDataFile. Editor akan menambahkan bagian meta dengan kreasi kunci. Tanggal dalam file yang dibuat dengannya, tetapi dapat dihapus dengan aman setelah Anda menambahkan bagian dan nilai Anda sendiri.
Bagian yang dibuat dengan editor akan disajikan sebagai pohon, tetapi struktur yang sebenarnya datar, nama bagian yang sebenarnya disimpan adalah jalur lengkap yang ditunjukkan di bagian atas. Pemisah yang digunakan saat membuat pohon adalah karakter slash (" / ").
Kode dan editor keduanya dirilis di bawah lisensi MIT. Lihat file lisensi untuk detailnya.