TXT como fazer!!!

07/02/2003

0

Como faço para comparar dois arquivos txt e se necessario apagar dados de um deles.

Para ler e escrever no arquivo ja consegui!!

So quero comparar e se necessarios apagar.


Rood_luiz

Rood_luiz

Responder

Posts

07/02/2003

Anonymous

Talvez isso lhe ajude :

procedure TForm1.Button1Click(Sender: TObject);
var
filename1 : string;
filename2 : string;
begin
filename1 := Edit1.Text;
filename2 := Edit2.Text;
compfile(filename1, filename2);
showmessage(´Veja o resultado no arquivo c:Tempdiff.txt´);
end;

procedure tform1.compfile(filename1, filename2 : string);
var
f1 : system.textfile;
f2 : system.textfile;
diff : system.textfile;
buf1 : string;
buf2 : string;
l : integer;
begin
assignfile(f1, filename1);
assignfile(f2, filename2);
assignfile(diff, ´c:Tempdiff.txt´);
reset(f1);
reset(f2);
rewrite(diff);
l := 1;
while not eof(f1) do
begin
readln(f1, buf1);
readln(f2, buf2);
if not (compstr(buf1, buf2) )then
begin
writeln(diff, ´line: ´+ inttostr(l) + ´-´ + buf1);
writeln(diff, ´line: ´+ inttostr(l) + ´-´ + buf2);
writeln(diff, ´ ´);
end;
inc(l);
end;
closefile(f1);
closefile(f2);
closefile(diff);
end;

function tform1.compstr(s1, s2 : string) : boolean;
var
i : integer;
btemp : boolean;
begin
btemp := true;
if (length(s1) <> length(s2)) then begin
btemp := false;
end
else begin
for i:= 1 to length(s1) do begin
if (s1[i] <> s2[i]) then begin
btemp := false;
exit;
end;
end;
end;
result := btemp;
end;

Espero ter ajudado.


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar