type field in variable speichern

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Kirro

Betreff: type field in variable speichern

BeitragMi, Feb 06, 2008 21:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Leute,

ich wollte fragen ob man eine variable die in einem type ist, in eine variable speichern kann.

also beispiel:

Code: [AUSKLAPPEN]
type ameise
field x
end type
;
;der code mit New ameise etc.....
:
for ameise.ameise = each ameise
if ameise\x=3 then
hungerx=ameise\x
endif
next


naja als ich das so gemacht habe kam der folgende fehler:
Code: [AUSKLAPPEN]
variable must be a type


dann hab ich eine type erstellt, womit ich nur ein new hunger erstelle
und mache folgendes:
Code: [AUSKLAPPEN]
for ameise.ameise = each ameise
if ameise\x=3 then
for hunger.hunger= each hunger
hunger\hungerx=ameise\x
next
endif
next

dann kam aber der gleiche fehler wie oben


Ich hoffe ich konnte das so darstellen, wollte nicht mein code zusammenflücken...wäre wahrscheinlich unübersichtlich geworden hier...

ich bedanke mich im voraus und hoffe ich konnte es erklären was ich will

gruß

kirro

Dottakopf

BeitragMi, Feb 06, 2008 22:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Natürlich kannst du einen type eintrag in einer "normalen" varriable abspeichern.
z.b. könntest du es in einen arry abspeichern

Code: [AUSKLAPPEN]


  for info.type = each type
       arry( nr )  = info\type_eintrag
       nr = nr +1
  next



und zum ausprobieren :
Code: [AUSKLAPPEN]

Graphics 800,600,16,2
SetBuffer BackBuffer()

SeedRnd MilliSecs()



Type ant
   Field ant_x
   Field ant_y
End Type




;mal 6 types erstellen
For x = 0 To 5

      info.ant = New ant
      info\ant_x = Rnd(0,10)
      info\ant_y = Rnd(0,10)
    

Next


;so jetzt wird immer ein type eintrag an eine "normale" varrialbe übergeben und gleich ausgegeben
For info.ant = Each ant

    wert = info\ant_x
    Print " aktueller type wert " + wert

Next




Der fehler muss wo anders liegen. Wo sagt den bb ist der fehler ?

mfg Dottakopf
Rechtschreibfehler gelten der allgemeinen Belustigung!
  • Zuletzt bearbeitet von Dottakopf am Mi, Feb 06, 2008 22:17, insgesamt 2-mal bearbeitet

Xeres

Moderator

BeitragMi, Feb 06, 2008 22:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Gibt 3 aus und funktioniert auch eindeutig:
Code: [AUSKLAPPEN]
Type Tameise
Field x
End Type
;
;der code mit New ameise etc.....

ameise.Tameise = New Tameise
ameise\x = 2

ameise.Tameise = New Tameise
ameise\x = 3

For ameise.Tameise = Each Tameise
If ameise\x=3 Then
hungerx=ameise\x
EndIf
Next

Print hungerx
WaitKey

Debugger anwerfen, in Welcher Zeile tritt der Fehler auf?
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)
 

Kirro

BeitragMi, Feb 06, 2008 22:38
Antworten mit Zitat
Benutzer-Profile anzeigen
ich kann den nicht kompilieren...

ich überprüfe nochmal alles, aber wenn du sagst das geht... dann wird es wohl funzen...

danke schon

Xeres

Moderator

BeitragMi, Feb 06, 2008 22:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielleicht solltest du dein Blitzbasic auf www.blitzbasic.com updaten...
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)
 

Kirro

BeitragMi, Feb 06, 2008 23:56
Antworten mit Zitat
Benutzer-Profile anzeigen
ok ich habe den dummenfehler gesehen...war ein tippfehler...

danke dir für deine hilfe

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group