Array Sortieren
Hi Leute...
Ich würde gerne ein Array nach z.B. einem Namen sortieren (Alphabetisch). Wie stelle ich das an ? Danke im Voraus. |
Re: Array Sortieren
|
Re: Array Sortieren
und wie verändere ich dann die Position in einem ListBox ?
Wenn ich das noch wüsste ;) Danke. |
Re: Array Sortieren
An deiner Stelle würde ich das array sortieren und dann in die ListBox einlesen. Das ist das Einfachste.
|
Re: Array Sortieren
Hmm ich Dummdödel ;)
Noch ne letzte Frage
Delphi-Quellcode:
Wenn ich das Array so auslese, dann entstehen lücken zwischen den Feldern in der ListBox... also ein Bsp.
with ListBox1 do
begin For i:=1 to high(SchuelerArr) do begin Items.Add(SchuelerArr[i].Name); end end;
Delphi-Quellcode:
und
SchuelerArr[2].Name:='Bla';
Delphi-Quellcode:
Dann enstehen eben zwischen 2 und dem Feld 200 198 Lücken ;) wie kann ich das beheben ? :gruebel:
SchulerArr[200].Name:='Blupp';
DANKE :love: |
Re: Array Sortieren
Ich verstehe nicht ganz, wie du das machst, also ich würde es, mit Zahlen, so lösen. Buchstaben ist ähnlich:
Delphi-Quellcode:
procedure TForm1.Swap(var i,j: integer);
var h: integer; begin h:=i; i:=j; j:=h; end; procedure TForm1.Sortiere; var i,j: integer; begin for i:=0 to ListBox1.Count-1 do for j:=i+1 to ListBox1.Count do begin if tab[j]<tab[i] then Swap(tab[i],tab[j]); end; end; procedure TForm1.ArrayFuellen; var i: integer; von, bis: integer; begin ListBox1.Clear; for i:=0 to 200 do begin tab[i]:=random(101); //Zufallszahlen von 0-100 ListBox1.Items.Add(IntToStr(tab[i])); end; end; procedure TForm1.SortClick(Sender: TObject); var i: integer; begin Sortiere; ListBox2.Clear; for i:=0 to ListBox1.Count-1 do ListBox2.Items.Add(IntToStr(tab[i])); end; |
Re: Array Sortieren
Die zweite Schleife (j := ...) sollte aber nur bis ListBox1.Count - 1 gehen, sonst gibt's nen schönen Fehler. Wobei ich mich beim Sortieren nur auf das Array (mit Hilfe von low und High) beziehen würde und anschließend die ListBox clearen und das Array neu einfügen würde.
|
Re: Array Sortieren
Zitat:
Delphi-Quellcode:
is aber nicht hilfreich, wenn man zum beispiel ein leerzeichen oder so eingibt, dann erscheint trotzdem ein leerer eintrag.
with ListBox1 do
begin For i:=1 to high(SchuelerArr) do begin if (SchuelerArr[i].Name<>'') then Items.Add(SchuelerArr[i].Name); end end; ciao haegar |
Re: Array Sortieren
Zitat:
|
Re: Array Sortieren
Zitat:
Danke. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz