Seite 1 von 1
VB Code -> PB Code
Verfasst: 06.12.2007 22:57
von Glow
Hi
Ich versuche gerade ein paar alte VB Codes in PB zu portieren, hänge aber einer Stelle:
Code: Alles auswählen
Public Enum DIES_IST_EIN_TEST
TEST1 = 0
TEST2 = 1
TEST3 = 2
End Enum
Einfach eine Enumeration machen geht nicht, da ja sonst der Bezug zu DIES_IST_EIN_TEST fehlt. Das ganze müsste am ende eigentlich eine art enumerierter Struktur ergeben.
Hat da jemand einen Tip für mich?
Gruß
Glow
Verfasst: 07.12.2007 00:35
von mk-soft
Vielleicht einfach so
Code: Alles auswählen
Enumeration 0
#DIES_IST_EIN_TEST_TEST1
#DIES_IST_EIN_TEST_TEST2
#DIES_IST_EIN_TEST_TEST3
EndEnumeration
FF

Verfasst: 07.12.2007 02:05
von edel
DIES_IST_EIN_TEST ist uninteressant
Verfasst: 07.12.2007 08:49
von Glow
Leider ist DIES_IST_EIN_TEST nicht uninteresannt. Denn später wird das wie eine Struktur benutzt:
Code: Alles auswählen
MeineTestVar = DIES_IST_EIN_TEST.DIES_IST_NOCH_EIN_TEST
Wobei DIES_IST_NOCH_EIN_TEST wiederum eine solche Enumeration darstellt. Also das ganze sieht dann ungefähr so aus:
Code: Alles auswählen
Public Enum DIES_IST_EIN_TEST
TEST1 = 0
TEST2 = 1
TEST3 = 2
End Enum
Public Enum DIES_IST_NOCH_EIN_TEST
MEHR_TEST1 = 0
MEHR_TEST2 = 1
MEHR_TEST3 = 2
MEHR_TEST4 = 3
End Enum
MeineTestVar = DIES_IST_EIN_TEST.DIES_IST_NOCH_EIN_TEST
Gruß
Glow
Verfasst: 07.12.2007 13:53
von edel
Und doch ist es uninteressant, da du das ja nach PB portieren moechtest.
Du musst nur aufpassen das du keine doppelten Namen benutzt, bzw richtig
anpasst.
in PB dann so z.B. wie es mk-soft schon schrieb
Verfasst: 07.12.2007 17:54
von mk-soft
Wenn man es so umbedingt braucht
Code: Alles auswählen
Structure STRUCT_DIES_IST_EIN_TEST
TEST1.l
TEST2.l
TEST3.l
EndStructure
DataSection
ENUM_DIES_IST_EIN_TEST:
Data.l 0 ; Test1
Data.l 1 ; Test2
Data.l 2
EndDataSection
Global *DIES_IST_EIN_TEST.STRUCT_DIES_IST_EIN_TEST = ?ENUM_DIES_IST_EIN_TEST
Debug *DIES_IST_EIN_TEST\TEST1
Debug *DIES_IST_EIN_TEST\TEST2
Debug *DIES_IST_EIN_TEST\TEST3
Edit:
Oder
Code: Alles auswählen
Structure STRUCT_DIES_IST_EIN_TEST
TEST1.l
TEST2.l
TEST3.l
EndStructure
DataSection
ENUM_DIES_IST_EIN_TEST:
Data.l 0 ; Test1
Data.l 1 ; Test2
Data.l 2 ; Test3
EndDataSection
Macro ENUM(Var)
CopyMemory(?ENUM_DIES_IST_EIN_TEST, Var, SizeOf(STRUCT_DIES_IST_EIN_TEST))
EndMacro
Define TestVar.STRUCT_DIES_IST_EIN_TEST
ENUM(TestVar) ; ; TestVar = DIES_IST_EIN_TEST
Debug TestVar\TEST1
Debug TestVar\TEST2
Debug TestVar\TEST3
FF
