Types zu doof zum ansprechen ?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Dottakopf

Betreff: Types zu doof zum ansprechen ?

BeitragMo, Okt 28, 2013 21:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Guten Tag,

muste gerade feststellen wie erschrecken verschommen mein wissen um Types geworden ist.

wir erstellen ein Arry:
Code: [AUSKLAPPEN]

Dim P.Player(MaxServerPlayer)



Einen Typ:

Code: [AUSKLAPPEN]

type Player
   field x
   field....


irgendwo im Code wird einer erstellt:

Code: [AUSKLAPPEN]


P(index) = New Player
 



nun möchte ich alle Instanzen durchgehen:
Code: [AUSKLAPPEN]

for P.Player = Each Player



führt zu einem Fehler da ja kein Index angeben wird.
Fehler Type may not used like this.

ähm ich bin gerade total raus bei der Syntax.
Bitte helft mir kurz und für dummies auf die Sprünge Embarassed
Rechtschreibfehler gelten der allgemeinen Belustigung!

Xeres

Moderator

BeitragMo, Okt 28, 2013 22:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Syntax ist richtig, der Fehler liegt wohl in der For...Each Schleife Wink
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

ZEVS

BeitragMo, Okt 28, 2013 22:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Dim P.Player(MaxServerPlayer)

Zitat:
for P.Player = Each Player


Du kannst nicht gleichzeitig Variable und Dim des selben Namens haben, würde ich vermuten.

ZEVS

Dottakopf

BeitragMo, Okt 28, 2013 22:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Beides mal nein.

der Witz ist ich habe die ganze Lama Lib bereit eingebaut und funtz alles toll.
Nun will ich ganz simpel die Namen anzeigen lassen und gehe alle einträge durch.

Erster Ansatz war ja :

Code: [AUSKLAPPEN]

for i = 1 to ll3_serverPlayers
  text ....  "ID " + P(I)\player_ID
next


hier habe ich nur das Problem das die schleife genau dann abgearbeitet wird wenn das objekt noch nicht erstellt wurde...(nervvvv)


Die genaue Fehlermeldung bei

Code: [AUSKLAPPEN]

for P.Player = each Player



Identifier "p" may not used like this


(die einfachste lösung wäre einfach vorher zu prüfen ob dieser Typ Instanz bereits erstellt wurde.. nur sogar dafür bin ich gerade zu doof) Embarassed
Rechtschreibfehler gelten der allgemeinen Belustigung!

Holzchopf

Meisterpacker

BeitragMo, Okt 28, 2013 22:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Dottakopf hat Folgendes geschrieben:
Beides mal nein.


Ähh... Doch. Also ich gebe ZEVS recht. Die Laufvariable in der For-Schleife muss anders heissen, denn p ist bei dir schon durch das Dim reserviert.

MfG
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

Xeres

Moderator

BeitragMo, Okt 28, 2013 22:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ist genau die Fehlermeldung die kommt, wenn P bereits als Dim definiert wurde (wie ZEVS so richtig erkannte).

Alternativ:
BlitzBasic: [AUSKLAPPEN]
For i = 1 To ll3_serverPlayers
If P(I) <> Null Then
Text .... "ID " + P(I)\player_ID
EndIf
Next
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Dottakopf

BeitragMo, Okt 28, 2013 22:23
Antworten mit Zitat
Benutzer-Profile anzeigen
hmm da muss ich mit Chrise nochmal sprechen da er genau solche "verbrechen" in seinen beispielen verwendet Confused

ach..die null abfrage hatte ich bereits. schlug aber auch mit einem MAV Fehl.
Lag simpel daran das ich vergessen habe den 2ten client zu complieren und ihn mit fehlerhaften alt-code ausgeführt habe.

Jetzt klappts... sorry, und danke für die schnelle hilfe Smile
Rechtschreibfehler gelten der allgemeinen Belustigung!

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group