Problem mit Types

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

blitzmaster

Betreff: Problem mit Types

BeitragMo, Apr 25, 2005 20:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich hab hier ein Problem mit Types:
Ich habe eine Anzahl von Objekten, jedes in dem Type opbject. Der hat verwschiedene Felder, wie auch Id:
BlitzBasic: [AUSKLAPPEN]
Type Object
Filed id
Field bla
Field blabla
End Type

Das Problem ist jetzt: Es gibt eine Funktion die heißt GoObject:
BlitzBasic: [AUSKLAPPEN]
Function GoObject(id)
End Function

Als Parameter wird der Funktion die Id des Objektes übergeben. Mein Ziel ist es nun, dass ich dieses Objekt ansteuere. Das heißt, am Schluss soll dieses Objekt mit dieser Id ausgewählt sein. Wie mache ich das, ich habs zwar versucht, aber nicht geschafft.
***************
Blitzmaster

Suco-X

Betreff: ....

BeitragMo, Apr 25, 2005 20:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi
http://www.blitzbase.de/tutorials/shadow_1.htm
Da steht alles was du für Types brauchst und brauchen wirst.
Mfg Suco
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB
 

Michi

BeitragMo, Apr 25, 2005 21:01
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic: [AUSKLAPPEN]

Type Object
Filed id
Field bla
Field blabla
End Type

Global pseudo.Object=New Object ;ein globales zum aufrufen
pseudo\id=0 ;oder irgendwas anderes, was du sonst definitiv nicht brauchst

For i=1 To 10
Local O.Object=New Object
O\id=i
O\bla=(100+(i*123))^2 ;irgendeine Zahl
Next

GoObject(5)

Print pseudo\bla
WaitKey()
End

Function GoObject (id)

For pseudo=Each Object
If pseudo\id=id Then Exit
Next



So müsste es klappen. (da müsste 511225 stehen)
Ich weiß aber nicht, ob es noch eine elegantere Lösung ohne Pseudo.Object gibt.
Aber..Wozu soll er gut sein???
IBM-Ingeneur über die Idee des Mikroprozessors, 1968
Code: [AUSKLAPPEN]

   __
<_/__\_> <--- die Wayne-Zeichnung

Alfadur

BeitragMo, Apr 25, 2005 21:28
Antworten mit Zitat
Benutzer-Profile anzeigen
hi ... klar gehts ...

BlitzBasic: [AUSKLAPPEN]

Function goobjekt.Tobjekt(objektid)
For Vobjekt.Tobjekt=Each Tobjekt
If Vobjekt\id=objektid Then Return Vobjekt
Next
Return Null
End Function



wichtig ist das die funktion vom rückgabetyp des types ist ... kannst dir auch nochmal die undokumentierten befehle handle und object anschauen...

die funktion von michi funzt so nicht, da ist kein end function und viel ärgerlicher : sie bewirkt auch garnix, da sie nix zurückgibt....
A Cray is the only computer that runs an endless loop in less than four hours.

Jolinah

BeitragMo, Apr 25, 2005 21:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Funktion von Michi muss auch nichts zurückgeben weil pseudo Global ist.

Aber deine Variante find ich auch die bessere Wink

blitzmaster

BeitragDi, Apr 26, 2005 17:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke Very Happy
***************
Blitzmaster

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group