Esta classe funciona de maneira semelhante a um Tinifile padrão com muitos métodos semelhantes, mas mais poderoso para dados armazenados no arquivo binário. A classe também suporta a codificação XOR básica para embarcar no arquivo binário.
Os tipos de dados internos são armazenados com os valores e podem ser verificados antes de lê-los.
Quaisquer operações de gravação são salvas automaticamente no arquivo aberto.
Os seguintes tipos são suportados pelo TDataFile:
O construtor cria uma nova instância do tdatafile.
constructor Create(const FileName: string; readonly: boolean = false);
O nome do arquivo do parâmetro especifica o caminho e o nome do arquivo do arquivo de dados que você abre ou cria.
Parâmetro especifica se o arquivo for aberto como readonly. No modo readonly, as funções de gravação não farão nada.
Se você deseja usar a codificação interna, defina a propriedade CodeKey após criar o objeto de classe.
var df: TDataFile;
df := TDataFile.Create('filename');
df.CodeKey := 'key used to encode data';
| Função | Parâmetros | Tipo de retorno | Informação |
|---|---|---|---|
| GetSectionNames | Lista: TStrings | nenhum | Retorna uma lista das seções existentes no arquivo |
| GetValuenames | Seção: string; Lista: TStrings | nenhum | Retorna uma lista de valores existentes na seção especificada |
| GetValuenamesAndTypes | Seção: string; Lista: TStrings | nenhum | Retorna uma lista dos valores existentes e seus tipos de dados na seção especificada. Use list.names [] e list.values [] para os dados |
| GetValueType | Seção, identificação: string | TDFTYPE | Retorna o tipo de dados para o valor especificado |
| GetValuetyPeasString | Seção, identificação: string | corda | O mesmo que getValueType , mas retorna o tipo de dados como uma string |
| Seção existe | Seção: String | Booleano | Verifique se a seção especificada existe |
| Valuexists | Seção, identificação: string | Booleano | Verifique se o valor existe na seção |
| ReadData | Seção, identificação: string; pbuf: ponteiro | Inteiro | Função de baixo nível para ler quaisquer dados armazenados no ponteiro especificado |
| Readstream | Seção, identificação: string; Fluxo: TStream | Inteiro | Leia um fluxo do arquivo de dados |
| ReadAnsistring | Seção, identificação: string; Padrão: Ansistring | Ansistring | Leia uma sequência ANSI do arquivo de dados. Se o identificador não existir, retornará o valor padrão |
| ReadString | Seção, identificação: string; Padrão: string | corda | Leia uma string unicode do arquivo de dados. Se o identificador não existir, retornará o valor padrão |
| Readint8 | Seção, identificação: string; Padrão: Int8 | Int8 | Leia um número inteiro assinado de 8 bits |
| Readint16 | Seção, identificação: string; Padrão: Int16 | INT16 | Leia um número inteiro assinado de 16 bits |
| READUINT8 | Seção, identificação: string; Padrão: uint8 | Uint8 | Leia um número inteiro de 8 bits não assinado |
| READUINT16 | Seção, identificação: string; Padrão: UINT16 | Uint16 | Leia um número inteiro de 16 bits não assinado |
| ReadInteger, Readint32 | Seção, identificação: string; Padrão: Inteiro | Inteiro | Leia um número inteiro assinado de 32 bits |
| Readint64 | Seção, identificação: string; Padrão: Int64 | Int64 | Leia um número inteiro assinado de 64 bits |
| READUINT32 | Seção, identificação: string; Padrão: UINT32 | Uint32 | Leia um número inteiro de 32 bits não assinado |
| ReadUint64 | Seção, identificação: string; Padrão: UINT64 | Uint64 | Leia um número inteiro de 64 bits não assinado |
| Readsingle | Seção, identificação: string; Padrão: Single | Solteiro | Leia um flutuador de 32 bits |
| ReadDouble | Seção, identificação: string; Padrão: Double | Dobro | Leia um flutuador de 64 bits |
| ReadCurrency | Seção, identificação: string; Padrão: Moeda | Moeda | Leia um valor de moeda |
| ReadDateTime | Seção, identificação: string; Padrão: TDATETIME | TDATETIME | Leia um valor de tempo de dados |
| Readboolean | Seção, identificação: string; Padrão: Booleano | Booleano | Leia um valor booleano |
| Readstrings | Seção, identificação: string; Lista: TStrings | nenhum | Leia uma lista de string na lista especificada |
| Readfont | Seção, identificação: string; Fonte: tfont | nenhum | Leia as configurações da fonte (nome, estilo, tamanho, etc.) na fonte especificada |
| Writedata | Seção, identificação: string; pbuf: ponteiro; Contagem: Inteiro; Datatype: tdftype = dfd_unknown | Inteiro | Função de baixo nível para escrever quaisquer dados armazenados no ponteiro especificado |
| WRITESTREAM | Seção, identificação: string; Fluxo: tStream; Datatype: tdftype = dfd_stream | Inteiro | Escreva um fluxo do arquivo de dados |
| Writeansisting | Seção, identificação: string; Valor: Ansistring | nenhum | Escreva uma sequência ANSI no arquivo de dados. Se o identificador não existir, retornará o valor padrão |
| Escrito | Seção, Ident, Valor: String | nenhum | Escreva uma string unicode no arquivo de dados. Se o identificador não existir, retornará o valor padrão |
| WriteInt8 | Seção, identificação: string; Valor: Int8 | nenhum | Escreva um número inteiro assinado de 8 bits |
| WriteInt16 | Seção, identificação: string; Valor: Int16 | nenhum | Escreva um número inteiro assinado de 16 bits |
| WriteUint8 | Seção, identificação: string; Valor: uint8 | nenhum | Escreva um número inteiro de 8 bits não assinado |
| WriteUint16 | Seção, identificação: string; Valor: UINT16 | nenhum | Escreva um número inteiro de 16 bits não assinado |
| WriteInteger, WriteInt32 | Seção, identificação: string; Valor: Inteiro | nenhum | Escreva um número inteiro assinado de 32 bits |
| WriteInt64 | Seção, identificação: string; Valor: Int64 | nenhum | Escreva um número inteiro assinado de 64 bits |
| WriteUint32 | Seção, identificação: string; Valor: UINT32 | nenhum | Escreva um número inteiro de 32 bits não assinado |
| WriteUint64 | Seção, identificação: string; Valor: uint64 | nenhum | Escreva um número inteiro de 64 bits não assinado |
| Escreve | Seção, identificação: string; Valor: único | nenhum | Escreva um flutuador de 32 bits |
| Escrito | Seção, identificação: string; Valor: duplo | nenhum | Escreva um flutuador de 64 bits |
| WriteCurrency | Seção, identificação: string; Valor: moeda | nenhum | Escreva um valor de CurreCy |
| Escritado de tempo | Seção, identificação: string; Valor: TDATETIME | nenhum | Escreva um valor de tempo de dados |
| WriteBoolean | Seção, identificação: string; Valor: booleano | nenhum | Escreva um valor booleano |
| Escritores | Seção, identificação: string; Lista: TStrings | nenhum | Escreva uma lista de string na lista especificada |
| Writefont | Seção, identificação: string; Fonte: tfont | nenhum | Escreva configurações de fonte (nome, estilo, tamanho, etc.) na fonte especificada |
| Renomear | Oldsection, Oldident, notícia, Newident: String | Booleano | Renomeie um identificador |
| Deleteseção | Seção: String | nenhum | Exclua a seção especificada |
| Excluir | Seção, identificação: string | nenhum | Exclua o identificador especificado |
O Tdatafile foi projetado para ser usado com Delphi XE e mais alto. Pode funcionar com versões mais antigas, mas não foi testado.
O editor incluído foi criado usando o Delphi Ryo e pode não compilar em versões mais antigas.
O Tdatafile foi inspirado no software degisy original tdatafile.
O DataFile Editor é um aplicativo para criar, visualizar e modificar arquivos criados com o TDataFile. O editor adicionará uma meta seção com uma criação de chaves.
As seções criadas com o editor serão apresentadas como uma árvore, mas a estrutura real é plana, o nome da seção real armazenado é o caminho completo mostrado na parte superior. O separador usado ao criar a árvore é o caractere de barra (" / ").
O código e o editor são liberados sob a licença do MIT. Consulte o arquivo de licença para obter detalhes.