PDA

Ver la Versión Completa : Averiguar tipo de una variable


senda
11-07-2007, 21:11:35
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):

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 :):

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


if Letra in [Vocal] then


debería ser


if Letra in [A..U] then


o, en su defecto, declarar una constante


const
Vocales = [A..U];


y usar


if Letra in Vocales then


// Saludos