Cette classe fonctionne de manière similaire à un tinifile standard avec de nombreuses méthodes similaires mais plus puissantes pour les données stockées dans le fichier binaire. La classe prend également en charge le codage XOR de base pour brouiller davantage le fichier binaire.
Les types de données intégrés sont stockés avec les valeurs et peuvent être vérifiés avant de les lire.
Toutes les opérations d'écriture sont automatiquement enregistrées dans le fichier ouvert.
Les types suivants sont pris en charge par Tdatafile:
Le constructeur crée une nouvelle instance de tdatafile.
constructor Create(const FileName: string; readonly: boolean = false);
Le nom de fichier de paramètre spécifie le chemin d'accès et le nom du fichier du fichier de données que vous ouvrez ou créez.
Le paramètre ReadOnly spécifie si le fichier est ouvert en lecture. En mode Readonly, les fonctions d'écriture ne feront rien.
Si vous souhaitez utiliser le codage intégré, définissez la propriété CodeKey après avoir créé l'objet de classe.
var df: TDataFile;
df := TDataFile.Create('filename');
df.CodeKey := 'key used to encode data';
| Fonction | Paramètres | Type de retour | Information |
|---|---|---|---|
| Names GetSection | Liste: TSTRINGS | aucun | Renvoie une liste des sections existantes dans le fichier |
| Getvaluenames | Section: String; Liste: TSTRINGS | aucun | Renvoie une liste des valeurs existantes dans la section spécifiée |
| GetValueNamesandTypes | Section: String; Liste: TSTRINGS | aucun | Renvoie une liste des valeurs existantes et de leurs types de données dans la section spécifiée. Utilisez list.names [] et list.values [] pour les données |
| GetValuetype | Section, identité: chaîne | Tdftype | Renvoie le type de données pour la valeur spécifiée |
| GetValuetyPeassstring | Section, identité: chaîne | chaîne | Identique à getValuetype mais renvoie le type de données comme une chaîne |
| Sectionexistes | Section: chaîne | Booléen | Vérifiez si la section spécifiée existe |
| Valeurs | Section, identité: chaîne | Booléen | Vérifiez si la valeur existe dans la section |
| Redata | Section, identité: chaîne; PBUF: pointeur | Entier | Fonction de bas niveau pour lire toutes les données stockées sur le pointeur spécifié |
| Lecture | Section, identité: chaîne; Stream: ttream | Entier | Lire un flux à partir du fichier de données |
| Readansistring | Section, identité: chaîne; Par défaut: ansisting | ansistrage | Lisez une chaîne ANSI à partir du fichier de données. Si l'identifiant n'existe pas, renvoie la valeur par défaut |
| Lecture | Section, identité: chaîne; Par défaut: chaîne | chaîne | Lisez une chaîne Unicode à partir du fichier de données. Si l'identifiant n'existe pas, renvoie la valeur par défaut |
| Lecture8 | Section, identité: chaîne; Par défaut: int8 | Int8 | Lire un entier 8 bits signé |
| Lecture16 | Section, identité: chaîne; Par défaut: int16 | Int16 | Lire un entier 16 bits signé |
| ReadUint8 | Section, identité: chaîne; Par défaut: uint8 | Uint8 | Lire un entier 8 bits non signé |
| LEADUINT16 | Section, identité: chaîne; Par défaut: uint16 | Uint16 | Lire un entier 16 bits non signé |
| ReadInteger, readInt32 | Section, identité: chaîne; Par défaut: entier | Entier | Lire un entier 32 bits signé |
| ReadInt64 | Section, identité: chaîne; Par défaut: int64 | Int64 | Lire un entier 64 bits signé |
| Lecture32 | Section, identité: chaîne; Par défaut: uint32 | Uint32 | Lire un entier 32 bits non signé |
| Lecture64 | Section, identité: chaîne; Par défaut: uint64 | Uint64 | Lire un entier 64 bits non signé |
| Lire | Section, identité: chaîne; Par défaut: unique | Célibataire | Lire un flotteur 32 bits |
| Reddouble | Section, identité: chaîne; Par défaut: double | Double | Lire un flotteur 64 bits |
| Relevé de terreur | Section, identité: chaîne; Par défaut: monnaie | Devise | Lire une valeur de devise |
| Leadatetime | Section, identité: chaîne; Par défaut: tdatetime | Tdatetime | Lire une valeur DateTime |
| Readboolean | Section, identité: chaîne; Par défaut: booléen | Booléen | Lire une valeur booléenne |
| ReadStrings | Section, identité: chaîne; Liste: TSTRINGS | aucun | Lire une liste de chaînes dans la liste spécifiée |
| Readfont | Section, identité: chaîne; Police: tfont | aucun | Lire les paramètres de la police (nom, style, taille, etc.) dans la police spécifiée |
| Stricta | Section, identité: chaîne; pbuf: pointeur; Compte: entier; Type de données: tdftype = dfd_unknown | Entier | Fonction de bas niveau pour écrire toutes les données stockées sur le pointeur spécifié |
| WriteStream | Section, identité: chaîne; Stream: tSstream; Type de données: tdftype = dfd_stream | Entier | Écrivez un flux à partir du fichier de données |
| Écrit | Section, identité: chaîne; Valeur: ANSSIRNING | aucun | Écrivez une chaîne ANSI à partir du fichier de données. Si l'identifiant n'existe pas, renvoie la valeur par défaut |
| Écriture | Section, identité, valeur: chaîne | aucun | Écrivez une chaîne Unicode à partir du fichier de données. Si l'identifiant n'existe pas, renvoie la valeur par défaut |
| Writeint8 | Section, identité: chaîne; Valeur: Int8 | aucun | Écrivez un entier 8 bits signé |
| WriteInt16 | Section, identité: chaîne; Valeur: int16 | aucun | Écrivez un entier 16 bits signé |
| WriteUint8 | Section, identité: chaîne; Valeur: Uint8 | aucun | Écrivez un entier 8 bits non signé |
| WriteUint16 | Section, identité: chaîne; Valeur: Uint16 | aucun | Écrivez un entier 16 bits non signé |
| WriteInteger, writeInt32 | Section, identité: chaîne; Valeur: entier | aucun | Écrivez un entier 32 bits signé |
| WriteInt64 | Section, identité: chaîne; Valeur: int64 | aucun | Écrivez un entier 64 bits signé |
| WriteUint32 | Section, identité: chaîne; Valeur: uint32 | aucun | Écrivez un entier 32 bits non signé |
| WriteUint64 | Section, identité: chaîne; Valeur: Uint64 | aucun | Écrivez un entier 64 bits non signé |
| Écrit | Section, identité: chaîne; Valeur: célibataire | aucun | Écrivez un flotteur 32 bits |
| Striderouble | Section, identité: chaîne; Valeur: Double | aucun | Écrivez un flotteur 64 bits |
| Écrit | Section, identité: chaîne; Valeur: monnaie | aucun | Écrivez une valeur Currecy |
| WretedateTime | Section, identité: chaîne; Valeur: tdatetime | aucun | Écrire une valeur DateTime |
| Writeboolean | Section, identité: chaîne; Valeur: booléen | aucun | Écrivez une valeur booléenne |
| Écrivains | Section, identité: chaîne; Liste: TSTRINGS | aucun | Écrivez une liste de chaînes dans la liste spécifiée |
| Writefont | Section, identité: chaîne; Police: tfont | aucun | Écrire des paramètres de police (nom, style, taille, etc.) dans la police spécifiée |
| Rebaptiser | OldSection, Oldident, Newsction, Newident: String | Booléen | Renommer un identifiant |
| Supprimer | Section: chaîne | aucun | Supprimer la section spécifiée |
| Supprimer | Section, identité: chaîne | aucun | Supprimer l'identifiant spécifié |
Tdatafile a été conçu pour être utilisé avec Delphi XE et plus. Cela peut fonctionner avec des versions plus anciennes, mais elle n'a pas été testée.
L'éditeur inclus a été créé à l'aide de Delphi Ryo et peut ne pas se compiler dans des versions plus anciennes.
Tdatafile a été inspiré par le logiciel Degisy Tdatafile d'origine.
DataFile Editor est une application pour créer, afficher et modifier des fichiers créés avec TdataFile. L'éditeur ajoutera une méta- section avec une création de clé. Date dans les fichiers créée avec lui, mais peut être supprimé en toute sécurité une fois que vous avez ajouté vos propres sections et valeurs.
Les sections créées avec l'éditeur seront présentées comme un arbre, mais la structure réelle est plate, le nom de la section réel stocké est le chemin complet indiqué dans la partie supérieure. Le séparateur utilisé lors de la création de l'arborescence est le caractère de barre oblique (" / ").
Le code et l'éditeur sont tous deux publiés sous la licence MIT. Voir le fichier de licence pour plus de détails.