Buscar

Pascal - Arquivos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

http://regispiresmag.googlepages.com/cefetregispiresmag@gmail.com
PASCAL
Regis Pires Magalhães
Última atualização em 03/09/2007
Arquivos
 
http://regispiresmag.googlepages.com/cefetregispiresmag@gmail.com
Arquivos
 O Pascal possui dois tipos de arquivos:
 Arquivos FILE
 Conhecido por Arquivo randômico, ou de acesso 
aleatório.
 É possível buscar uma determinada informação em 
qualquer posição, sem necessidade de percorrer todo o 
arquivo até alcançar a informação desejada.
 O acesso a informação é direto.
 É o tipo de arquivo mais usado no Pascal.
 Sintaxe: 
<Nome da variável> : File of <tipo>;
 
http://regispiresmag.googlepages.com/cefetregispiresmag@gmail.com
Arquivos FILE
 
http://regispiresmag.googlepages.com/cefetregispiresmag@gmail.com
Arquivos
 Arquivos TEXT
 Conhecido por arquivo seqüencial.
 Tipo especial de arquivo que pode ser editado 
normalmente através de um editor de textos 
qualquer.
 É dito seqüencial porque a leitura tem que ser 
feita seqüencialmente do início ao fim do arquivo.
 Sintaxe:
<Nome da variável> : Text
 
http://regispiresmag.googlepages.com/cefetregispiresmag@gmail.com
Arquivos FILE
 Por exemplo, o conjunto de dados sobre as 
pessoas:
 Nome (string);
 Idade (integer);
 Cada conjunto de dados sobre uma determinada 
pessoa recebe o nome de registro.
 Um registro é composto por tipos de dados diferentes. 
 Cada dado que compõe o registro (nome, idade, etc) 
é dito ser um campo.
 
http://regispiresmag.googlepages.com/cefetregispiresmag@gmail.com
Arquivos FILE
Program grava_pessoas;
Type Registro = Record
 nome : String;
 idade : integer;
 End;
Var arquivo : File of Registro;
 reg : Registro;
 continua : char;
Begin
 Assign(arquivo, 'pessoas.dat');
 Rewrite(arquivo);
 Repeat
 Write('Digite o Nome: ');
 Readln(reg.nome);
 Write('Digite a Idade: ');
 Readln(reg.idade);
 Write(arquivo, reg);
 Writeln('Deseja continuar (s/n)? ');
 continua := uppercase(ReadKey());
 Until continua = 'N';
 Close(arquivo);
End.
 
http://regispiresmag.googlepages.com/cefetregispiresmag@gmail.com
Arquivos FILE
Program grava_pessoas;
Uses Crt;
Type Registro = Record
 nome : String;
 idade : integer;
 End;
Var arquivo : File of Registro;
 reg : Registro;
 continua : char;
Begin
 Assign(arquivo, '/media/REGIS_PIRES/Pascal/pessoas.dat');
 {$I-}
 Reset(arquivo);
 {$I+}
 If IOResult = 0 then
 Seek(arquivo, FileSize(arquivo)) {Vai p/fim do arquivo}
 Else
 ReWrite(arquivo);
 Repeat
 Write('Digite o Nome: ');
 Readln(reg.nome);
 Write('Digite a Idade: ');
 Readln(reg.idade);
 Write(arquivo, reg);
 Writeln('Deseja continuar (s/n)? ');
 continua := upcase(ReadKey);
 Until continua = 'N';
 Close(arquivo);
End.
 
http://regispiresmag.googlepages.com/cefetregispiresmag@gmail.com
Arquivos FILE
 {$I} é uma diretiva de compilação para 
checagem de erros de entrada e/ou saída.
 Ela retorna um código de erro em uma 
função chamada IOResult.
 
http://regispiresmag.googlepages.com/cefetregispiresmag@gmail.com
Arquivos FILE
Program le_pessoas;
Type Registro = Record
 nome : String;
 idade : integer;
 End;
Var arquivo : File of Registro;
 reg : Registro;
 continua : char;
Begin
 Assign(arquivo, 'pessoas.dat');
 Reset(arquivo);
 While not EOF(Arquivo) do
 Begin
 Read(arquivo, reg);
 Writeln('Nome: ', reg.nome, 
 ' - Idade: ', reg.idade);
 End;
 Close(arquivo);
End.
 
http://regispiresmag.googlepages.com/cefetregispiresmag@gmail.com
Arquivos TEXT
Program grava_algo;
Var Arquivo : Text;
 algo : String;
 i : integer;
Begin
 Assign(Arquivo, 'algo.txt');
 Rewrite(Arquivo);
 Write('Digite algo: ');
 Readln(algo); 
 For i := 1 to 10 do
 Writeln(Arquivo, algo);
 Close(Arquivo);
End.
 
http://regispiresmag.googlepages.com/cefetregispiresmag@gmail.com
Arquivos TEXT
Program le_algo;
Var Arquivo : Text;
 algo : String;
Begin
 Assign(Arquivo, 'algo.txt');
 Reset(Arquivo);
 While not EOF(Arquivo) do
 Begin
 Readln(Arquivo, algo);
 Writeln(algo);
 End;
 Close(Arquivo);
End.
 
http://regispiresmag.googlepages.com/cefetregispiresmag@gmail.com
Arquivos – Funções e Procedimentos
 Assign
 Associa o nome externo de um arquivo a uma 
variável do tipo FILE ou TEXT.
 Sintaxe:
Assign(Var nome-pascal:File; nome-externo:String);
 Exemplo:
Assign(cadastro,'C:\cadastro.dat');
 
http://regispiresmag.googlepages.com/cefetregispiresmag@gmail.com
Arquivos – Funções e Procedimentos
 Reset
 Abre um arquivo já existente. Caso o arquivo 
não exista, haverá um erro de execução. 
 Sintaxe:
Reset(Var arquivo:File);
 Exemplo:
Reset(cadastro);
 
http://regispiresmag.googlepages.com/cefetregispiresmag@gmail.com
Arquivos – Funções e Procedimentos
 Rewrite
 Permite criar e abrir um novo arquivo. Caso o 
arquivo já exista, terá seu conteúdo eliminado 
e será gerado um novo arquivo.
 Sintaxe:
Rewrite(Var arquivo:File);
 Exemplo:
Rewrite(cadastro);
 
http://regispiresmag.googlepages.com/cefetregispiresmag@gmail.com
Arquivos – Funções e Procedimentos
 Append
 Abre um arquivo TEXT para inclusão de 
novas informações do tipo Write-Only 
(somente para escrita). Caso o arquivo não 
exista ocorrerá um erro de execução. As 
inclusões se processam no final do arquivo.
 Sintaxe:
Append(Var arquivo:File);
 Exemplo:
Append(cadastro);
 
http://regispiresmag.googlepages.com/cefetregispiresmag@gmail.com
Arquivos – Funções e Procedimentos
 Close
 Fecha um arquivo aberto.
 Sintaxe:
Close(Var arquivo:File);
 Exemplo:
Close(cadastro);
 
http://regispiresmag.googlepages.com/cefetregispiresmag@gmail.com
Arquivos – Funções e Procedimentos
 Erase
 Apaga um arquivo.
 Sintaxe:
Erase(Var arquivo:File);
 Exemplo:
Erase(cadastro);
 
http://regispiresmag.googlepages.com/cefetregispiresmag@gmail.com
Arquivos – Funções e Procedimentos
 Rename
 Renomeia um arquivo.
 Sintaxe:
Rename(Var arq_ant:File, arq_novo:File);
 Exemplo:
Rename(tmp, cadastro);
 
http://regispiresmag.googlepages.com/cefetregispiresmag@gmail.com
Arquivos – Funções e Procedimentos
 Write / Writeln
 Grava informações em um arquivo. Após a 
execução, o ponteiro de registros do arquivo 
será deslocado um registro para a frente.
 Sintaxe:
Write(arquivo:File; registro:Record);
 Exemplo:
Write(cadastro, registro);
 
http://regispiresmag.googlepages.com/cefetregispiresmag@gmail.com
Arquivos – Funções e Procedimentos
 Read / Readln
 Atribui um valor obtido por um dispositivo de 
entrada a uma variável. Esse dispositivo pode 
ser um arquivo. Após a execução, o ponteiro 
de registros do arquivo será deslocado um 
registro para a frente. 
 Sintaxe:
Read(arquivo:File; registro:Record);
 Exemplo:
Read(cadastro, registro);
 
http://regispiresmag.googlepages.com/cefetregispiresmag@gmail.com
Arquivos – Funções e Procedimentos
 EOF – End of File (Fim de Arquivo)
 Esta função nos retorna o valor TRUE quando 
for encontrada a marca de fim de arquivo. 
 Sintaxe:
EOF(Var arquivo:File) : boolean;
 Exemplo:
fim := EOF(cadastro);
 
http://regispiresmag.googlepages.com/cefetregispiresmag@gmail.com
Arquivos – Funções e Procedimentos
 Seek
 Move o ponteiro do arquivo para uma 
determinada posição.
 Sintaxe:
Seek(Var arquivo:File; posição:Longint);
 Exemplo:
{posiciona o ponteiro no 6ºregistro}
Seek(cadastro, 5);
 
http://regispiresmag.googlepages.com/cefetregispiresmag@gmail.com
Arquivos – Funções e Procedimentos
 FilePos
 Esta função retorna a posição atual do 
ponteiro do arquivo.
 Sintaxe:
FilePos(Var arquivo:File) : Longint;
 Exemplo:
ponteiro := FilePos(cadastro);
 
http://regispiresmag.googlepages.com/cefetregispiresmag@gmail.com
Arquivos – Funções e Procedimentos
 FileSize
 Esta função retorna a quantidade de registros 
do arquivo.
 Sintaxe:
FileSize(Var arquivo:File) : Longint;
 Exemplo:
tamanho := FileSize(cadastro);
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23
	Slide 24

Outros materiais