Moin Moin,
ich habe mir eine kleine Prozedur zusammengebastelt um eine Listview nach dem Datum
im Caption zu sortieren. Das funktioniert soweit auch gut, nur sieht der Code ziemlich
bescheiden (Nett ausgedrückt). Daher wollte ich mal Fragen wie man es besser machen
kann.
Delphi-Quellcode:
function FindLow (Da:TDate): boolean;
var
i : integer;
NewDa : Tdate;
begin
result := false;
NewDa := Da;
for I := 0 to frmMain.lv1.Items.Count -1 do
if (strtodate(frmMain.lv1.Items[i].Caption) < Da) then
NewDa := strtodate(frmMain.lv1.Items[i].Caption);
if Da = NewDa then result := true;
end;
Procedure SortbyDate;
var
i: integer;
aItem : TListItem;
begin
frmMain.listview1.Clear;
repeat
for i:= frmMain.lv1.Items.Count -1 downto 0 do
if FindLow(strtodate(frmMain.lv1.Items[i].Caption))=true then
begin
aItem := frmMain.Listview1.Items.Add;
aItem.Caption := frmMain.lv1.Items[i].Caption;
aItem.SubItems.Add(frmMain.lv1.Items[i].SubItems[0]);
frmMain.lv1.Items[i].Delete;
end;
until frmMain.lv1.Items.Count = 0;
end;
Wenn man die Prozedur SortByDate ausführt wird die die Listview durchlaufen
und das Ergebnis dann sortiert in einer zweiten Listview ausgegeben.
Danke für die Hilfe