Zitat von
NetSonic:
Allerdings enthalten die zu sortieren Spalten ein Datum als String im Format TT.MM.JJJJ und dies möchte ich korrekt sortieren.
Ja, mit dieser CompareStringGridRows-Funktion:
Delphi-Quellcode:
var col,dir: integer;
function CompareStringGridRows(item1,item2: Pointer):integer;
var s1,s2: string;
n1,n2: integer;
begin
s1 :=@TStrings(item1).Strings[col];
s2 :=@TStrings(item2).Strings[col];
// Jahr
n1 :=strtoint(substr(s1, -4, 4));
n2 :=strtoint(substr(s2, -4, 4));
if n1 < n2 then
begin
result :=dir;
exit;
else if n1 > n2 then
begin
result :=dir*-1;
exit;
end;
//Monat:
n1 :=strtoint(substr(s1, 4, 2));
n2 :=strtoint(substr(s2, 4, 2));
if n1 < n2 then
begin
result :=dir;
exit;
else if n1 > n2 then
begin
result :=dir*-1;
exit;
end;
//Tag:
n1 :=strtoint(substr(s1, 0, 2));
n2 :=strtoint(substr(s2, 0, 2));
if n1 < n2 then
begin
result :=dir;
exit;
else if n1 > n2 then
begin
result :=dir*-1;
exit;
end;
result :=0;
end;
ungetestet und alles. Die Funkion substr gibt es in Delphi glaube ich nicht. D musst du glaube ich copy nehmen. Ich denke, du kannst dir denken, wie das gedacht ist...
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.
Have a lot of fun!