Seite 1 von 2

Verschachtelte Structure

Verfasst: 16.06.2006 18:20
von Mr.Hahn
Hi,
ich würde gern in meiner Structure ein Array haben. Wie man das macht steht zwar in der Hilfe:

Code: Alles auswählen

Structure Entity1
Warteschlange.s[10]
EndStructure
Allerdings steht nicht in der Hilfe, wie man dann auf dieses Array zugreift.
Structure(1)\Warteschlange(1) funktioniert nicht.. :cry:

Wie greife ich darauf zu?

PS.: Nur version 3.3 <)

Verfasst: 16.06.2006 18:47
von Jilocasin
so...

Code: Alles auswählen

Structure Entity1
  Warteschlange.s[10]
EndStructure

Variable.Entity1

Variable\Warteschlange[0]
etc...

Verfasst: 16.06.2006 19:22
von Mr.Hahn
Dumme Frage, aber kann ich dann in die [] - Klammer auch variablen reinsetzen?

Also z.B. so:

Code: Alles auswählen

For i = 1 to 10
  Variable\Warteschlange[i] = 1
Next
Geht das?

Verfasst: 16.06.2006 19:24
von remi_meier
Probiers aus :shock:

Verfasst: 16.06.2006 19:25
von Mr.Hahn
Er hängt sich auf :freak: (Deshalb frage ich eigentlich, ok Frage war dumm formuliert, hätte heissen müssen "Wie kann ich statt nem absoluten wert ne variable einsetzen?")

Verfasst: 16.06.2006 19:35
von ts-soft
Mr.Hahn hat geschrieben:Dumme Frage, aber kann ich dann in die [] - Klammer auch variablen reinsetzen?

Also z.B. so:

Code: Alles auswählen

For i = 1 to 10
  Variable\Warteschlange[i] = 1
Next
Geht das?
Die 1 ist eine Zahl, das passt wohl nicht so ganz zur Structurdefinition :wink:

Verfasst: 16.06.2006 19:36
von remi_meier

Code: Alles auswählen

Structure Entity1 
  Warteschlange.s[10] 
EndStructure

Variable.Entity1
For i = 0 To 9  ;!
  Variable\Warteschlange[i] = "test"
Next
Etwa so? Den Code zu posten, der nicht funktioniert, hilft ungemein :!:

Verfasst: 16.06.2006 19:38
von ts-soft
remi_meier hat geschrieben: Etwa so? Den Code zu posten, der nicht funktioniert, hilft ungemein :!:
Hab den lediglich zitiert, dies ist das Allgemein Forum, so das meine Aussage begreifbar sein sollte.

Verfasst: 16.06.2006 19:38
von Mr.Hahn
................ :? ich wusste das das kommt <) Das hab ich hier nur eben schnell hingeschrieben,mein code sieht anders aus :lol:

Ist es den generell so richtig? denn hierbei hängt er sich auf mit "Purbasic54134.exe hat ein Problem festgestellt und muss beendet werden"

Code: Alles auswählen


Gebaeude(1)\ProdReihe[1] = "NA"

Und dann

Code: Alles auswählen

For b = 1 to 10
If SpriteCollision(1,MouseX(),MouseY(),Einheiten(b)\MiniPicture,HUDplatz(b)\PosX,HUDplatz(b)\PosY) And MouseButton(1) = 1 And WarteMaus = 0
          For c = 1 To 10
            If Gebaeude(i)\ProdReihe[c] = "NA" And IsDone = 0
              Gebaeude(i)\ProdReihe[c] = Einheiten(b)\Typ
              IsDone = 1
            EndIf
          Next
          IsDone = 0
        EndIf
Next

Verfasst: 16.06.2006 19:45
von #NULL
PB hilfe - strukuren hat geschrieben:Bitte beachten Sie, dass sich in Strukturen ein statisches Array[] nicht so verhält wie das normale BASIC Array (definiert mittels Dim), um konform zum C/C++ Strukturen Format zu bleiben (was direkte API Strukturen Portierung ermöglicht). Dies bedeutet, dass a[2] ein Array von 0 bis 1 definiert, wogegen Dim a(2) ein Array von 0 bis 2 anlegt.