Erro no programa em Pascal

10/05/2003

1

//*************************************************************************//
// - ARQUIVOS TEXTO -
// PROGRAMA QUE RECEBA, GRAVE, LEIA, LIMPE CONTEÚDO DE ARQUIVO E
// EXCLUA ARQUIVO TEXT - PASCAL
//
//*************************************************************************//


uses SysUtils;

//**************************************************************************//
// Variáveis Globais
//**************************************************************************//
var OPC: integer;
CONF: string;
var NOME: string[15];
IDADE, QTD, I: integer;
ARQ: text;




// //========================================================================
begin
repeat // Dá início ao laço que executa o menu várias vezes



// Descrição do menu de opções
writeln(´M E N U D E O P C O E S´);
writeln;
writeln(´1 ... Criar Arquivo Texto´);
writeln(´2 ... Gravar Arquivo Texto´);
writeln(´3 ... Ler Arquivo Texto´);
writeln(´4 ... Limpar Conteúdo do Arquivo´);
writeln(´5 ... Excluir Arquivo Texto´);
writeln(´0 ... Sair do Programa´);
write (´Opcao: ´);
readln(OPC); // Leitura da Opção

case OPC of

1: begin // CRIAR ARQUIVO
writeln(´CRIAÇÃO DE ARQUIVO TEXTO´);
writeln;
write(´Quantidade de pessoas: ´);
readln(QTD);
writeln;
assign(ARQ,´c:\tst\teste.txt´);
rewrite(ARQ);
for I := 1 to QTD do
begin
write(´Nome: ´);
readln(NOME);
write(´Idade: ´);
readln(IDADE);
writeln(ARQ, NOME:15, IDADE:4);
end;
close(ARQ);
writeln;
write(´Arquivo gravado. Tecle ENTER´);
readln;
end;

2: begin // GRAVA ARQUIVO TEXTO
writeln(´Teste de gravacao em arquivo´);
writeln;
write(´Quantidade de pessoas: ´);
readln(QTD);
writeln;
assign(ARQ,´c:\tst\teste.txt´);
append(ARQ);
for I := 1 to QTD do
begin
write(´Nome: ´);
readln(NOME);
write(´Idade: ´);
readln(IDADE);
writeln(ARQ, NOME:15, IDADE:4);
end;
close(ARQ);
writeln;
write(´Arquivo gravado. Tecle ENTER´);
readln;
end;


3: begin // Execução da Opção 3
I := 1;
writeln(´Teste de leitura de arquivo´);
writeln;
assign(ARQ,´c:\tst\teste.txt´);
reset(ARQ);
while not EOF(ARQ) do
begin
readln(ARQ, NOME, IDADE);
writeln(´Registro numero ´, I);
writeln(´Nome : ´,NOME);
writeln(´Idade: ´,IDADE);
writeln;
I := I + 1;
end;
close(ARQ);
writeln;
write(´Arquivo lido. Tecle ENTER´);
end;


4: begin // LIMPA CONTEUDO
assign(ARQ,´c:\tst\teste.txt´);
rewrite(ARQ);
end;


//OPÇÃO 5 NÃO IMPLEMENTADA //

0: begin // Execução da Opção 0
writeln(´Abandonar o Programa.´);
write (´Confirma (S/N)? ´);
readln(CONF);
CONF := uppercase(CONF); // Transforma tudo em MAIÚSCULO
if CONF <> ´S´
then OPC := 10;
end;

else begin // Execução de Opção Incorreta
writeln(´Digite somente opcoes validas.´);
readln;
end;
end;// fim do case

until OPC = 0; // Comparação de Opção de saída
end.


A opção 5 não consegui implementar. Alguém?


Responder

Posts

10/05/2003

Paul

if FileExists(´c:\tst\teste.txt´) then // Verifica se o arquivo existe
DeleteFile(´c:\tst\teste.txt´); // apaga o arquivo


Responder