Fehler bei SortArray() - PB 4.30

Anfängerfragen zum Programmieren mit PureBasic.
HajoL
Beiträge: 1
Registriert: 30.05.2009 23:29

Fehler bei SortArray() - PB 4.30

Beitrag von HajoL »

Mit PB habe ich ein Problem mit SortArray.

Wenn ich mehrdimensionale Arrays sortiere, werden die Spalten vertauscht!

Beispiel: in Spalte 0 steht ein Texttring, in Spalte 1 steht ein numerischer Wert. Nach SortArray hat sich das gewechselt :-(

Vermutlich geht SortArray nicht bei mehr-dimensionalen Arrays (steht aber leider nicht in der deutschen Hilfe)

Könnt Ihr das bestätigen?

cu Hajo

NACHTRAG
Danke für Eure Antworten. Bin auch der Meinung, das ein StructArray funktionieren wird. Mich wundert bloss, das PB bei einem 2D Array einfach alles zusammen in einen Topf wirft und sortiert.

Code: Alles auswählen

ap = 100
cs = Asc("A")
Dim PARA.s (1, ap)

i.i = 0
For i.i = 1 To ap
  k.s = Chr(cs + Random(24)) + Chr(cs + Random(24)) + Chr(cs + Random(24)) + Chr(cs + Random(24)) + Chr(cs + Random(24)) + Chr(cs + Random(24)) + Chr(cs + Random(24)) + Chr(cs + Random(24)) + Chr(cs + Random(24)) + Chr(cs + Random(24))
  v.s = Str(Random(10000))  
  para.s(0,i) = k.s
  para.s(1,i) = v.s
Next i

Debug para.s(0,1)
Debug para.s(0,2)
Debug para.s(0,56)
SortArray( para.s() , #PB_Sort_Ascending)
Debug para.s(0,1)
Debug para.s(0,2)
Debug para.s(0,56)
Zuletzt geändert von HajoL am 31.05.2009 11:52, insgesamt 1-mal geändert.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

> Beispiel: in Spalte 0 steht ein Texttring, in Spalte 1 steht ein numerischer Wert
In beiden Spalten steht ein Textstring, da es ein Stringarray ist.
Zahlenstrings sind keine numerischen Werte und die Sortierung kommt bei
mir immer korrekt. Die höhe der Zahlen wird selbstverständlich ignoriert,
also 5 ist größer als 42, sind ja schließlich strings :wink:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

:shock: :mrgreen:

@HajoL

wenn du mehrspaltige Tabellen anlegen willst, dann musst du Structures erzeugen, um Datensätze zu speichern.
die werden dann auch so sortiert, wie du dir das vorstellst.

mehrdimensionale Arrays sind keine Datenbank-Tabellen!
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

@Kaeru Gaman
Wenn Du schon dabei bist, please move it :wink:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

yo hab erst übersehen, wo das steht...

*schawupps*
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten