Einzelnen Beitrag anzeigen

dAb

Registriert seit: 24. Okt 2007
Ort: Breuberg
3 Beiträge
 
#4

Re: Listbox sortierverfahren für text + Zahl

  Alt 24. Okt 2007, 17:47
Hallo,


Ich habe auch so ein Problem. Mein Programm erstellt beliebig viele ListBox-Einträge. Es geht um eine Punktetabelle, die dann natürlich bei listbox.sorted:=true falsch rum sortiert wird.

Wie kann ich das ganze jetzt umkehren? Ist das möglich?

Idee Nummer 1: Die Einträge nach dem Sortieren vertauschen

Den ersten und letzten Eintrag kann ich ja ohne Probleme austauschen lassen. Aber wenn es mehrere Einträge sind, kann man das dann auch irgendwie machen?


Code:
listbox1.Sorted:=true;
if listbox1.count > 1 
then begin
listbox1.Items.Exchange(listbox1.Count-1,listbox1.Count-listbox1.count);
end;

Idee Nummer 2: Selbst sortieren

Oder das ganze vllt mit einer extra Prozedur regeln? Habe hier mal zwei, allerdings kommt da dann beim "then begin" bzw. "do begin" ein Fehler.

Code:
procedure sortieren;
var i,j,k,m:byte;
    puffer:pointer;
    listbox1:TList;
begin
 for j:=1 to (m-1) do begin
  for i:=j+1 to m do
  if listbox1.Items[j]>listbox1.Items[i] then begin

  puffer:=listbox1.Items[j];
  listbox1.Items[j]:=listbox1.Items[i];
  listbox1.Items[i]:=puffer;
  end;
  end;

 end;

Code:
procedure sortieren;
var
temp, i:byte;
listbox1: TList;
begin
for i:=0 to (listbox1.Count / 2) do begin
temp := listbox1.Items[i];
listbox1.Items[i] := listbox1.Items[listbox1.Count - 1 - i];
listbox1.Items[listbox1.Count - 1 - i] := temp;
end;
end;

Wäre überaus nett, wenn mir jemand helfen kann.
  Mit Zitat antworten Zitat