Вы находитесь на странице: 1из 4

1.

Arquivos

a Identificação do Registro
b,c,d Campos
e,f,g,h Registros

a) Um arquivo é formado por registros;


b) Cada registro é formado de campos;
c) O arquivo possui um nome (8 caracteres para o nome mais 3 caracteres para a extensão), este
nome é chamado de nome externo (DOS);
d) Cada registro possui um índice interno e o arquivo possui um ponteiro que indica a posição atual
do arquivo;
e) Quando o arquivo é aberto ("Reset") ou criado ("ReWrite") o ponteiro aponta para o registro
ZERO;
f) A cada leitura ou gravação o ponteiro aponta para o próximo registro (Acesso seqüencial);
g) Pode-se ainda, apontar para qualquer registro (Acesso Randômico) através do procedimento
Seek.

Tipos de Arquivos:
Texto
Tipo de Arquivo formado de caracteres organizados em linhas.

Como Definir:

Var Arquivo: Text; (* ou Arquivo: File Of Char; *)


Reg: Char; (* Reg é a variável que representa o registro *)

Binário
Tipo de Arquivo usado para armazenar tipos de dados diferentes.

Type Registro = Record


Nome: String[30];
Idade: Byte;
Salário: Real;
End;
Var Arquivo: File Of Registro;
Reg: Registro;

1.1 Procedimentos
1.1.1 Assign
Procedimento que associa o nome externo do arquivo (DISCO) ao nome interno do
arquivo dentro do programa (File Of).

Modo de Usar: Assign(Arq: File Of ..., nome_arquivo: String[]);

Exemplo: Arquivo Genérico

Var Arq: File Of Byte;


Reg: Byte;
Nome_arquivo: String[14];
Begin
ClrScr;
Write('Informe o Nome do Arquivo: ');
Readln(Nome_arquivo);
Assign(Arq,Nome_arquivo);

ou

Exemplo: Arquivo Específico

Var Arq: File Of Integer;


Reg: Integer;
Begin
ClrScr;
Assign(Arq,'B:\FILES\AGENDA.DAT'); (* Drive:\Path\Nome *)

1.1.2 Close
Procedimento que permite fechar um arquivo.

Modo de Usar: Close(Arq: File Of ...);

1.1.3 Erase
Procedimento que permite deletar um arquivo no disco.

Modo de Usar: Erase(drive: Arq: File Of ...);

1.1.4 Read
Procedimento que permite ler campos ou registros do arquivo contido no disco.
Modo de Usar: Read(Arq: File Of ..., registro ou campo);

1.1.5 Write
Procedimento que permite gravar campos ou registros no arquivo contido no disco.

Modo de Usar: Write(Arq: File Of ..., registro ou campo);

1.1.6 ReName
Procedimento que permite renomear o arquivo no disco.

Modo de Usar:ReName(drive:Arq: File Of ..., novo_nome_para_o_arquivo);

1.1.7 Reset
Procedimento que permite abrir de um arquivo.

Modo de Usar: Reset(Arq: File Of ...);

Na abertura de um arquivo, deve ser verificado sua existência, pois se o arquivo não existir
haverá um erro em tempo de execução (Run Time Error), e o programa será abortado, para que
isto não aconteça é feito o seguinte:

Program Exemplo;
Uses Crt;
Var Arq: File Of Integer;
Reg; Integer;
Nome_arquivo: String[14];
Begin
ClrScr;
Write('Nome do Arquivo: ');
ReadLn(Nome_arquivo);
Assign(Arq,Nome_arquivo);
{$I-} Reset(Arq) {$I+};

Observação: {$I-} e {$I+} são diretivas de compilação que forçam o compilador a não abortar se
houver um erro em tempo de execução (RunTime Error), fazendo ainda com que a variável pré-
definida "IoResult" retorne com a informação se houve erro ou não da seguinte maneira:

IoResult = 0 Arquivo EXISTE


IoResult <> 0 Arquivo NÃO EXISTE

If IoResult = 0 Then
WriteLn('Arquivo EXISTE')
Else
WriteLn('ERRO: Arquivo NÃO EXISTE')

1.1.8 ReWrite
Procedimento que permite criar um arquivo em disco, se o arquivo não existe, é criado, se
existe é apagado, e o ponteiro do arquivo é posicionado no registro zero.

Modo de Usar: ReWrite(Arq: File Of ...);

1.1.9 Seek
Procedimento que permite posicionar o ponteiro do arquivo no registro especificado
(Acesso Randômico).

Modo de Usar: Seek(Arq: File Of ..., número_do_registro);

1.2 Funções
1.2.1 EOF (End Of File)
Função que retorna TRUE se o ponteiro do arquivo chegou ao fim do arquivo, FALSE
enquanto não for fim de arquivo.

Modo de Usar: EOF(Arq: File Of ...): Boolean;

1.2.2 FilePos
Função que retorna a posição do registro corrente, ou seja, a posição do ponteiro no arquivo
(o primeiro registro é Zero).

Modo de Usar: FilePos(Arq: File Of ...): Integer;

1.2.3 FileSize
Função que retorna o número de registros do arquivo, "zero" se não existir nenhum
registro.

Modo de Usar: FileSize(Arq: File Of ...): Integer;

1.2.4 SizeOf
Função que retorna o número de bytes ocupado por uma variável.

Modo de Usar: SizeOf(tipo ou variável): Word;

Вам также может понравиться