Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Listbox nach Datum sortieren

  Alt 30. Mai 2009, 12:19
Also, so sehen die Daten aus, die du bekommst:
Code:
31.01.1920 Blabalbla
16.05.1928 Tusnelda Geburtstag
Lass das Gefrickel mit den Tagen:
Delphi-Quellcode:
function ExtractDateFromString(s: String): TDateTime;
var
  DateStr: String;
  FormatSetting: TFormatSettings;
begin
  FormatSetting.DateSeparator := '.';
  FormatSetting.ShortDateFormat := 'dd.MM.yyyy';
  DateStr := Copy(s, 1, 10);
  Result := StrToDateTime(DateStr, FormatSetting);
end;

procedure BubbleSort(sl: TStrings);
var
  i, j: Integer;
  TempStr: String;
begin
  for i := sl.Count - 1 downto 1 do
  begin
    for j := 1 to i do
    begin
      if ExtractDateFromString(sl[j-1]) > ExtractDateFromString(sl[j]) then
      begin
        TempStr := sl[j];
        sl[j] := sl[j-1];
        sl[j-1] := TempStr;
      end;
    end;
  end;
end;


procedure TForm2.Button1Click(Sender: TObject);
begin
  BubbleSort(Listbox1.Items);
end;

procedure TForm2.FormCreate(Sender: TObject);
begin
  Listbox1.Items.Add('31.01.1920 Blabalbla');
  Listbox1.Items.Add('16.05.1928 Tusnelda Geburtstag');
  Listbox1.Items.Add('31.08.1974 Michael');
  Listbox1.Items.Add('29.06.1949 Helmut');
  Listbox1.Items.Add('28.09.1948 Gitta');
  Listbox1.Items.Add('20.06.1972 Micky');
  Listbox1.Items.Add('29.06.1810 Bismarck');
  Listbox1.Items.Add('10.05.1905 Heinz');
end;
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat