Seite 1 von 1
Größenbegrenzung für statische Arrays?
Verfasst: 03.05.2007 22:06
von Kekskiller
Gibt es sowas wie eine Größenbegrenzung für statische Arrays? Wenn ich mehr als 128 verschiedene Einträge ansprechen will, gibt PB mir einen Array-Index out of Boundex...
Code: Alles auswählen
Structure x
a.c[256]
EndStructure
Global b.x, c.c
For c = 0 To 255
Debug "index: " + Str(c) + " / wert: " + Str(b\a[c])
Next
Habe meinen Code nach diesem Fehler umgestellt, dennoch find ich das etwas
strange.[/code]
Verfasst: 03.05.2007 22:38
von HeX0R
Das Problem ist wohl eher, dass du c als CHARACTER deklarierst.
Nimm ein Long und alles wird gut

Verfasst: 04.05.2007 11:39
von Kekskiller
Klappt auch nicht

. Geht mit gar keinem Datentyp.
Verfasst: 04.05.2007 13:24
von STARGÅTE
Also bei mir gehts es mit LONGs
Allerdingt erhalte ich auch eine Fehlermedlung, aber nur wnmen mein Array so an die 10'000 Felder hat.
Vllt mag aber 4.0 auch nicht das die ArrayFelder nicht gefüllt sind und du sie trotzdem abfragst, vllt geht ja das:
Außerdem kannst du auch die Arraygröße auf 255 setzten (vllt auch ein fehler) denn 256 gibt es ja bei .c nicht
Code: Alles auswählen
Structure x
a.c[255]
EndStructure
Global b.x, c.c
For c = 0 To 255
b\a[c] = 0
Debug "index: " + Str(c) + " / wert: " + Str(b\a[c])
Next
Verfasst: 06.05.2007 15:41
von mk-soft
Code: Alles auswählen
Structure x
;a.c[255] <- Fehler / Index = 0 .. 254
a.c[256]
EndStructure
; Global b.x, c.c <- Fehler Type Char für Schleife / Bei PB -128 .. + 127 / Bei Schleifen um fehler zu vermeiden immer Long nehmen
Global b.x, c.l
For c = 0 To 255
b\a[c] = 0
Debug "index: " + Str(c) + " / wert: " + Str(b\a[c])
Next
FF

Verfasst: 06.05.2007 15:50
von ts-soft
Kekskiller hat geschrieben:Klappt auch nicht

. Geht mit gar keinem Datentyp.
Michael hats ja bereits gepostet, aber hier nochmal zur Verdeutlichung:
Der Schleifenzähler einer For : Next Schleife ist immer ein Long, bzw. sollte es sein, alles andere ergibt keinen sinn.
c.c
For c ist grütze
Nachtrag:
>> c.c <- Fehler Type Char für Schleife / Bei PB -128 .. + 127
Character ist unsigned (0 - 255, bzw. 0 - 65535)