Einzelnen Beitrag anzeigen

Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.464 Beiträge
 
Delphi 12 Athens
 
#16

Re: Sortierung von Daten in Textdateien

  Alt 1. Sep 2009, 10:08
Der ganze Aufwand ist, wie schon beschrieben, überflüssig.
Abgesehen davon ist deine Vergleichsfunktion auch noch falsch.
Delphi-Quellcode:
function SortEventList(Item1, Item2: pointer): Integer;
begin
// ***** FileIndex1 < FileIndex2
  if (TOneEvent(Item1).FileIndex < TOneEvent(Item2).FileIndex) then
  begin
    Result:= 1
  end
  else
// ***** FileIndex1 > FileIndex2
  if (TOneEvent(Item1).FileIndex > TOneEvent(Item2).FileIndex) then
  begin
    Result:= -1
  end
  else
// ***** FileIndex1 = FileIndex2
  if (TOneEvent(Item1).FileIndex = TOneEvent(Item2).FileIndex) then
  begin
    if (TOneEvent(Item1).DataSetIndex < TOneEvent(Item2).DataSetIndex) then
      Result:= 1
    else
    if (TOneEvent(Item1).DataSetIndex > TOneEvent(Item2).DataSetIndex) then
      Result:= -1
    else
      Result:= 0;
  end;
end;
oder vereinfacht:
Delphi-Quellcode:
function SortEventList(Item1, Item2: pointer): Integer;
begin
  Result := TOneEvent(Item2).FileIndex - TOneEvent(Item1).FileIndex;
  if Result <> 0 then Exit;
  Result := TOneEvent(Item2).DataSetIndex - TOneEvent(Item1).DataSetIndex;
end;
  Mit Zitat antworten Zitat