Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-10-2010
rrf rrf is offline
Miembro
 
Registrado: ago 2003
Ubicación: S/C Tenerife, España
Posts: 454
Poder: 21
rrf Va por buen camino
Question Obtener, como texto, el nombre de una constante de texto

Hola a todos/as.

¿Hay alguna forma de conseguir, como texto, el nombre de una constante global de texto?.

Me explico:

Supongamos que hay una constante llamada const1 y lo que quiero es algo así como una función a la que le pasas como parámetro la constante const1 y recibes de la función el texto 'const1'.

Por supuesto que esa función tendría que funcionar con cualquiera de las constantes de texto y no se puede saber de antemano que constante va a recibir.

Supongo que es algo un poco raro (al menos para mí), pero quizás haya alguna forma de hacerlo.

Gracias de antemano.
Responder Con Cita
  #2  
Antiguo 08-10-2010
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
La mayoría de los identificadores de programa (como el nombre de una constante) se convierten en simples direcciones de memoria cuando se compila el código fuente transformándose en código máquina. Si ejecutas algo como:

Código Delphi [-]
Proc1 (Const1);

El procedimiento Proc1 recibe el contenido de la constante, pero no tiene forma de conocer cuál era el nombre de esa constante en el código fuente, a no ser que tal nombre sea dado también como un valor String explícito.

¿Cuál es el propósito de lo que planteas? Quizá haya otra manera de resolverlo.

Saludos.

Al González.
Responder Con Cita
  #3  
Antiguo 08-10-2010
rrf rrf is offline
Miembro
 
Registrado: ago 2003
Ubicación: S/C Tenerife, España
Posts: 454
Poder: 21
rrf Va por buen camino
Hola de nuevo.

Gracias por tu respuesta, Al.

Mira, estoy dedicando un tiempo a un Unit llamado INILANG2, que se usa para traducir una aplicación a otros idiomas.

Una parte del proceso de adaptar la aplicación consiste en sustituir los nombres de las constantes por una función llamada Misc ( , ). Por ejemplo:

Código Delphi [-]
  showmessage (cons1);
se convertiría en:

Código Delphi [-]
  showmessage (Misc(cons1,'cons1'));

En Misc() el primer parámetro es el nombre de la constante, pero el segundo es el nombre de la constante como texto.

Me planteaba sustituir Misc() por otra función a la que solo se le pasara el parámetro del nombre de la constante, que lo transformara en texto y luego hiciera una llamada a la función Misc().

De esta forma, la adaptación de la aplicación sería más sencilla.

Sin embargo, el problema ya fue resuelto y, si esto que plantéo es muy difícil, pues quizás no valga la pena perder el tiempo en ello.

Pensé que quizás existía alguna función de Delphi que permitía esto, aunque es bastante raro.

Y..., visto lo que dices, quizás no valga la pena preocuparse, pues se trata de hacer una mejora y no de solucionar un problema.

Gracias de nuevo y un saludo.
Responder Con Cita
  #4  
Antiguo 08-10-2010
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.

Coincido con Al, en RTTI se puede obtener el nombre de una propiedad pero no creo posible el de una variable, por que si no entiendo mál, este nombre es convertido a una dirección de memoria por el compilador.


Saludos.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Obtener texto en DBGrid ecfisa OOP 6 08-07-2010 17:34:42
Obtener posicion de Texto en un Memo (fila de texto) JuanErasmo Varios 2 26-06-2007 23:47:41
Mostrar lista de archivos que en el nombre tengan un texto específico Albano Varios 2 13-06-2007 12:00:34
Obtener Texto plano de un campo blob Manuel Firebird e Interbase 12 06-10-2006 01:01:53
Como puedo grabar texto en un Archivo de Texto sin Sobreescribir???? AGAG4 Varios 12 08-11-2005 23:53:00


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


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