webpredator Geschrieben 3. August 2002 Geschrieben 3. August 2002 Hat jemand eine Routine rumliegen, mit der ich ein ListView sortieren kann? Es geht um eine Highscoreliste. Folgendes: Ich hab immer ein Haupteintrag (Name) und ein SubItem (Punkte). Nun möchte ich nach Punkten sortieren, wie geht das am einfachsten? Zitieren
webpredator Geschrieben 5. August 2002 Autor Geschrieben 5. August 2002 Oder weiß jemand, wie ich die Methode CustomSort richtig einsetze? Ich weiß nicht, wie das gemeint ist: (Auszug aus der Delphi Hilfe) Mit der Methode CustomSort können Sie die Listenelemente unter Verwendung der angegebenen Sortierfunktion sortieren. type TLVCompare = function(lParam1, lParam2, lParamSort: Integer): Integer stdcall; function CustomSort(SortProc: TLVCompare; lParam: Longint): Boolean; Beschreibung Mit der Methode CustomSort können Sie die Elemente der Liste mit der im Parameter SortProc festgelegten Funktion sortieren. Diese Sortierfunktion vergleicht die Listenelemente, die als lParam1 und lParam2 übergeben werden. Die Sortierfunktion gibt einen Integerwert zurück, der angibt, ob lParam1 und lParam2 gleichrangig sind (Rückgabewert 0), ob lParam1 größer als lParam2 ist (Rückgabewert größer als 0) oder ob lParam1 kleiner als lParam2 ist (Rückgabewert kleiner als 0). Der Parameter lParam von CustomSort ist ein optionaler Wert, der als dritter Parameter an die Sortierfunktion übergeben wird. Hat der Parameter SortProc den Wert nil, generiert CustomSort das Ereignis OnCompare, um die Listenelemente zu vergleichen. Dadurch können Sie mit einer entsprechenden Ereignisbehandlungsroutine eine andere Sortierreihenfolge basierend auf dem Wert des Parameters lParam festlegen (z.B. aufsteigende oder absteigende Reihenfolge). Wird keine Sortierfunktion oder keine Ereignisbehandlungsroutine für OnCompare bereitgestellt, sortiert CustomSort die Elemente alphabetisch nach den Werten der Eigenschaft Caption. Konnte die Liste erfolgreich sortiert werden, gibt CustomSort True zurück. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.