Hallo Leute,
ich habe ein kleines Problem: Ich möchte eine Aufgabenverwaltung für mehrere Benutzer schreiben. Diese Aufgaben sollen auch auf einer Übersicht Sortiert nach benutzer und Priorität sortiert werden.
Ich habe mir für die Listview eine Sortierroutine geschrieben die aber nicht so arbeitet wie ich das gerne hätte und ich weis ncith wieso
Die Routine:
Delphi-Quellcode:
function AuswertungSortProc(Item1, Item2: TListItem; Data: Integer): Integer; stdcall;
var prio1,prio2:integer;
begin
if Item1.Caption <> Item2.Caption then
Result:=CompareText(Item1.Caption,Item2.Caption)
else
begin
prio1:=strtoint(item1.SubItems[0]);
prio2:=strtoint(item2.SubItems[0]);
result:=prio2-prio1;
end;
if data = 1 then Result := -Result;
end;
Der Aufruf:
Delphi-Quellcode:
ListView1.CustomSort(@AuswertungSortProc, 0);
aufg := Listview1.Items.Add;
aufg.Caption:=user;
aufg.SubItems.Add(prio);
aufg.SubItems.Add(text);
Das Ergebnis sieht dann so aus:
Benutzer | Prio | Text
user1 | 1200 | aufgabe abce...
user1 | 200 | aufgabe 123
user1 | 100 | aufgabe 345
user2 | 120 | aufgebe 876
user1 | 200 | aufgabe cde
sollte aber so aussehen:
Benutzer | Prio | Text
user1 | 1200 | aufgabe abce...
user1 | 200 | aufgabe 123
user1 | 200 | aufgabe cde
user1 | 100 | aufgabe 345
user2 | 120 | aufgebe 876
Kann mir jemand sagen was ich falsch mache??
Ich weis, dass es schon viele Beiträge zum sortieren gibt, aber irgendiwe finde ich da keine Lösung auf mein Problem
dank schon mal im vorraus
-Kaiser