Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-07-2011
ocram ocram is offline
Miembro
 
Registrado: nov 2006
Posts: 25
Poder: 0
ocram Va por buen camino
asignar valor a variable por medio de nombre

Hola a todos

Mi duda es que si alguien sabe como hacer para asignar un valor a una variable de la cual tengo su nombre en un string, es decir, yo tengo dos variables que se llaman VARDIM y NOMBRE de tipo string y digamos que la variable NOMBRE le asigno como valor el "nombre" de la otra variable
ej.
NOMBRE:= 'VARDIM';
ahora bien, como podria hacer para decir: a la variable que tenga de nombre el valor de la variable nombre asignale el valor de 'cualquier texto'. Para que al final de todo esto la variable VARDIM tenga el valor de 'cualquier texto'.
No creo que me hayan entendido pero les pondré pseudocodigo a ver si asi
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
   VARDIM, NOMBRE: String;
begin
   NOMBRE:= 'VARDIM';
   //quiero algo asi como lo siguiente
   variable(nombre):= 'Cualquier texto';
   showmessage(VARDIM);
end;

y que esto me mande el mensaje 'cualquier texto'

Gracias anticipadas

Última edición por ecfisa fecha: 14-07-2011 a las 18:05:31.
Responder Con Cita
  #2  
Antiguo 14-07-2011
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Hola...

Si explicas para que quieres hacer tal operación, te podremos ayudar mejor.

Lo que quieres no se puede lograr en Delphi. Tal vez puedas lograr algo parecido usando un TStringList:

Código Delphi [-]
var
  Strings: TStringList;

begin
  Strings := TStringList.Create;
  try
    Strings.Add('VARDIM=');
    Strings.Values['VARDIM'] := 'Cualquier texto';
    ShowMessage(Strings.Values['VARDIM'])
  finally
    Strings.Free
  end
end;


Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
Responder Con Cita
  #3  
Antiguo 14-07-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
yo si te entiendo y creeme que tambien estoy buscando lo mismo
antes cuando usaba FOX habia una instruccion

a = 'Vardin'
&a = 300


entonces la variable vardin tomaba el valor de 300, tambien estoy buscando esto en delphi
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #4  
Antiguo 14-07-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Como bién dice maeyanes ni en Delphi o Pascal es posible esa operación ya que el compilador convierte los nombres de variables en direcciónes de memoria y esa acción no es reversible.

Lo que se puede hacer es:
Código Delphi [-]
...
var
  Cadena: string;
  p: string absolute Cadena;
begin
  Cadena:= 'Hola';
  ShowMessage(p);
end;
Pero claro, no es lo mismo...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 14-07-2011
ocram ocram is offline
Miembro
 
Registrado: nov 2006
Posts: 25
Poder: 0
ocram Va por buen camino
lo que pasa es lo siguiente tengo una aplicacion que tiene cerca de 50 constantes y las tiene en el codigo y las quiero poner en una base de datos y de ahi jalar los valores, actualmente estan de la siguiente forma

const
cstrImpAddCC: String = 'ImpAddCC';
cstrImpAirFare: String = 'ImpAirFare';
cstrMantFloat: String = 'MantFloat';
cstrMantFix: String = 'MantFix';
...

entonces lo que quiero hacer es crear una tabla asi
VARIABLE VALOR
=========+=====
cstrImpAddCC ImpAddCC
cstrImpAirFare ImpAirFare
cstrMantFloat MantFloat
cstrMantFix MantFix

y ya en delphi crear las variables y asignarles el valor dependiendo del nombre


var
cstrImpAddCC: String;
cstrImpAirFare: String;
cstrMantFloat: String;
cstrMantFix: String;
...
//mas pseudocodigo
procedure asignavalor();
begin
consulta.open;
while not consulta.eof do begin
variable(consulta.fieldbuname('variable').asstring):= consulta.fieldbyname('valor').asstring;
consulta.next
end;
end;

y de esta forma asignar el valor a todas las variables, aqui el detalle es que como esas constantes se usan en todo el codigo entonces esta muuy complicado cambiarles el nombre
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Asignar el valor de DayOfTheWeek a una variable gluglu Varios 7 23-01-2005 19:47:47
Asignar valor ComboBox a una variable gluglu Varios 6 11-10-2004 17:54:44
el valor de una variable como nombre de un boton carlosmoralesm OOP 5 26-05-2004 06:57:53
El mismo nombre de objeto por medio de índices Isaac Varios 5 09-02-2004 11:54:04
como asignar un valor a una variable juan Varios 6 18-06-2003 01:26:19


La franja horaria es GMT +2. Ahora son las 00:34:52.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi