Esta clase funciona de manera similar a un Tinifile estándar con muchos métodos similares, pero más potente para los datos almacenados en el archivo binario. La clase también admite la codificación BASIC XOR para revolver más el archivo binario.
Los tipos de datos incorporados se almacenan con los valores y se pueden verificar antes de leerlos.
Cualquier operación de escritura se guarda automáticamente en el archivo abierto.
Los siguientes tipos son compatibles con TDATAFILE:
El constructor crea una nueva instancia de TDatafile.
constructor Create(const FileName: string; readonly: boolean = false);
El nombre de archivo del parámetro especifica la ruta y el nombre del archivo del archivo de datos que abre o crea.
El parámetro Readonly especifica si el archivo se abre como Readonly. En modo Readonly, las funciones de escritura no harán nada.
Si desea usar la codificación incorporada, configure la propiedad CodeKey después de crear el objeto de clase.
var df: TDataFile;
df := TDataFile.Create('filename');
df.CodeKey := 'key used to encode data';
| Función | Parámetros | Tipo de retorno | Información |
|---|---|---|---|
| GetSectionNames | Lista: Tstrings | ninguno | Devuelve una lista de las secciones existentes en el archivo |
| GetValueNames | Sección: cadena; Lista: Tstrings | ninguno | Devuelve una lista de valores existentes en la sección especificada |
| GetValuenamesandTypes | Sección: cadena; Lista: Tstrings | ninguno | Devuelve una lista de valores existentes y sus tipos de datos en la sección especificada. Use list.names [] y list.values [] para los datos |
| GetValuetype | Sección, identificación: cadena | Tdftype | Devuelve el tipo de datos para el valor especificado |
| GetValuetypeasstring | Sección, identificación: cadena | cadena | Igual que GetValueType pero devuelve el tipo de datos como una cadena |
| Sectoresxistes | Sección: cadena | Booleano | Verifique si existe la sección especificada |
| Valpeexistas | Sección, identificación: cadena | Booleano | Verifique si el valor existe en la sección |
| Readida | Sección, identificación: cadena; PBUF: puntero | Entero | Función de bajo nivel para leer cualquier dato almacenado al puntero especificado |
| Lector de lectura | Sección, identificación: cadena; Stream: tstream | Entero | Lea una transmisión del archivo de datos |
| Readansistring | Sección, identificación: cadena; Valor predeterminado: Ansistring | anisistring | Lea una cadena ANSI del archivo de datos. Si el identificador no existe, devuelve el valor predeterminado |
| Readtring | Sección, identificación: cadena; Predeterminado: cadena | cadena | Lea una cadena Unicode del archivo de datos. Si el identificador no existe, devuelve el valor predeterminado |
| Readint8 | Sección, identificación: cadena; Valor predeterminado: int8 | Int8 | Leer un entero de 8 bits firmado |
| Readint16 | Sección, identificación: cadena; Valor predeterminado: int16 | Int16 | Lea un entero firmado de 16 bits |
| Readuint8 | Sección, identificación: cadena; Valor predeterminado: uint8 | Uint8 | Leer un entero de 8 bits sin firmar |
| Readuint16 | Sección, identificación: cadena; Valor predeterminado: uint16 | Uint16 | Lea un entero de 16 bits sin firmar |
| ReadInteger, ReadInt32 | Sección, identificación: cadena; Valor predeterminado: entero | Entero | Leer un entero firmado de 32 bits |
| Readint64 | Sección, identificación: cadena; Valor predeterminado: int64 | Int64 | Lea un entero de 64 bits firmado |
| Readuint32 | Sección, identificación: cadena; Valor predeterminado: uint32 | Uint32 | Lea un entero sin firmar de 32 bits |
| Readuint64 | Sección, identificación: cadena; Valor predeterminado: uint64 | Uint64 | Leer un entero sin firmar de 64 bits |
| Readingido | Sección, identificación: cadena; Valor predeterminado: Single | Soltero | Lea un flotador de 32 bits |
| Readdouble | Sección, identificación: cadena; Valor predeterminado: doble | Doble | Lea un flotador de 64 bits |
| Timbre de lectura | Sección, identificación: cadena; Valor predeterminado: moneda | Divisa | Leer un valor monetario |
| Tiempo de readetet | Sección, identificación: cadena; Valor predeterminado: TDATETIME | Tiempo tdatet | Leer un valor de fecha y hora |
| Readbooleano | Sección, identificación: cadena; Valor predeterminado: booleano | Booleano | Leer un valor booleano |
| Lectores de lectura | Sección, identificación: cadena; Lista: Tstrings | ninguno | Lea una lista de cadenas en la lista especificada |
| Reelacionar | Sección, identificación: cadena; Fuente: tfont | ninguno | Lea la configuración de fuentes (nombre, estilo, tamaño, etc.) en la fuente especificada |
| Writeata | Sección, identificación: cadena; pbuf: puntero; Recuento: entero; DataType: tdftype = dfd_unknown | Entero | Función de bajo nivel para escribir cualquier datos almacenados en el puntero especificado |
| Escritura | Sección, identificación: cadena; Stream: tstream; DataType: tdftype = dfd_stream | Entero | Escriba una transmisión desde el archivo de datos |
| Escrito | Sección, identificación: cadena; Valor: Ansistring | ninguno | Escriba una cadena ANSI desde el archivo de datos. Si el identificador no existe, devuelve el valor predeterminado |
| Escrito | Sección, identificación, valor: cadena | ninguno | Escriba una cadena Unicode desde el archivo de datos. Si el identificador no existe, devuelve el valor predeterminado |
| Writeint8 | Sección, identificación: cadena; Valor: int8 | ninguno | Escribe un entero firmado de 8 bits |
| Writeint16 | Sección, identificación: cadena; Valor: int16 | ninguno | Escribe un entero de 16 bits firmado |
| Writuint8 | Sección, identificación: cadena; Valor: uint8 | ninguno | Escribe un entero de 8 bits sin firmar |
| Writuint16 | Sección, identificación: cadena; Valor: uint16 | ninguno | Escribe un entero de 16 bits sin firmar |
| WriteInteger, WriteInt32 | Sección, identificación: cadena; Valor: entero | ninguno | Escribe un entero firmado de 32 bits |
| Writeint64 | Sección, identificación: cadena; Valor: int64 | ninguno | Escribe un entero de 64 bits firmado |
| Writuint32 | Sección, identificación: cadena; Valor: uint32 | ninguno | Escribe un entero sin firmar de 32 bits |
| Writuint64 | Sección, identificación: cadena; Valor: uint64 | ninguno | Escribe un entero sin firmar de 64 bits |
| Escritura | Sección, identificación: cadena; Valor: Single | ninguno | Escribe un flotador de 32 bits |
| Writedoble | Sección, identificación: cadena; Valor: Doble | ninguno | Escribe un flotador de 64 bits |
| Cuestión de escritura | Sección, identificación: cadena; Valor: moneda | ninguno | Escribe un valor currecy |
| Tiempo de comunicación | Sección, identificación: cadena; Valor: Tdatetime | ninguno | Escribe un valor de fecha y hora |
| WriteBoolean | Sección, identificación: cadena; Valor: booleano | ninguno | Escribe un valor booleano |
| Escritos | Sección, identificación: cadena; Lista: Tstrings | ninguno | Escriba una lista de cadenas en la lista especificada |
| WriteFont | Sección, identificación: cadena; Fuente: tfont | ninguno | Escriba la configuración de la fuente (nombre, estilo, tamaño, etc.) en la fuente especificada |
| Rebautizar | Sección antigua, Oldident, Newsection, Newident: Cadena | Booleano | Cambiar el nombre de un identificador |
| Eliminación | Sección: cadena | ninguno | Eliminar la sección especificada |
| Borrar | Sección, identificación: cadena | ninguno | Eliminar el identificador especificado |
Tdatafile fue diseñado para usarse con Delphi XE y superior. Puede funcionar con versiones anteriores, pero no se probó.
El editor incluido fue creado usando Delphi Ryo y puede no compilarse en versiones anteriores.
TDatafile se inspiró en el software degisy original TDatafile.
DataFile Editor es una aplicación para crear, ver y modificar archivos creados con TDATAFILE. El editor agregará una meta sección con una creación clave. Date en archivos creados con él, pero se puede eliminar de manera segura una vez que agregue sus propias secciones y valores.
Las secciones creadas con el editor se presentarán como un árbol, pero la estructura real es plana, el nombre de sección real almacenado es la ruta completa que se muestra en la parte superior. El separador utilizado al crear el árbol es el carácter de corte (" / ").
El código y el editor se lanzan bajo la licencia MIT. Consulte el archivo de licencia para obtener más detalles.