AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Listbox nach Datum sortieren

Ein Thema von Codix32 · begonnen am 29. Mai 2009 · letzter Beitrag vom 4. Jul 2009
Antwort Antwort
Codix32

Registriert seit: 23. Apr 2009
137 Beiträge
 
Delphi 2005 Personal
 
#1

Re: Listbox nach Datum sortieren

  Alt 28. Jun 2009, 13:11
Uff, soviel Hilfe und Unterstützung...Danke Euch

Ich habe grad Zeit und versuche mal die Listbox mit einer im Forum gefundenen QuickSort Routine zu
sortieren. Die gefundene Routine sortiert aber ein Integer - Array. Mein Versuch eine Stringlist zu sortieren endet erstmal hier:

"...EStringlisterror-Exception...Listenindex überschreitet das Maximum(400)". Liegts am '-1' Item der Listbox?

Also, 400 mit Random erstellte Datums sollen mit Quicksort sortiert werden:

Hier mal meine Quicksort für TStrings:
Delphi-Quellcode:
procedure TForm1.QuickSort(sl:TStrings;LoIndex,HiIndex:Integer);

  procedure QSort(LoIndex, HiIndex: Integer);
  var
    Lo, Hi: Integer;
    Pivot: string;//Integer;
    Swap: string;//Integer;
  begin
    // Wähle stets das mittlere Element als Pivotelement.
    Pivot := sl[(LoIndex + HiIndex) div 2];

    // Stelle die Ordnung bzgl. des Pivotelements her.
    Lo := LoIndex;
    Hi := HiIndex;
    repeat
      while sl[Lo] < Pivot do sl[Lo+1];
      while sl[Hi] > Pivot do sl[Hi-1];
      if sl[Lo] <= sl[Hi] then
      begin
        Swap := sl[Lo];
        sl[Lo] := sl[Hi];
        sl[Hi] := Swap;
        sl[Lo + 1];
        sl[Hi - 1];
      end;
    until sl[Lo] > sl[Hi];

    // Gegebenenfalls linke Teilliste sortieren.
    if LoIndex < Hi then QSort(LoIndex, Hi);

    // Gegebenenfalls rechte Teilliste sortieren.
    if Lo < HiIndex then QSort(Lo, HiIndex);
  end;

begin
  QSort(0, sl.count);
end;



AUFRUF:

procedure TForm1.Button3Click(Sender: TObject);
begin
QuickSort(Listbox3.items,0,Listbox3.count-1);
end;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz