Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - dynamische Variable aus String erzeugen


LeVoS - Sa 01.11.03 14:42
Titel: dynamische Variable aus String erzeugen
Vielleicht kann mir jemand kurz helfen :::

Ich möchte ein Variable aus einem String erzeugen !
(also Ergebnis soll sein : A:=1;)
bei Javascript ala enum('A')=1

ich hoffe ich habe mich verständlich ausgedrückt !


Wolff68 - Sa 01.11.03 15:40

Ehrlich gesagt ist es bisher noch nicht besonders verständlich.

Du hast eine StringVariable mit einem Inhalt 'A' ?
Und willst jetzt das A durch 1 ersetzen?
Oder willst Du eine Zählvariable A auf 1 setzen, weil A im String enthalten ist ? Oder, oder...?

Schreib mal was Du vorhast.


LeVoS - Sa 01.11.03 15:53
Titel: ganz einfach
A:='neue_Variable';
B:=10;

Umformung(A):=B; <<<????????? nur wie

Ergebnis:::
neue_Variable=10


Delete - Sa 01.11.03 18:01

Du kannst zur Laufzeit keine neuen Variablen erschaffen.


LeVoS - Sa 01.11.03 18:08
Titel: OKAY
Aber wie ist es wenn es die Variablen bereits gibt, und ich möchte nur auf Sie zugreifen - rein um mit viel Code geschreibsel zu ersparen ? Ist so etwas möglich ?


Delete - Sa 01.11.03 18:59

Wären Arrays da eventuell eine Idee?


LeVoS - Sa 01.11.03 19:11

würde vermutlich irgendwie auch die Lösung bringen aber ...

ich wollte solche zeilen

procedure setzen(variable:string;wert:integer)
begin
if variable='A' then A:=wert;
if variable='B' then B:=wert;
....

end;

ersetzen durch

procedure setzen(variable:string;wert:integer)
begin
machausstringvariable(variable):=wert;
end;

rein um viel Code zu ersparen ... daß gibt es bei allen Web-angelehnten Sprachen - also hatte ich vermutet, daß es ähnlich ist mit Delphi


UC-Chewie - Sa 01.11.03 20:13

Das geht bei einfachen Typen nicht, da im fertigen Programm nur die Adressen und nicht die Namen der Variablen gespeichert werden. Bei komplexen Typen werden auch Laufzeitinformationen wie der Name und der Typ gespeichert.


LeVoS - Sa 01.11.03 20:26

Danke für die Info - da brauch ich nicht mehr länger zu suchen ...
also muß ich meinen schnellen Tippfingern :roll: vertrauen, und kann ein paar Codezeile zusätzlich schreiben ....