Arquivo texto
Estou manipulando registros em arquivos do tipo texto. Faço leitura escrita e agora estou precisando excluir uma linha inteira, mas não sei como faze-lo. Quero realmente exclui-la e não apenas limpar os dados que nela estão. Alguem pode me ajudar?
Joao_ricardomp
Curtidas 0
Respostas
Diogoalles
28/03/2005
Olá
Como você vai determinar qual linha será ou não excluída?
Como você vai determinar qual linha será ou não excluída?
GOSTEI 0
Massuda
28/03/2005
O modo mais genérico de fazer isso seria abrir seu arquivo original para leitura e criar um arquivo cópia (para escrita) com um nome temporário. Você lê as linhas do arquivo original e os escreve no arquivo cópia, exceto as linhas que serão excluídas. Ao terminar, você exclui o arquivo original e renomeia o arquivo cópia para o nome do arquivo original.
GOSTEI 0
Diogoalles
28/03/2005
Joao
eu tenho essa rotina que pega o valor de um Edit e vasculha as linhas de um Memo e ao encontrar a linha com o valor exclui ela.
Vc pode mandar o conteudo do arq texto para o memo e usar a mesma rotina.. e depois vc grava do Memo de volta no arq texto.
só que vai depender de qual a condição para excluir ou não a linha
abraço
Diogo
eu tenho essa rotina que pega o valor de um Edit e vasculha as linhas de um Memo e ao encontrar a linha com o valor exclui ela.
Vc pode mandar o conteudo do arq texto para o memo e usar a mesma rotina.. e depois vc grava do Memo de volta no arq texto.
só que vai depender de qual a condição para excluir ou não a linha
abraço
Diogo
s := Edit.Text; with(Memo1)do begin while(Lines.IndexOf(s) <> -1)do begin Lines.Delete(Lines.IndexOf(s)); Lines[Lines.Count -1] := FormatarMemo(Lines.Count -1); end; end;
function TForm1.Formatar(ANumeroLinha: Integer): String; Var J : Integer; begin Result := ´´; With(Memo1)do Begin For J := 1 To Length(Lines[ANumeroLinha]) Do Begin If(Copy(Lines[ANumeroLinha],J,1) <> ´,´)Then Begin Result := Result + Copy(Lines[ANumeroLinha],J,1); End; End; End; end;
GOSTEI 0