Ir ao conteúdo
  • Cadastre-se

Pesquisar e excluir dados num arquivo txt


Posts recomendados

Boa tarde pessoal, alguém pode me ajudar com este exercício, tenho que criar um procedimento para pesquisar um dado e outro para excluir este dado.

program AGENDATXT;
uses
  Crt;
var
  ARQTXT   : text;
  NOME_ARQUIVO: string;
  NOME     : string[40];
  TELEFONE : string[8];
  TECLA    : char;
  OPCAO    : char;
{*** Rotinas de Visualizacao ***}
procedure CENTER(MENSAGEM : string);
var
  TAMANHO : integer;
begin
  TAMANHO := 40 + length(MENSAGEM) div 2;
  writeln(MENSAGEM:TAMANHO);
end;
procedure WRITEXY(X, Y : byte; MENSAGEM : string);
begin
  gotoxy(X, Y); write(MENSAGEM);
end;
procedure LINE;
var
  I : byte;
begin
  for I := 1 to 80 do
    write(#205);
end;
{*** Rotinas de Manipulacao de Arquivos ***}
procedure ARQUIVO;
begin
  clrscr;
  line;
  center('Criacao de Arquivo');
  line;
    writeln;
    center('Informe o nome do arquivo TXT  a ser criado:');
  readln(NOME_ARQUIVO);
    {Completando o nome informado pelo usuário com a extensão txt}
    NOME_ARQUIVO := NOME_ARQUIVO + '.txt';
    {Associando a variavel a um arquivo texto}
     assign(ARQTXT, NOME_ARQUIVO);
  {Criando o arquivo Texto}  
  rewrite(ARQTXT);
  gotoxy( 1,12); center('Arquivo foi criado');
  writexy(25,24,'Tecle algo para voltar ao menu'); 
  TECLA := readkey;
  close(ARQTXT);
end;
procedure CADASTRA;
begin
  clrscr;
  line;
  center('Cadastramento de Registro');
  line;
  append(ARQTXT);
  writexy(10, 5, 'Entre com o Nome ..........: '); readln(NOME);
  writexy(10, 6, 'Entre com o Telefone ......: '); readln(TELEFONE);
  writeln(ARQTXT, NOME);
  writeln(ARQTXT, TELEFONE);
  writexy(25,24,'Tecle algo para voltar ao menu'); 
  TECLA := readkey;
  close(ARQTXT);
end;
procedure EXIBIR;
var
  LINHA : byte;
begin
  clrscr;
  line;
  assign(ARQTXT,NOME_ARQUIVO);
  center('Apresentacao de Registros');
  line;
  LINHA := 5;
  reset(ARQTXT);
  while not eof(ARQTXT) do
    begin
      readln(ARQTXT, NOME);
      readln(ARQTXT, TELEFONE);
      gotoxy( 5,LINHA); write(NOME);
      gotoxy(50,LINHA); write(TELEFONE);
      LINHA := LINHA + 1;
    end;
  writexy(25,24,'Tecle algo para voltar ao menu'); 
  TECLA := readkey;
  close(ARQTXT);
end;
{*** Programa Principal ***}
begin
  OPCAO := '0'; 
  while (OPCAO <> '4') do
    begin
      clrscr;
      line;
      center('Menu Principal');
      line;
      gotoxy(28, 6); write('1 ........ Criar arquivo');
      gotoxy(28, 8); write('2 ............ Cadastrar');
      gotoxy(28,10); write('3 ..... Exibir registros');
      gotoxy(28,12); write('4 ...... Fim de Programa');
      gotoxy(28,16); write('Escolha uma opcao ....: ');
      readln(OPCAO);
      if (OPCAO <> '4') then
        case OPCAO of
           '1' : Arquivo;
           '2' : Cadastra;
           '3' : Exibir;
        else
           gotoxy(27,24); writeln('Opcao invalida - Tecle algo');
           OPCAO := readkey;
        end;
    end;
end.

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá @Arthur Xavier. Seja bem vindo ao Fórum do Clube do Hardware.

 

1) COMO POSTAR UM CÓDIGO

Ao postar um código, favor utilizar a tag CODE. Abaixo o link fala sobre como usar! Por favor, edite sua postagem, apague (ou recorte) o código, e insira novamente utilizando a tag.

 

 

2) ARQUIVOS DE TEXTO

Abaixo tem um link de uma postagem semelhante a sua dúvida.

 

Por favor, verifique se é útil para você. Caso tenha dúvidas, sobre algo, é só postar também.

 

 

***

 

No aguardo.

adicionado 4 minutos depois

Obs.: por sinal, os códigos são um pouco parecidos. Como sugestão, recomendo que se aprofunde um pouco sobre essa parte de manipulação de arquivos, que de certo modo não tem nada de muito complicado, e refaça o código. Até mesmo com recursos mais simples por enquanto... Qualquer dúvida estamos a disposição para tentar ajudar.

 

Abraços

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...