Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Listbox sortieren (https://www.delphipraxis.net/123206-listbox-sortieren.html)

fluffy007 29. Okt 2008 13:37


Listbox sortieren
 
hallo!

bin delphi anfänger und soll ein programm schreiben mit dem man spielkarten sortieren kann.
dazu habe ich eine listbox erstellt in die die werte eingelesen werden.
jetzt will ich ein 2-dim array machen, bei dem an der ersten stelle die farbe (ass, herz, karo, pik) steht und an der zweiten stelle der wert (2 bis 10, bub, dame, könig, ass).
die sortierung will ich eben dann innerhalb der einzelnen spalten (jeweils dann ass, herz, karo, pik) durchführen indem ich mir mit einem record noch bub, dame, könig und ass auch als zahl definiere.

meim problem jetzt ist aber, dass ich nicht genau weiß, wie ich etwas aus der listbox auslesen kann und im array einordne.

kann mir vielleich jemand helfen? oder gibt es überhaupt eine einfacherer lösung für mein beispiel?

danke schon mal

DeddyH 29. Okt 2008 13:40

Re: Listbox sortieren
 
Hallo und Willkommen in der DP :dp:

der Ansatz mit dem Array ist in Ordnung, die Listbox hat damit aber nichts zu tun. Du musst das Array sortieren und lediglich das Ergebnis in der Listbox ausgeben, das wäre der in meinen Augen korrekte Weg.

taaktaak 29. Okt 2008 13:47

Re: Listbox sortieren
 
Auch von mir ein herzliches Willkommen!

Bin kein Kartenspieler, daher dazu folgende Frage:

Geben die 4 Farben nicht ebenfalls eine Wertung vor? Also z.B. ALLE Herz-Karten sind höherwertig als alle xxx-Karten. Wenn dem so wäre, dann bräuchtest du nur ein einfaches und kein 2-dimensionales Array. Was die Aufgabe dann doch wesentlich vereinfachen würde...

fluffy007 29. Okt 2008 13:49

Re: Listbox sortieren
 
ja die sind auch zu sortieren, aber wie mach ich das mit einem eindimensionalen? es sind ja keine zahlenwerte.

DeddyH 29. Okt 2008 13:53

Re: Listbox sortieren
 
Kurze Überlegung: die Wertigkeiten der Karten ohne Berücksichtigung der Farbe beträgt zwischen 2 und 14, das sind 2 Stellen. Also könnte man doch eine Hunderterstelle für die Farbe einführen (Karo = 100, Herz = 200 etc.). Demnach hätte der Kreuz-Bube die Nummer 411. Das lässt sich doch prima sortieren und jede Karte ist eindeutig identifizierbar.

fluffy007 29. Okt 2008 13:56

Re: Listbox sortieren
 
danke für den tipp.
dh ich müsst aber alle möglichen eingabewerte eine Zahl definiern in so einer form
pa:=111 für pik ass. stimmt das?

DeddyH 29. Okt 2008 14:00

Re: Listbox sortieren
 
Nach meinem Beispiel wäre das Pik As die 314.

taaktaak 29. Okt 2008 14:01

Re: Listbox sortieren
 
Nun, das könnte man so machen.
Wie so oft, gibt es verschiedene Wege das zu realisieren. Die Grundfrage ist m.E. in welcher Form die Daten eingegeben und als Ergebnis angezeigt werden sollen. Diese Anforderung bestimmt weitgehend die interne Realisierung.

fluffy007 29. Okt 2008 14:04

Re: Listbox sortieren
 
ja das war eigentlich nur als bsp dass nicht auf zahlenmäßige richtigkeit beruht gemeint.
aber eine frage noch, wenn ich jetzt die zahlen einlese, wie schaffe ich es dann sie gleich in ein array einzulesen?
weil ich müsste sie ja einlesen, jedem wert einen neuen zuordnen, ins array einlesen und dann sortiern.
eingegenben werden sie p10 (für pik 10), ka (für karo ass) usw. und ausgegeben werden sollen sie entweder genau in der gleichen form, oder ausgeschrieben.

taaktaak 29. Okt 2008 14:06

Re: Listbox sortieren
 
Ist das eine Hausaufgabe?
Dann gibt's doch für "ausgeschrieben" bestimmt 'ne bessere Note?!


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:54 Uhr.
Seite 1 von 2  1 2      

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