Seite 1 von 1
SortStructuredArray
Verfasst: 14.07.2012 10:14
von gnaps
Hallo Forum,
ich versuche mich gerde an SortStructuredArray, kann mir einer die Option [, Start, Ende]) erläutern.
oder kann ich z.b.
Code: Alles auswählen
Structure S_Bild
Zeit.s
Bild.s
EndStructure
Global Dim Images.S_Bild(3,6,9)
Ich bekomme in Images.S_Bild 280 Einträge.
Kann ich jetzt damit die Einträge von 0-9, 10-19, 20-29 usw. sortieren lassen?
gruß
gnaps
Re: SortStructuredArray
Verfasst: 14.07.2012 10:45
von STARGÅTE
Leider weiß ich nicht, ob man überhaupt mehrdimensionale Array sortieren lassen kann.
Aber ich vermute, dass SortStructuredArray() einfach das im Speicher liegende 1D-Array sortiert.
Von daher sollte dieses Beispiel funktionieren.
Code: Alles auswählen
#RandomString_Letter = "abcdefghijklmnopqrstuvwxyz"
Structure CharacterArray
c.c[0]
EndStructure
Procedure.s RandomString(Length.i, CharacterSet.s=#RandomString_Letter)
Protected Index.i, Len.i = Len(CharacterSet)-1
Protected *CharacterSet.CharacterArray = @CharacterSet
Protected String.s = Space(Length)
Protected *String.CharacterArray = @String
While Index < Length
*String\c[Index] = *CharacterSet\c[Random(Len)]
Index + 1
Wend
ProcedureReturn String
EndProcedure
Structure S_Bild
Zeit.s
Bild.s
EndStructure
Global Dim Images.S_Bild(3,6,9)
For x = 0 To 3
For y = 0 To 6
For z = 0 To 9
Images(x,y,z)\Bild = RandomString(8,"abcdefghijklmnopqrstuvwxyz")
Next
Next
Next
For y = 0 To 2
For z = 0 To 9
Debug "(0,"+Str(y)+","+Str(z)+") = "+Images(0,y,z)\ Bild
Next
Next
For y = 0 To 2
SortStructuredArray(Images(), #PB_Sort_Ascending, OffsetOf(S_Bild\Bild), #PB_Sort_String, y*10, y*10+9)
Next
Debug "---"
For y = 0 To 2
For z = 0 To 9
Debug "(0,"+Str(y)+","+Str(z)+") = "+Images(0,y,z)\ Bild
Next
Next
Das Sortiert immer genau die 10 Bilder aus der letzten Dimension.
Re: SortStructuredArray
Verfasst: 14.07.2012 12:16
von gnaps
Hallo STARGÅTE
geht, hat bei mir geklappt.
Structure S_Bild
Zeit.s
Bild.s
EndStructure
wie Du hier siehst habe ich auch zeit.s, nach diesem habe ich das ganze sortieren lassen,
jetzt kommt das nächste Problem. Wenn einige String = "" sind werden diese Einträge in
der Sortierung an die ersten Stellen sortiert. Gibts da eine Möglichkeit die leeren Strings
ans Ende sortieren zu lassen ?
Gruß
gnaps