Hi,
mir reicht in der Regel das hier:
Delphi-Quellcode:
function CheapDosText(fn: TFileName): Boolean;
var
sEoln: String[2];
begin
with TFileStream.Create(fn, fmOpenRead or fmShareDenyWrite) do
try
if Size > 1 then
begin
Position := Size - 2;
ReadBuffer(sEoln[1], 2);
SetLength(sEoln, 2);
Result := sEoln = sLineBreak;
end else Result := False;
finally
Free;
end;
end;
Wird True geliefert, dann ist das Ergebnis sicher. Bei False kann es sein, dass die letzte Textzeile nicht terminiert wurde, dann muss man mehr Aufwand treiben.
Freundliche Grüße