Localizar campo em TXT e excluir Linha
Oi, Tenho um arquivo em TXT como segue abaixo:
{
´b´;13/02/2003;06:39:18;;;0417371
´U´;13/02/2003;06:41:03;;;000;001;00821;0417371
´C´;13/02/2003;06:40:34;;;00022;00021;00000;00000;0000;000
´b´;13/02/2003;11:13:55;;;0417387
}
Preciso que ele localize o 2° caracter (´b´) e se for o ´C´ ele terá que excluir a linha inteira, mas quero essa consulta parametrizada, tipo quero escolher ´U´ e assim...... Ex: Quero colocar um ListBox contendo a letras q podem ser excluidas.
Necessito disto com muita urgencia. Pois esse arquivo deve ter +- 100.000 registros diarios. Desse jeito fica dificil de excluir a letra q quero manualmente, Grato
Por favor c possivel mande para meu email.
{
´b´;13/02/2003;06:39:18;;;0417371
´U´;13/02/2003;06:41:03;;;000;001;00821;0417371
´C´;13/02/2003;06:40:34;;;00022;00021;00000;00000;0000;000
´b´;13/02/2003;11:13:55;;;0417387
}
Preciso que ele localize o 2° caracter (´b´) e se for o ´C´ ele terá que excluir a linha inteira, mas quero essa consulta parametrizada, tipo quero escolher ´U´ e assim...... Ex: Quero colocar um ListBox contendo a letras q podem ser excluidas.
Necessito disto com muita urgencia. Pois esse arquivo deve ter +- 100.000 registros diarios. Desse jeito fica dificil de excluir a letra q quero manualmente, Grato
Por favor c possivel mande para meu email.
Wallacest
Curtidas 0
Respostas
Okama
09/05/2003
Escolha a letra que quizer e armazene em um variável. Daí é só abrir o arquivo .txt e regravá-lo sem essas linhas:
Var arquivo1, arquivo2 :TextFile;
Linha, Letra:String;
begin
Letra := ´C´;
AssignFile(´arquivo.txt´,Arquivo1);
AssingFile(´novo_arquivo.txt´,Arquivo2);
Reset(Arquivo1);
ReWrite(Arquivo2);
while not arquivo1.eof do begin
ReadLn(Arquivo1,Linha);
if Copy(Linha,2,1) <> letra then
WriteLn(Arquivo2, Linha);
end;
CloseFile(Arquivo1);
CloseFile(Arquivo2);
Var arquivo1, arquivo2 :TextFile;
Linha, Letra:String;
begin
Letra := ´C´;
AssignFile(´arquivo.txt´,Arquivo1);
AssingFile(´novo_arquivo.txt´,Arquivo2);
Reset(Arquivo1);
ReWrite(Arquivo2);
while not arquivo1.eof do begin
ReadLn(Arquivo1,Linha);
if Copy(Linha,2,1) <> letra then
WriteLn(Arquivo2, Linha);
end;
CloseFile(Arquivo1);
CloseFile(Arquivo2);
GOSTEI 0