Verschachtelte Structure

Für allgemeine Fragen zur Programmierung mit PureBasic.
Mr.Hahn
Beiträge: 62
Registriert: 09.09.2005 18:24

Verschachtelte Structure

Beitrag 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 <)
Jilocasin
Beiträge: 665
Registriert: 13.05.2006 16:04
Kontaktdaten:

Beitrag von Jilocasin »

so...

Code: Alles auswählen

Structure Entity1
  Warteschlange.s[10]
EndStructure

Variable.Entity1

Variable\Warteschlange[0]
etc...
Bild
Mr.Hahn
Beiträge: 62
Registriert: 09.09.2005 18:24

Beitrag 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?
Benutzeravatar
remi_meier
Beiträge: 1078
Registriert: 29.08.2004 20:11
Wohnort: Schweiz

Beitrag von remi_meier »

Probiers aus :shock:
Mr.Hahn
Beiträge: 62
Registriert: 09.09.2005 18:24

Beitrag 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?")
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 »

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:
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
Benutzeravatar
remi_meier
Beiträge: 1078
Registriert: 29.08.2004 20:11
Wohnort: Schweiz

Beitrag 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 :!:
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 »

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.
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
Mr.Hahn
Beiträge: 62
Registriert: 09.09.2005 18:24

Beitrag 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
Benutzeravatar
#NULL
Beiträge: 2237
Registriert: 20.04.2006 09:50

Beitrag 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.
my pb stuff..
Bild..jedenfalls war das mal so.
Antworten