Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Averiguar tipo de una variable (https://www.clubdelphi.com/foros/showthread.php?t=45701)

senda 11-07-2007 21:11:35

Averiguar tipo de una variable
 
Hola, sé que esta cuestión que voy a plantear es algo paradógica trabajando con un lenguaje de programación fuertemente tipado como es Delphi (pascal, pascal orientado a objetos, ...). Básicamente quería saber si se puede preguntar a una variable de qué tipo es. Es decir:

Tengo definidos los siguientes tipos (enumerados):

Código:

TLetra = {A, E, I, O, U, B, C, D F, G, H};
TVocal = A..U;
TConsonante = B..H;

var letra : TLetra;

¿Hay algún modo de saber automáticamente si letra es una vocal o una consonante? ¿O tengo que "currarme" una función auxiliar que me lo diga? Muchas gracias.

jhonny 11-07-2007 21:45:08

No conozco una función que lo haga desde fabrica, de manera pues que teniendo en cuenta la estructura que haz armado, por ahora podemos intentar el siguiente ejemplo :):
Código Delphi [-]
 
private
   Vocal : TVocal;

procedure VocalConsonante(Letra :TLetra);
begin
  if Letra in [Vocal] then
    ShowMessage('Vocal')
  else
    ShowMessage('Consonante');
end;

//Edito: Para nombrar las variables singularmente.

senda 11-07-2007 23:18:32

Muchas gracias jhonny, buscaba algo así para no tener que implementar una función "tonta", pero "coñazo" de implementar.

roman 12-07-2007 06:58:49

Creo que en la opción de jhonny, en lugar de

Código Delphi [-]
if Letra in [Vocal] then

debería ser

Código Delphi [-]
if Letra in [A..U] then

o, en su defecto, declarar una constante

Código Delphi [-]
const
  Vocales = [A..U];

y usar

Código Delphi [-]
if Letra in Vocales then

// Saludos


La franja horaria es GMT +2. Ahora son las 03:23:35.

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