Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Tipos enumarados, problemilla.. (https://www.clubdelphi.com/foros/showthread.php?t=71015)

blueicaro 24-11-2010 18:05:29

Tipos enumarados, problemilla..
 
Hola si yo pongo esto en mi programa compila perfectamente:

Código Delphi [-]
 Type MisTipos = (Untipo,DosTipo,TresTipo);

Pero si pongo esto me da fallo al compilar

Código Delphi [-]
 Type MisTipos= (DI,DO,AO,AI);

Como es normal, se queja en DO, porque es una palabra reservada

¿Cómo puedo hacer para poder definir mi "propìos" tipos de datos, pudiendo usar una palabra reserva.

No sé si me explico

Gracias

Saludos

/BlueIcaro

Al González 24-11-2010 18:52:30

Hola BlueIcaro.

No es una buena idea utilizar palabras reservadas como identificadores, ya que en el mejor de los casos se prestará a algún tipo de confusión y en otros simplemente no lo permitirá el compilador.

Por otra parte, es una buena práctica emplear algún prefijo en las constantes grupales.

Código Delphi [-]
Type
  TMiTipo = (mtDI, mtDO, mtAO, mtAI);  // mt = "Mi Tipo"

Con la convención del prefijo en constantes de tipos enumerados, así como en otras constantes de grupo (clBlack, clLime, clYellow, por ejemplo). Evitas el problema de que haya coincidencia con alguna palabra reservada (o incluso con otros identificadores), además de darle a las constantes nombres más claros respecto al grupo al cual pertenecen.

Saludos.

Al González. :)

cloayza 24-11-2010 21:23:07

Cita:

Empezado por blueicaro (Mensaje 383165)
¿Cómo puedo hacer para poder definir mi "propìos" tipos de datos, pudiendo usar una palabra reserva.

Para que querras hacer esto? :confused:

blueicaro 24-11-2010 23:36:01

Gracias
 
Cita:

Empezado por cloayza (Mensaje 383178)
Para que querras hacer esto? :confused:

Me temia que no hubiera una solución, pero por preguntar que no quede.
Cloayza, use esas palabras, que no parecen muy claras, porque estoy haciendo un editor de parámetros para un tipo de máquina industrial, y usa esos acrónimos

DO = Digital Output
DI = Digital Input
(etc)

La idea era, que el usuario pudiera seleccionar un tipo de dato, por eso los tipos de datos enumerados.

Saludos

/BlueIcaro

Ñuño Martínez 25-11-2010 10:38:20

Seguramente van a tacharme de borde pero aun así voy a escribirlo:
Cita:

Empezado por blueicaro (Mensaje 383165)
¿Cómo puedo hacer para poder definir mi "propìos" tipos de datos, pudiendo usar una palabra reservada.

¿Qué parte de "palabra reservada" es la que no entiendes? ¿"Palabra"? ¿O "reservada"?

blueicaro 25-11-2010 11:37:33

Cita:

Empezado por Ñuño Martínez (Mensaje 383206)
Seguramente van a tacharme de borde pero aun así voy a escribirlo:

¿Qué parte de "palabra reservada" es la que no entiendes? ¿"Palabra"? ¿O "reservada"?

Hola nuño, no sé a que te refieres, pero yo quería decir con palabra reservada a las "palabras" o "expresiones", propias del lenguaje, como son DO, FOR, If, etc
En mi casa, el tipo enumerado que quería contiene la palabra DO, y el compilador se queja, normal que lo haga.

Saludos


La franja horaria es GMT +2. Ahora son las 12:31:03.

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