Ir ao conteúdo
  • Cadastre-se
williankleber

Como excluir uma unica linha de um arquivo TXT

Recommended Posts

Olá a todos.

Preciso fazer um trabalho para faculdade onde devo fazer um programa para cadastrar, alterar, consultar e excluir registros dentro de um arquivo TXT.

Não posso usar um arquivo "tipado" binário, por restrições do professor.

Tela de consulta e de cadastro ja estão prontas, faltando apenas a tela de exclusão de registros. Até consegui excluir um registro em arquivo tipado binario, excluindo a ultima linha do arquivo e jogando seu conteudo para a linha que desejo excluir, mas nesse arquivo extruturado esta difícil.

Meu arquivo segue uma extrutura básica, primeiras 4 posições é o código e as 40 posições seguintes é a descrição...

Poderiam me ajudar a excluir essa linha?

Desde já, fico muito agradecido.

--

Willian Kleber Araujo

Campo Mourão - PR

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá a todos.

Preciso fazer um trabalho para faculdade onde devo fazer um programa para cadastrar, alterar, consultar e excluir registros dentro de um arquivo TXT.

Não posso usar um arquivo "tipado" binário, por restrições do professor.

Tela de consulta e de cadastro ja estão prontas, faltando apenas a tela de exclusão de registros. Até consegui excluir um registro em arquivo tipado binario, excluindo a ultima linha do arquivo e jogando seu conteudo para a linha que desejo excluir, mas nesse arquivo extruturado esta difícil.

Meu arquivo segue uma extrutura básica, primeiras 4 posições é o código e as 40 posições seguintes é a descrição...

Poderiam me ajudar a excluir essa linha?

Desde já, fico muito agradecido.

--

Willian Kleber Araujo

Campo Mourão - PR

Olá williankleber,

Pelo que sei, arquivos de textos não são editáveis (como deve ser sabido, nele não funciona o seek)... logo só tem uma opção (que conheço): Cria um arquivo novo copiando todos as linhas, menos a linha que quer apagar.

Então... cria um arquivo temporário com os dados copiados, depois exclui (ou renomeia) o padrão, e renomeia o temporário com o mesmo nome do antigo.

Caso ainda não conheça os comandos

procedure Erase(var F);
procedure Rename(var F; NewName: String);

Qualquer coisa é só postar.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Olá williankleber,

Pelo que sei, arquivos de textos não são editáveis (como deve ser sabido, nele não funciona o seek)... logo só tem uma opção (que conheço): Cria um arquivo novo copiando todos as linhas, menos a linha que quer apagar.

Então... cria um arquivo temporário com os dados copiados, depois exclui (ou renomeia) o padrão, e renomeia o temporário com o mesmo nome do antigo.

Caso ainda não conheça os comandos

procedure Erase(var F);
procedure Rename(var F; NewName: String);

Qualquer coisa é só postar.

Obrigado Simom,

Essa forma eu até ja havia visto, Mas antes de fazer dessa forma, preferi consultar alguém mais experiente para ter certeza de que é a melhor forma de fazer.

Mas de qualquer forma Simom, muito obrigado pela ajuda e pela agilidade na resposta, vou seguir suas instruções.

--

Willian Kleber Araujo

Campo Mourão - PR

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×