|  | Aula 21: Ficheiros | 


 Hoje
vamos aprender como escrever e ler ficheiros. Neste aula vamos
só
usar ficheiros do tipo texto. Isto são ficheiros com os dados no
formato ASCII e legível pelas pessoas enquanto que os outros
formatos
são do tipo binário e só legível pelo
computador.
Todos os nossos ficheiros com os programas de PASCAL são do tipo
ASCII.
Hoje
vamos aprender como escrever e ler ficheiros. Neste aula vamos
só
usar ficheiros do tipo texto. Isto são ficheiros com os dados no
formato ASCII e legível pelas pessoas enquanto que os outros
formatos
são do tipo binário e só legível pelo
computador.
Todos os nossos ficheiros com os programas de PASCAL são do tipo
ASCII.
| Var text Assign Rewrite Reset Close Read, ReadLn Write, WriteLn Eol, Eof | 
| Var filehandle: text; | 
Com filehandle o nome da
variável
que contem o estado do ficheiro. Isto não é igual ao nome
do ficheiro, mas é só uma variável que vai guardar
a informação do estado do mesmo (por exemplo: onde fica
no
disco?, está aberto?, a última unidade da
informação).
O lugar de declarar este variável é com a
declaração
das outras variáveis.
Example:
  Var f: text;
| Assign(filehandle,filename); | 
O filehandle é igual
à
variável acima e filename
é um string (constante ou variável) que contem o nome do
ficheiro. Por exemplo:
  Assign(f, 'MYFILE.TXT');
  ReadLn(s);
  Assign(f, s);
|  | 
|  | 
|  | 
|  | 
|  | 
|  | 
Nota que podemos só usar as instruções Read
e ReadLn para ficheiros que
foram
abertos para input (por Reset).  Da mesma forma
as
instruções Write e
WriteLn
é para escrever nos ficheiros que estão preperados para output
(por Rewrite). Exemplos:
  WriteLn(f, r:0:2);
  ReadLn(f, opcao);
 
|  |  | 
|  |  | 
| Close(filehandle); | 

Exemplo:
  While NOT Eof(f) do
    ReadLn(s);
o que vai ler até o fim do ficheiro.
| código PASCAL | ecrã | ficheiro TEST.TXT após de correr o programa | 
| PROGRAM WithFileOutPut; Var f: text;
       begin
       | Nome do Ficheiro: TEST.TXT | 1 Ola 2 Ola 3 Ola 4 Ola 5 Ola 6 Ola 7 Ola 8 Ola 9 Ola 10 Ola | 
| código PASCAL | ecrã | ficheiro TEST.TXT antes de correr o programa | 
| PROGRAM WithFileInPut; Var f: text;
       begin
       | Nome do Ficheiro: TEST.TXT 1 Ola 2 Ola 3 Ola 4 Ola 5 Ola 6 Ola 7 Ola 8 Ola 9 Ola 10 Ola | 1 Ola 2 Ola 3 Ola 4 Ola 5 Ola 6 Ola 7 Ola 8 Ola 9 Ola 10 Ola |