Enumeration ID via Macro ermitteln ?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
silbersurfer
Beiträge: 174
Registriert: 06.07.2014 12:21

Enumeration ID via Macro ermitteln ?

Beitrag von silbersurfer »

Hallo leute,
ich würde gerne die ID einer Enumeration mit hilfe von einen Macro im code ersetzen,
wenn das denn überhaupt geht.
Mein Ansatz war dieser:

Code: Alles auswählen

#test=2

Macro GetEnumerationID(Text)
  #text
EndMacro
Debug GetEnumerationID(test)
was so auch geht, nur würde ich gerne einen String übergeben, und dann als Resultat die Enumeration #test erhalten.

Code: Alles auswählen

GetEnumerationID("test")
ist das möglich ?
Intel Quad Core 3,2 Ghz - GTX 1060 - BlitzBasic Plus 1.48 , PureBasic 5.70 LTS / Aktuelles Projekt PureCommander
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 6996
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Enumeration ID via Macro ermitteln ?

Beitrag von STARGÅTE »

Dazu musst du die Konstante als Runtime markieren:

Code: Alles auswählen

#test = 2

Runtime #test

Debug GetRuntimeInteger("#test")

Code: Alles auswählen

Enumeration
	#test1
	#test2
	#test3
EndEnumeration

Runtime #test1
Runtime #test2
Runtime #test3

Debug GetRuntimeInteger("#test3")
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
silbersurfer
Beiträge: 174
Registriert: 06.07.2014 12:21

Re: Enumeration ID via Macro ermitteln ?

Beitrag von silbersurfer »

danke STARGÅTE, das hätte ich nun nicht gedacht das Purebasic dafür auch eine möglichkeit bietet.
:allright: :allright: :allright:
Intel Quad Core 3,2 Ghz - GTX 1060 - BlitzBasic Plus 1.48 , PureBasic 5.70 LTS / Aktuelles Projekt PureCommander
Benutzeravatar
Sicro
Beiträge: 955
Registriert: 11.08.2005 19:08
Kontaktdaten:

Re: Enumeration ID via Macro ermitteln ?

Beitrag von Sicro »

Code: Alles auswählen

Runtime Enumeration
   #test1
   #test2
   #test3
EndEnumeration

Debug GetRuntimeInteger("#test3")
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 6996
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Enumeration ID via Macro ermitteln ?

Beitrag von STARGÅTE »

Danke Sicro,

wusste irgendwie, dass es einfacher geht :lol:
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Lord
Beiträge: 313
Registriert: 21.01.2008 19:11

Re: Enumeration ID via Macro ermitteln ?

Beitrag von Lord »

Was spricht gegen:

Code: Alles auswählen

Runtime Enumeration
   #test1
   #test2
   #test3
EndEnumeration

Debug #Test3
?
Bild
Nino
Beiträge: 1300
Registriert: 13.05.2010 09:26
Wohnort: Berlin

Re: Enumeration ID via Macro ermitteln ?

Beitrag von Nino »

Lord hat geschrieben:Was spricht gegen:

Code: Alles auswählen

Runtime Enumeration
   #test1
   #test2
   #test3
EndEnumeration

Debug #Test3
?
Dagegen spricht hier, dass das nicht das ist, was der OP machen will.
Er will zur Laufzeit den Namen einer Konstanten angeben, und dann deren Wert erhalten.
Benutzeravatar
silbersurfer
Beiträge: 174
Registriert: 06.07.2014 12:21

Re: Enumeration ID via Macro ermitteln ?

Beitrag von silbersurfer »

Super noch einfacher,da kann ich mir die ganzen Runtime Sparen Danke Nino :allright: :allright:

@lord
Was spricht gegen:
wie ich schon Anfangs sagte, dieses brauche ich um aus einen String die Gadget# Nr. zu wandeln

nochmals danke für die schnelle Hilfe... :praise:
Intel Quad Core 3,2 Ghz - GTX 1060 - BlitzBasic Plus 1.48 , PureBasic 5.70 LTS / Aktuelles Projekt PureCommander
Antworten