Frage zu Pointern/Macros

Anfängerfragen zum Programmieren mit PureBasic.
PurePi
Beiträge: 41
Registriert: 08.02.2007 08:18

Beitrag von PurePi »

besten Dank für die zahlreichen Antworten.
Trifft meine Fragestellung aber noch nicht so ganz.
-> liegt aber klar an MEINER Fragestellung :oops:
Ich versuche meine Fragestellung(losgelöst von Gadgets) mal globaler zu formulieren:
Wie kann ich über den Inhalt einer Textvariablen(=Name einer NumVariablen) den Wert dieser NumVariablen erhalten. (s.Code)
Hoffe
Das muß doch irgendwie mit Pointern/Macros möglich sein (leider krieg ich es nicht hin [@*, *@ KEIN Plan]) :cry:

Code: Alles auswählen

MyNumvar=100
MyTextVar.s="MyNumvar"
@edel und MK-Soft
Euer Code läuft bei mir nicht "There is no current GadgetList"
-> Ich nutze (noch) 4.2. Kann das der Grund sein ?
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Ja das fehlt.

"MyNumvar" und MyNumvar sind zwei voellig verschiedene Dinge, das erste
ist ein String und das zweite eine Variable, beide haben miteinander nichts zu
tun. Von "MyNumvar" kommtst du also nicht auf den Inhalt von MyNumvar.
Andesdaf
Moderator
Beiträge: 2673
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Beitrag von Andesdaf »

> Euer Code läuft bei mir nicht "There is no current GadgetList"
Bau hinter dem OpenWindow(..) ein

Code: Alles auswählen

CreateGadgetList(window)
in den Code ein
Win11 x64 | PB 6.20
PurePi
Beiträge: 41
Registriert: 08.02.2007 08:18

Beitrag von PurePi »

@edel
schon klar das es "Äpfel und Birnen" sind
hatte gehofft, das jemand(Crack) jetzt gesagt hätte (KLAR:"Pointer -> Pointer durch Marco ersetzen".....,o.ä, und gut....)

@Andesdaf
CreateGadgetList(WindowID(window))....
...ich dachte das CreateGadgetList würde unter 4.30 entfallen
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Beitrag von HeX0R »

Was du da willst geht in Scriptsprachen, wie php z.B.
Da sind so irre Konstrukte wie das hier möglich:

Code: Alles auswählen

<?
	$affe = "blubb";
	$variable = "affe";
	echo $$variable;
?>
In Compilersprachen geht so etwas nicht, da die Variablennamen im Kompilat gar nicht mehr vorkommen.
Hier ist Umdenken gefragt...
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

Heute um 11:42, Kaeru Gaman hat geschrieben:
PurePi hat geschrieben:Ich erzeuge mit meiner Anwendung recht viele Gadgets dynamisch.
In einer DB habe ich die Namen der Gadgets hinterlegt.
Es gilt Name des Gadgets in der DB=VariablenName im Programm (s. Code)
D.h. das Programm kennt die Gadgets nur "textlich", damit habe ich aber noch Keinen Zugriff auf die Gadgets (z.B GetGadgetText(#Gadget).
:cry:
ähm... ja... die herangehensweise ist zumindest ungewöhnlich.

also, der Name einer Variablen existiert im fertigen Programm garnicht mehr, nur in deinem Code.

Gadgets haben lediglich Nummern, wie alle Objekte.
(dynamisch erzeugte haben IDs, das sind nicht exakt Nummern aber grundsätzlich auch Nummern.)

Du kannst also genaugenommen ein Gadget nur dann zur Laufzeit mit einem Namen identifizieren,
wenn du in deiner DB eine eineindeutige Zuordnung dieser Namen zu Nummern vornimmst.


Was mich natürlich zu der Frage bringt, warum du Gadgets über Namen identifizieren willst....
:?:
PurePi hat geschrieben:@Andesdaf
CreateGadgetList(WindowID(window))....
...ich dachte das CreateGadgetList würde unter 4.30 entfallen
äh ja... du sagst doch grad, dass du 4.2 hast... o_O
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten