nur bestimmte types per for-each durchlaufenlassen?

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

5k41

Betreff: nur bestimmte types per for-each durchlaufenlassen?

BeitragMo, Apr 17, 2006 11:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo!
Sry wegen dem Titel, aber was besseres ist mir leider nicht eingefallen... ich habe hier mal einen code geschrieben um mein problem zu verdeutlichen (ja ich weiss er funktioniert nicht, und genau das ist das Problem! gibt es eine möglichkeit sowas zu machen? )
Code: [AUSKLAPPEN]

Type main
 Field unter.unter
 Field pointer.unter
End Type

Type unter
 Field strg$
End Type

main.main=New main
main\unter.unter=New unter
main\unter\strg="hallo"
main\unter.unter=New unter
main\unter\strg="was geht?"

main2.main=New main
main2\unter.unter=New unter
main2\unter\strg="mist!"
main2\unter.unter=New unter
main2\unter\strg="wieso"

For main\pointer.unter=Each main\unter
 Print main\pointer\strg
Next


MfG
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image
 

Dreamora

BeitragMo, Apr 17, 2006 11:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Das geht nicht. Du kannst nur alle eines Types durchlaufen.
Dann musst du einfach schauen ob der aktuelle mit einem bestimmten identisch ist.

Wenn du vorher weisst, wieviele Unterobjekte du anhängen willst, sind jedoch BlitzArrays die bedeutend bessere und effizientere Lösung (blitz arrays sind die mit [] anstatt () )
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

5k41

BeitragMo, Apr 17, 2006 11:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Blitzarray kenne ich, aber das Problem ist, das ich nicht weiss wieviele Objekte dran kommen... was meinst du mit dem Überprüfen?
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image
 

HW

BeitragMo, Apr 17, 2006 12:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du den main Types noch eine ID als Field geben würdest und dann jeweils 1 und 2 an die mains als ID geben würdest, könntest du in der For Each main Schleife mithilfe von Select prüfen, welche ID der Type hat und demnach unterschiedliche Befehle geben.

Code: [AUSKLAPPEN]
For main\pointer.unter=Each main\unter
 Print main\pointer\strg
Next

Das geht so auch nicht. Hierfür musst du die main Types durchgehen und dann erst main/pointer abfragen. Das würde dann also so aussehen:
Code: [AUSKLAPPEN]
For m.main=Each main
Print m\pointer\strg$
Next

5k41

BeitragMo, Apr 17, 2006 12:14
Antworten mit Zitat
Benutzer-Profile anzeigen
mh... na dann werd ich das erstmal so machen... wobei es ja um einiges mehr zeit kostet, als einfach die Objekte die wirklich nur dazu gehören durch zu laufen... ich denk nochmal n bissl drüber nach...
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image
 

BIG BUG

BeitragDi, Apr 18, 2006 20:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Es ist mit den Before/After-Befehlen durchaus auch möglich nur Teile eines Types zu durchlaufen. Ist kaum langsamer als for/each. Die Objekte im Type müssen dann natürlich sauber organisiert sein.
siehe: https://www.blitzforum.de/foru...hp?t=14903
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final)

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group