Moin Christian,
du ignorierst in beiden Varianten die letzte Zeile der Eingabedatei. Das Ergebnis der ersten Variante ist sicher auch nicht das gewünschte.
Korrektur der Variante 1:
Delphi-Quellcode:
[...]
try
// Readln(fIn,sLine); // entfernt
while not Eof(fIN) do begin
Readln(fIn,sLine); // neu
sMD5 := MD5Print(MD5String(sLine));
if sl.IndexOf(sMD5) = -1 then begin
sl.Add(sMD5);
Writeln(fOUT, sLine); // korrigiert
end;
// Readln(fIN,sLine); // entfernt
end;
finally
[...]
Korrektur der Variante 2:
Delphi-Quellcode:
[...]
try
// Readln(fIn,sLine); // entfernt
while not Eof(fIN) do begin
Readln(fIn,sLine); // neu
slOut.Add(sLine);
// Readln(fIN,sLine); // entfernt
end;
finally
[...]
Gruß Hawkeye