sortstructuredarray ?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Ironsmurf
Beiträge: 111
Registriert: 04.01.2006 12:57
Computerausstattung: AMD FX(tm)-6300 Six-Core Processor
3.50 GHz / 8 GB Ram
Windows 7 / 64bit / Ultimate
Purebasic 5.20 LTS (Windows - x86)
Wohnort: Deutschland

sortstructuredarray ?

Beitrag von Ironsmurf »

Hallo zusammen

ich möchte ein 2 dimensionales Array entwickeln.

Code: Alles auswählen

Structure Momu
        Code.l
        Name$
  EndStructure
  
  Dim CDDVD.Momu(3)
  
  CDDVD(0)\Code   = 1000
  CDDVD(0)\Name$ = "50er - The Best Of 50er - CD 1"
  
  CDDVD(1)\Code   = 1001
  CDDVD(1)\Name$ = "50er - The Best Of 50er - CD 2"
  
  CDDVD(2)\Code   = 1002
  CDDVD(2)\Name$ = "Rainhard Fendrich - Blond"
  
  CDDVD(3)\Code   = 1003
  CDDVD(3)\Name$ = "Rod Stewart - The Best Of"

  ; Sortiert das Array nach dem Feld 'Name$', welches ein String ist
  
  SortStructuredArray(CDDVD(), 0, OffsetOf(Momu\Name$), #PB_Sort_String)
  OpenConsole()
  For index = 0 To 3
    Debug CDDVD(index)\Name$+"  *  "+Str(CDDVD(index)\Code)
  Next

FRAGE: es wird schon richtig sortiert, nach Name eben, aber die Ausgabe soll so aussehen

1003  *  Rod Stewart - The Best Of

wird für ein Konsolenprogramm gebraucht, kriege es aber irgenwie nicht hin, kann auch sein das ich den Wald vor lauter Bäumen nicht sehe !

vielen Dank im voraus
Es kommt immer auf die Sichtweise des Betrachters an.
Benutzeravatar
#NULL
Beiträge: 2238
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

wenn du die ausgabe einfach nur andersherum willst, ...dann mach sie doch einfach andersherum :freak:

Code: Alles auswählen

  For index = 0 To 3
    Debug Str(CDDVD(index)\Code)+"  *  "+CDDVD(index)\Name$
  Next
Zuletzt geändert von #NULL am 21.06.2006 11:14, insgesamt 1-mal geändert.
my pb stuff..
Bild..jedenfalls war das mal so.
Benutzeravatar
Mr.X
Beiträge: 66
Registriert: 10.08.2005 22:46
Wohnort: im schönen OWL

Beitrag von Mr.X »

... und wenn Du

Code: Alles auswählen

PrintN( Str(CDDVD(index)\code)+"  *  "+CDDVD(index)\Name$)
statt Debug verwendest, erfolgt die Ausgabe im Consolenfenster

... und wenn Du nicht so schnell lesen kannst, weil das Consolenfenster am Programmende wieder geschlossen wird, dann setz einfach ein

Code: Alles auswählen

Input()
hintendran :wink:
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

und noch ein hinweis:

das ist kein zweidimensionales Array, sondern ein eindimensionales mit einer 2-felder-struktur.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten