You are on page 1of 9

Arquivos

No Pascal

Introduo
Em Pascal estruturas de dados manipuladas fora do ambiente do programa so conhecidas como arquivos. Considera-se como ambiente do programa a memria principal, onde nem sempre possvel ou conveniente manter certas estruturas de dados. Um arquivo, armazenado num dispositivo de memria secundria, como discos e disquetes, pode ser lido ou escrito por um programa atravs de registros. Antes de se declarar arquivos em um programa, deve ser declarar primeiramente o seu tipo. type identificador-do-tipo = file of tipo; lista-de-identificadores : identificador-do-arquivo; type uma palavra-chave; identificador-de-tipo o identificador associado ao novo tipo; file of so palavras reservadas; tipo o tipo a que pertencem os registros do arquivo; lista-de-identificadores so nomes associados aos arquivos.

Exemplo
Aproveitando a declarao do tipo cadastro acima, abaixo seguem exemplos de sua utilizao com arquivos. Type cadastro = record nome:string[10]; idade: integer; telefone: integer; end; arqcad = file of cadastro; var arquivo : arqcad; arquivo2 : file of cadastro;

Operaes com arquivos


As operaes bsicas realizadas sobre um arquivo so abertura, leitura, escrita e fechamento. A abertura de arquivos corresponde ao de se associar o arquivo declarado no programa com o arquivo fsico. O primeiro registro do arquivo fica disponvel para leitura atravs do seguinte comando: reset(nome-do-arquivo); Caso o arquivo j exista, para comear a escrever novamente no arquivo, ignorando-se os registros anteriores, utiliza-se o seguinte comando: rewrite(nome-do-arquivo);

Operaes com arquivos


O nome-do-arquivo o identificador do arquivo no programa. Para se fazer uma associao desta identificao interna com a identificao externa, usa-se o comando assign, cuja forma : assign(nome-do-arquivo,'nome-externo'); nome-externo o nome pelo qual o arquivo conhecido externamente ao programa. O comando assign deve anteceder a abertura do arquivo e nunca deve ser utilizado quando o arquivo j estiver sendo manipulado. O fechamento do arquivo desvincula o arquivo do programa, atualizando as informaes do arquivo no ambiente do sistema operacional. Para se fechar um arquivo, usa-se o comando: close(nome-do-arquivo);

Operaes com Arquivos


Para ler um arquivo, ou seja ler o seu contedo, utilizado o seguinte comando: read(nome-do-arquivo,registro); Esse comando l o contedo do registro corrente do arquivo associado nome-do-arquivo e armazena-o em na varivel registro, que deve ser do mesmo tipo do arquivo. Aps a execuo desse comando, o registro corrente lido, e o prximo passa a ser o registro corrente. Para escrever em um arquivo, utilizado o seguinte comando: write(nome-do-arquivo,registro); Esse comando, quando executado, grava no registro corrente do arquivo associado nome-do-arquivo o contedo da varivel registro.

Operaes com arquivos


Usando somente os comandos read e write, os registros esto acessveis somente sequencialmente, ou seja, um registro ser acessado somente aps todos os seus anterioes sejam acessados. possvel acessar um registro qualquer do arquivo diretamente, desde que se saiba a sua posio fsica no arquivo. Esse tipo de acesso conseguido pelo comando: seek(nome-do-arquivo,n); Com esse comando possvel acessar o n-simo registro do arquivo associado nome-do-arquivo, caso n seja menor que o nmero de registros do arquivo. O primeiro registro o de nmero 0 (zero).

Operaes com arquivos


Usando somente os comandos read e write, os registros esto acessveis somente sequencialmente, ou seja, um registro ser acessado somente aps todos os seus anterioes sejam acessados. possvel acessar um registro qualquer do arquivo diretamente, desde que se saiba a sua posio fsica no arquivo. Esse tipo de acesso conseguido pelo comando: seek(nome-do-arquivo,n); Com esse comando possvel acessar o n-simo registro do arquivo associado nome-do-arquivo, caso n seja menor que o nmero de registros do arquivo. O primeiro registro o de nmero 0 (zero).

Operaes com arquivos


Para se obter o nmero de registros de um arquivo, utiliza-se o comando: filesize(nome-do-arquivo); Com a utilizao dos comandos seek e filesize temos um outro tipo de organizao ou acesso aos arquivos: a organizao direta. Neste caso temos que escolher uma chave para indexar os registros, ou seja, essa chave ser utilizada para indicar em que posio no arquivo um registro ser armazenado.

You might also like