Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#31

Re: Große Datei sortieren ohne komplett in den Speicher zu l

  Alt 13. Mär 2009, 20:59
Nach dem DRY-Prinzip ('Dont repeat yourself') solltest Du den Aufruf von GetStringLine so ändern, das die Zeilennummer (anstatt dem FileIndex) übergeben wird:
Delphi-Quellcode:
function GetStringLine(I : Integer; Upper : Boolean): string;
var
  CharStr : PAnsiChar;
  index : TIndex;

begin
  index := FileIndex[I];
  CharStr := StrAlloc(Index.size +1);
  FillChar(CharStr^, Index.size +1, #0);
  aSourceFileStream.Seek(Index.offset, soFromBeginning);
  aSourceFileStream.Read(CharStr^, Index.size);
  if Upper then
    Result := AnsiUpperCase(CharStr)
  else
    Result := CharStr;
  StrDispose(CharStr);
end;
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat