[Gelöst] Type in einem Type registrieren
Übersicht

![]() |
uiwheeBetreff: [Gelöst] Type in einem Type registrieren |
![]() Antworten mit Zitat ![]() |
---|---|---|
Guten Morgen,
nach langem stillschweigendem Mitlesens hier im Forum endlich mein erster Post. Wohee! Nun zu meinem Problem : Ich suche nach einer Möglichkeit ein Type-Eintrag in einem anderen Type zu registrieren, damit ich später mit einer Schleife auf verschiedene Types zugreifen kann. Damit das ganze nicht nur unverständlicher Kauderwelsch bleibt, hier das ganze nochmal als Wunschcode ausgedrückt. Code: [AUSKLAPPEN] type katze field a$ field geblubber_was_katzen_spezifisch_ist end type type huhn field a$ field noch_mehr_geblubber_was_huhn_spezifisch_ist end type type tiere field register end type k.katze = new katze k\a$ = "Katze" t.tiere = new tiere t\register = k.katze h.huhn = new huhn h\a$ = "Huhn" t.tiere = new tiere t\register = h.huhn ;(...) for t.tiere = each tiere text 50,50,t\registriert\a$,1,1 next ;(...) Das ganze funktioniert ja leider nicht. Nach konsultierung der Onlinehilfe kam ich auf die Befehle Object und Handle. Nur leider bringen die beiden mich auch nicht wirklich weiter. Ich habe versucht das Handle der jeweiligen Types in dem "Registriertype" zu speichern und später irgendwie aufzurufen. Nur komm ich nicht ganz dahinter wie ich das anstellen kann. Auch Google hat mir leider nicht geholfen. Deswegen versuche ich es mal hier. Vielen Dank schonmal für eventuelle Lösungsansätze ![]() uiwhee |
||
- Zuletzt bearbeitet von uiwhee am So, Nov 29, 2009 18:55, insgesamt einmal bearbeitet
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Oke... Also meine Lösung wäre ja folgende:
Code: [AUSKLAPPEN] Type tier
Field name$ Field huhn.huhn Field katze.katze End Type Type huhn Field zeugs_was_huhn_spezifisch_ist End Type Type katzen Field zeugs_was_katze_spezifisch_ist End Type Local tier.tier=New tier tier\name$="Mauzi" tier\katze=New katze tier\katze\...=... Wenn du nun mit for-each alle tiere durchgehst kannst du abfragen ob tier\huhn<>Null oder tier\katze<>Null und dementsprechend handeln. Eine andere Lösung die mir einfällt wenn ich mir deine Methode so ansehe ist über Handle ![]() Du speicherst in deinem Code in tier\register das Handle von katze oder huhn oder was auch immer. Und beim Auslesen versuchst du mittels Object ![]() Code: [AUSKLAPPEN] for t.tiere = each tiere
katze.katze=Object.katze(t\register) if katze<>Null Then Text 50,50,"Das is ne Katze!",1,1 Endif huhn.huhn=Object.huhn(t\register) If huhn<>Null Then Text 50,50,"Das is n Huhn!",1,1 Endif next Viel Erfolg und auf dass du das Richtige machst ![]() Christoph. |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
uiwhee |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo Eingeproggt,
danke dir für die hilfreiche Antwort. Das heißt also, dass Typeeinträge, egal aus welchem Type, nie die gleiche Handle ID haben? Das ist ja praktisch ![]() So sollte das Ganze klappen. Problem gelöst. uiwhee |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group