Autor Beitrag
Coder
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1383
Erhaltene Danke: 1

WinXP
D2005 PE
BeitragVerfasst: Fr 08.10.04 20:43 
Hi
Ich hab meine ListBox einträge nummeriert.
Jetzt ist oben die kleinste zahl und unten die größte.
Wie kann ich die sortierung umkehren?
.Chef
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1112



BeitragVerfasst: Fr 08.10.04 21:03 
Sortieren von Hand. Stichwort Sortieralgorithmen ... :twisted:

_________________
Die Antworten auf die 5 häufigsten Fragen:
1. Copy(), Pos(), Length() --- 2. DoubleBuffered:=True; --- 3. Application.ProcessMessages bzw. TThread --- 4. ShellExecute() --- 5. Keine Vergleiche von Real-Typen mit "="!
sourcehunter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 482

Win XP | Suse 10.1
Delphi 2005 Pers.
BeitragVerfasst: Fr 08.10.04 21:04 
Wenn die Listbox sortiert hast, dann kannst du diese von unten auslesen und in eine andere wieder von oben einschreiben, dann hast du die Sortierung umgekehrt.

_________________
Linux und OpenSource rulez!
wulfskin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1349
Erhaltene Danke: 1

Win XP
D5 Pers (SSL), D2005 Pro, C, C#
BeitragVerfasst: Fr 08.10.04 23:26 
sourcehunter hat folgendes geschrieben:
Wenn die Listbox sortiert hast, dann kannst du diese von unten auslesen und in eine andere wieder von oben einschreiben, dann hast du die Sortierung umgekehrt.
Na dann viel Spass beim Programmieren. Komplizierter geht es ja kaum ;). :?

Wenn du sehr viele Items in deiner ListBox hast, dann kommst du wohl nicht drumrum die deine Sortprozedur selber zu schreiben (Suche bei Google QUICKSORT DELPHI). Wenn es auch etwas "langsamer" geht, dann kannst du folgendes benutzen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
procedure SortDesc(const ListBox: TListBox);
  function Compare(List: TStringList; Index1, Index2: Integer): Integer;
  begin
    Result := -CompareText(List.Strings[Index1], List.Strings[Index2]);
  end;
var
  SL: TStringList;
begin
  SL := TStringList.Create;
  with SL do begin
    try
      AddStrings(ListBox.Items);
      CustomSort(@Compare);
      ListBox.Items.BeginUpdate;
      ListBox.Clear;
      ListBox.Items.AddStrings(SL);
      ListBox.Items.EndUpdate;
    finally
      SL.Free;
    end;
  end;
end;
Gruß Hape!

_________________
Manche antworten um ihren Beitragszähler zu erhöhen, andere um zu Helfen.
Coder Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1383
Erhaltene Danke: 1

WinXP
D2005 PE
BeitragVerfasst: Fr 15.10.04 19:05 
thx, hat geklappt. :)