Diese Klasse funktioniert ähnlich wie ein Standard -Tinifile mit vielen ähnlichen Methoden, aber leistungsfähiger für gespeicherte Daten in Binärdateien. Die Klasse unterstützt auch die grundlegende XOR -Codierung, um die Binärdatei weiter zu durchsuchen.
Integrierte Datentypen werden mit den Werten gespeichert und können vor dem Lesen überprüft werden.
Alle Schreibvorgänge werden automatisch in der geöffneten Datei gespeichert.
Die folgenden Typen werden von tdatafile unterstützt:
Der Konstruktor erstellt eine neue Instanz von Tdatafile.
constructor Create(const FileName: string; readonly: boolean = false);
Der Parameter Dateiname gibt den Pfad und den Dateinamen der von Ihnen geöffneten oder erstellten Datendatei an.
Parameter readonly gibt an, ob die Datei als Readonly geöffnet wird. Im Readonly -Modus werden die Schreibfunktionen nichts bewirken.
Wenn Sie die integrierte Encodierung verwenden möchten, legen Sie die CodeKey- Eigenschaft nach dem Erstellen des Klassenobjekts fest.
var df: TDataFile;
df := TDataFile.Create('filename');
df.CodeKey := 'key used to encode data';
| Funktion | Parameter | Rückgabetyp | Information |
|---|---|---|---|
| Getectionnamen | Liste: tstrings | keiner | Gibt eine Liste der vorhandenen Abschnitte in der Datei zurück |
| GetValuenamen | Abschnitt: String; Liste: tstrings | keiner | Gibt eine Liste vorhandener Werte im angegebenen Abschnitt zurück |
| GetValuenamesandypes | Abschnitt: String; Liste: tstrings | keiner | Gibt eine Liste vorhandener Werte und deren Datentypen im angegebenen Abschnitt zurück. Verwenden Sie list.names [] und list.Values [] für die Daten |
| GetValuEType | Abschnitt, Identität: String | Tdftype | Gibt den Datentyp für den angegebenen Wert zurück |
| GetValUetypeAsString | Abschnitt, Identität: String | Saite | Gleich wie GetValUeType , gibt jedoch den Datentyp als Zeichenfolge zurück |
| Abschnittsgründe | Abschnitt: String | Boolean | Überprüfen Sie, ob der angegebene Abschnitt vorhanden ist |
| Wertexisten | Abschnitt, Identität: String | Boolean | Überprüfen Sie, ob der Wert im Abschnitt vorhanden ist |
| Readdata | Abschnitt, Identität: String; PBUF: Zeiger | Ganze Zahl | Low -Level -Funktion zum Lesen von Daten, die dem angegebenen Zeiger gespeichert sind |
| ReadStream | Abschnitt, Identität: String; Stream: TStream | Ganze Zahl | Lesen Sie einen Stream aus der Datendatei |
| Readansistring | Abschnitt, Identität: String; Standard: Ansistring | Ansistring | Lesen Sie eine ANSI -Zeichenfolge aus der Datendatei. Wenn die Kennung nicht vorhanden ist, gibt der Standardwert zurück |
| Readstring | Abschnitt, Identität: String; Standard: Zeichenfolge | Saite | Lesen Sie eine Unicode -Zeichenfolge aus der Datendatei. Wenn die Kennung nicht vorhanden ist, gibt der Standardwert zurück |
| Readint8 | Abschnitt, Identität: String; Standard: int8 | Int8 | Lesen Sie eine signierte 8-Bit-Ganzzahl |
| Readint16 | Abschnitt, Identität: String; Standard: INT16 | Int16 | Lesen Sie eine signierte 16-Bit-Ganzzahl |
| Readuint8 | Abschnitt, Identität: String; Standard: uint8 | Uint8 | Lesen Sie eine nicht signierte 8-Bit-Ganzzahl |
| Readuint16 | Abschnitt, Identität: String; Standard: uint16 | Uint16 | Lesen Sie eine nicht signierte 16-Bit-Ganzzahl |
| Readinteger, Readint32 | Abschnitt, Identität: String; Standard: Ganzzahl | Ganze Zahl | Lesen Sie eine signierte 32-Bit-Ganzzahl |
| Readint64 | Abschnitt, Identität: String; Standard: INT64 | INT64 | Lesen Sie eine signierte 64-Bit-Ganzzahl |
| Readuint32 | Abschnitt, Identität: String; Standard: uint32 | Uint32 | Lesen Sie eine nicht signierte 32-Bit-Ganzzahl |
| Readuint64 | Abschnitt, Identität: String; Standard: uint64 | Uint64 | Lesen Sie eine nicht signierte 64-Bit-Ganzzahl |
| Lesen | Abschnitt, Identität: String; Standard: Single | Einzel | Lesen Sie einen 32-Bit-Schwimmer |
| Readdouble | Abschnitt, Identität: String; Standard: Doppel | Doppelt | Lesen Sie einen 64-Bit-Schwimmer |
| Read -Währung | Abschnitt, Identität: String; Standard: Währung | Währung | Lesen Sie einen Währungswert |
| Readdatetime | Abschnitt, Identität: String; Standard: tdatetime | Tdatetime | Lesen Sie einen DateTime -Wert |
| Readboolean | Abschnitt, Identität: String; Standard: boolean | Boolean | Lesen Sie einen booleschen Wert |
| Readstrings | Abschnitt, Identität: String; Liste: tstrings | keiner | Lesen Sie eine Zeichenfolgeliste in der angegebenen Liste |
| Readfont | Abschnitt, Identität: String; Schriftart: tfont | keiner | Lesen Sie die Schriftstellungen (Name, Stil, Größe usw.) in der angegebenen Schriftart |
| Wititedata | Abschnitt, Identität: String; PBUF: Zeiger; Graf: Ganzzahl; Datentyp | Ganze Zahl | Funktion mit niedriger Ebene zum Schreiben von Daten, die an den angegebenen Zeiger gespeichert sind |
| WriteStream | Abschnitt, Identität: String; Stream: TStream; DataType: tdftype = dfd_stream | Ganze Zahl | Schreiben Sie einen Stream aus der Datendatei |
| WriteanSisting | Abschnitt, Identität: String; Wert: Ansistring | keiner | Schreiben Sie eine ANSI -Zeichenfolge aus der Datendatei. Wenn die Kennung nicht vorhanden ist, gibt der Standardwert zurück |
| Writestring | Abschnitt, Identität, Wert: String | keiner | Schreiben Sie eine Unicode -Zeichenfolge aus der Datendatei. Wenn die Kennung nicht vorhanden ist, gibt der Standardwert zurück |
| Writeint8 | Abschnitt, Identität: String; Wert: int8 | keiner | Schreiben Sie eine signierte 8-Bit-Ganzzahl |
| WriteInt16 | Abschnitt, Identität: String; Wert: int16 | keiner | Schreiben Sie eine signierte 16-Bit-Ganzzahl |
| Writeuint8 | Abschnitt, Identität: String; Wert: Uint8 | keiner | Schreiben Sie eine unsignierte 8-Bit-Ganzzahl |
| Writeuint16 | Abschnitt, Identität: String; Wert: Uint16 | keiner | Schreiben Sie eine nicht signierte 16-Bit-Ganzzahl |
| WriteItineger, writeInt32 | Abschnitt, Identität: String; Wert: Ganzzahl | keiner | Schreiben Sie eine signierte 32-Bit-Ganzzahl |
| WriteInt64 | Abschnitt, Identität: String; Wert: int64 | keiner | Schreiben Sie eine signierte 64-Bit-Ganzzahl |
| Writeuint32 | Abschnitt, Identität: String; Wert: Uint32 | keiner | Schreiben Sie eine nicht signierte 32-Bit-Ganzzahl |
| Writeuint64 | Abschnitt, Identität: String; Wert: Uint64 | keiner | Schreiben Sie eine nicht signierte 64-Bit-Ganzzahl |
| Schreibt | Abschnitt, Identität: String; Wert: Single | keiner | Schreiben Sie einen 32-Bit-Schwimmer |
| Wititedouble | Abschnitt, Identität: String; Wert: Doppel | keiner | Schreiben Sie einen 64-Bit-Schwimmer |
| WriteCurrency | Abschnitt, Identität: String; Wert: Währung | keiner | Schreiben Sie einen Währungswert |
| WritedAtetime | Abschnitt, Identität: String; Wert: tdatetime | keiner | Schreiben Sie einen DateTime -Wert |
| WriteBoolean | Abschnitt, Identität: String; Wert: boolean | keiner | Schreiben Sie einen Booleschen Wert |
| Writestrings | Abschnitt, Identität: String; Liste: tstrings | keiner | Schreiben Sie eine Zeichenfolgenliste in die angegebene Liste |
| WriteFont | Abschnitt, Identität: String; Schriftart: tfont | keiner | Schreiben Sie Schriftstellungen (Name, Stil, Größe usw.) in der angegebenen Schriftart |
| Umbenennen | Oldsektion, altident, Zeitschrift, Newident: String: String | Boolean | Benennen Sie eine Kennung um |
| Löschen | Abschnitt: String | keiner | Löschen Sie den angegebenen Abschnitt |
| Löschen | Abschnitt, Identität: String | keiner | Löschen Sie die angegebene Kennung |
Tdatafile wurde so konzipiert, dass sie mit Delphi XE und höher verwendet werden konnten. Es mag mit älteren Versionen funktionieren, aber es wurde nicht getestet.
Der mitgelieferte Editor wurde mit Delphi Ryo erstellt und kann möglicherweise nicht in älteren Versionen kompiliert werden.
Tdatafile wurde von der ursprünglichen Degisy -Software Tdatafile inspiriert.
DataFile -Editor ist eine Anwendung, um Dateien zu erstellen, anzeigen und zu ändern, die mit TDatAfile erstellt wurden. Der Editor fügt einen Meta -Abschnitt mit einer wichtigen Erstellung hinzu. In Dateien, die damit erstellt wurden, kann jedoch sicher gelöscht werden, sobald Sie Ihre eigenen Abschnitte und Werte hinzufügen.
Die mit dem Editor erstellten Abschnitte werden als Baum präsentiert, aber die tatsächliche Struktur ist flach. Der tatsächliche Abschnittsname ist der vollständige Pfad im oberen Teil. Das beim Erstellen des Baumes verwendete Separators ist das Slash -Zeichen (" / ").
Der Code und der Editor werden beide unter der MIT -Lizenz veröffentlicht. Weitere Informationen finden Sie in der Lizenzdatei .