Comparar String con Constante
Hola a todos, paso a explicar el problema
Tengo las constantes siguiente: cod1 = 100 cod2 = 101 cod3 = 102 cod3 = 103 y tengo un proceso que obtiene en un string una valor que es casualmente el nombre de la constante, y lo que quiero obtener es el valor de la constante... por ejemplo: X := 'cod1'; y quiero comparar if (X = nombre(cod1)) then Y := cod1; siendo Nombre() la funcion que devolveria el nombre de la consnte y no su valor. Alguna sugerencia. Gracias PD: Esto en el anterior Clipper se llamaba macro sustitucion y se hacia con el @ antes del nombre de la variable....:confused: |
Veo difícil que esto pueda hacerse en delphi, porque los nombres de las constantes son sólo para identificarlas en el código; el compilador sustituye su valor en cada expresión en la que aparece, de manera que el nombre se pierde en el ejecutable final.
No obstante hay alternativas. Por ejemplo, puedes valerte de un TStringList que 'englobe' las constantes:
La variable Constantes debes construirla ates de usarla con
y destruirla cuando ya no la uses:
Claro que en realidad ya no estamos hablando de constantes, pero puede satisfacer la necesidad. // Saludos |
La franja horaria es GMT +2. Ahora son las 18:41:49. |
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