Seite 1 von 1

Fehler bei SortArray() - PB 4.30

Verfasst: 30.05.2009 23:33
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)

Verfasst: 30.05.2009 23:45
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:

Verfasst: 31.05.2009 03:03
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!

Verfasst: 31.05.2009 03:32
von ts-soft
@Kaeru Gaman
Wenn Du schon dabei bist, please move it :wink:

Verfasst: 31.05.2009 03:40
von Kaeru Gaman
yo hab erst übersehen, wo das steht...

*schawupps*