Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Variable aus Variable auslesen (https://www.delphipraxis.net/80553-variable-aus-variable-auslesen.html)

fLaSh11 10. Nov 2006 21:41


Variable aus Variable auslesen
 
Hallo DPler,

meine hautige Frage:
Wie kann ich den Wert einer Variabeln auslesen, deren Name in einer anderen Variable gespeichert ist. Von dieser letzteren Variable will ich das Ergebnis abhängig machen.
Beispiel:
Delphi-Quellcode:
a:=23;
b:='a';
wie kann ich nun den Wert von a erhabten, aber in b ausgedrückt???

MfG Steffen

//Edit: : gesetzt^^

inherited 10. Nov 2006 21:49

Re: Variable aus Variable auslesen
 
b:=a;
Immer schön an den ':' denken ;)
Außerdem empfehle ich dir ein paar tutorials zu dem Thema zu lesen. Die auf www.dsdt.info sind suppi^^

zebrafalke 10. Nov 2006 21:56

Re: Variable aus Variable auslesen
 
Wie meinst du das "in b ausgedrückt"?

Delphi-Quellcode:
b:=a
dann ist doch in b was in a ist??


Gruß
zebrafalke

Zacherl 10. Nov 2006 21:58

Re: Variable aus Variable auslesen
 
Ich glaube er will den Wert von A anhand eines Stringvertes 'A' erhalten ... Das ist IMHO nicht möglich ...

Florian

fLaSh11 10. Nov 2006 22:02

Re: Variable aus Variable auslesen
 
genau!

@inherited: bei dsdt.info gibt's zu dem Thema nix...
@Florian: Danke. Das habe ich mir eigentlich gedacht... aber Fragen kostet ja ncihts :zwinker:

MrSpock 10. Nov 2006 22:02

Re: Variable aus Variable auslesen
 
Hallo,

fLaSh11 hat in der Variablen den Namen einer anderen Variablen als String (oder Char) stehen. Also b := 'NameDerAnderenVariablen'. Und meinetwegen: NameDerAnderenVariablen := 7; an einer anderen Stelle zugewiesen. Jetzt will er im Prinzip eine Anweisung haben, die b auswertet, feststellt, dass dort der Name einer anderen Variablen steht und auf diese jetzt zugreifen.

Das geht aber mit normalen Pascal oder Delphi Sprachmitteln nicht. Unter Turbopascal hatte ich mal ein Programm, dass den Speicherbereich, in dem Konstanten abgelegt waren, direkt manipiluiert hat und so Konstanten geändert hat. Wenn überhaupt geht es also nur über die interna, wie Delphi Variablen verwaltet.

zebrafalke 10. Nov 2006 22:07

Re: Variable aus Variable auslesen
 
Welchen Sinn könnte sowas haben?


Gruß
zebrafalke

Cöster 10. Nov 2006 22:11

Re: Variable aus Variable auslesen
 
Meinst du sowas wie FindComponent nur für Variablen?
Also man könnte die Eigenschaft Tag einer Komponente als die Variable benutzen. Wenn die Komponente dann a heißt, kann man mit FindComponent('a').Tag den Wert auslesen.

inherited 10. Nov 2006 22:15

Re: Variable aus Variable auslesen
 
Sorry flash, dann hab ich dich falsch verstanden.
Erstell dir eine Dummyklasse und lies sie mit FindComponent aus

3_of_8 10. Nov 2006 22:21

Re: Variable aus Variable auslesen
 
Oder man macht es gleich richtig, mit einer Map.

inherited 10. Nov 2006 22:23

Re: Variable aus Variable auslesen
 
Darf ich nochmal fragen, wozu das ganze dienen soll?

fLaSh11 11. Nov 2006 11:42

Re: Variable aus Variable auslesen
 
Ich bin grad am basteln eines neuen Rechners. Da kann man die Buchstaben a bis z als variablen zum abspeichern von zahlen verwenden. Dass diese bei nächsten start wieder verfügbar sind, wollt ich sie alle in einer ini speichern und beim Start wieder auslesen.
Da ich keine Lust hatte (habs aber jetzt schon so gemacht^^), alle variablen einzeln abzuspeichern, wollte ichs mit einer for-Schleife realisieren, nach dem Motto:
Delphi-Quellcode:
for ii:=1 to 26 do
begin
Ini.WriteString('Var',alpahbet[ii],Value_of_alphabet[ii]);
end;
oder gibt's da ne andere Lösung :zwinker: ?

OregonGhost 11. Nov 2006 11:47

Re: Variable aus Variable auslesen
 
Geht nicht ein
Delphi-Quellcode:
array['a'..'z']
? :stupid:

fLaSh11 11. Nov 2006 12:00

Re: Variable aus Variable auslesen
 
ok, geändert! :stupid: :mrgreen:

Cöster 11. Nov 2006 14:32

Re: Variable aus Variable auslesen
 
Für das spätere Benutzen der Variablen, könntest du in einem Record den Variablennamen und den Wert speichern. Die Records speicherst du dann in einem Array. Wenn der Benutzer dann mit 'a' rechnen will, gehst du den Array durch, bis Array[I].Name = 'a' und rechnest dann mit Array[I].Wert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:43 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz