Esse artigo faz parte da revista Clube Delphi edição 24. Clique aqui para ler todos os artigos desta edição



Atenção: por essa edição ser muito antiga não há arquivo PDF para download. Os artigos dessa edição estão disponíveis somente através do formato HTML.

Manipulação de arquivos no Delphi

Parte 2: Arquivos Binários

 

Na edição anterior, vimos como manipular arquivos textos. Vimos também como criar ou abrir um arquivo existente e como ler e escrever informações. Neste artigo veremos como manipular arquivos binários.

Assim como os arquivos textos, antes da criação dos bancos de dados os arquivos binários também eram utilizados para o armazenamento em massa de informações. Ainda hoje, algumas aplicações fazem uso de arquivos binários para armazenar e trocar informações de maneira mais segura do que é possível com arquivos texto.

         Arquivos binários guardam informações no "formato de máquina". Por isso, se um arquivo desse tipo for aberto em um editor de texto comum, não será possível a sua leitura de maneira compreensível. Você pode, por exemplo, tentar ler uma DLL, mas não vai conseguir entender muita coisa.

         Vale lembrar que arquivos binários, para que possam ser manipulados pelas nossas aplicações, precisam ter suas estruturas conhecidas. Claro que você pode abrir qualquer arquivo binário e fazer a leitura de seu conteúdo lendo byte a byte. No entanto se você não souber o que cada sequência de bytes significa, pouco poderá fazer com os bytes lidos.

         Um exemplo onde são úteis os arquivos binários seria uma aplicação que criasse um arquivo para envio a outra máquina. Para evitar que os dados fiquem desprotegidos, acessíveis para que qualquer usuário possa ler, gravaríamos estas informações em formato binário. Apenas a aplicação que recebesse o arquivo conheceria o seu formato e poderia fazer a "conversão".

Variáveis do tipo arquivo

Para acessar um arquivo binário, precisamos declarar uma variável do tipo "arquivo":

 

var Nome_da_variavel: file;

 

Ou, se soubermos a estrutura do arquivo, utilizamos a seguinte sintaxe:

 

var Nome_da_variavel: file of <estrutura>;

 

Onde <estrutura> pode ser, por exemplo, um record. A atribuição do nome do arquivo à variável é feita através dos comandos Assign ou AssignFile, como em:

 

AssignFile(Variável, 'nome_do_arquivo.Txt');

 

         Este exemplo mostra a definição de um arquivo binário baseado num registro (record) com dois campos:

 

type

  RegFile = record

    campo1:integer;

    campo2:string[30];

  end;

var

  MeuArqBin: file of RegFile;

begin

  AssignFile(MeuArqBin, 'Arq1.bin');

end;

 

...

Quer ler esse conteúdo completo? Tenha acesso completo