Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   funcion con parametro "raro" (https://www.clubdelphi.com/foros/showthread.php?t=61898)

emeceuy 26-11-2008 13:17:33

funcion con parametro "raro"
 
hola, tengo una consulta sencilla, estuve leyendo pero no encontré como hacerlo si es que se puede...

me gustaría crear una función así: function mifuncion(parametro: letraABoC): boolean;

el tema es que quiero pasarle como parámetro A, B o C solamente, como hago? porque el tipo char ademitiria todas las letras... y la otra pregunta, necesariamente tendrías que escribir así para llamar la funcion?: mifuncion('A') o puedo evitar las comillas y escribir mifuncion(A), eso se puede?

muchas gracias como siempre !

coso 26-11-2008 13:31:28

hola, tendrias que hacer una enumeration

Código Delphi [-]
type TLetraABoC = (ltA,ltB,ltC);

procedure MiFuncion(a : TLetraABoC);
begin
end;

MiFuncion(ltA);

Caro 26-11-2008 13:32:47

Cita:

Empezado por emeceuy (Mensaje 328056)
hola, tengo una consulta sencilla, estuve leyendo pero no encontré como hacerlo si es que se puede...

me gustaría crear una función así: function mifuncion(parametro: letraABoC): boolean;

el tema es que quiero pasarle como parámetro A, B o C solamente, como hago? porque el tipo char ademitiria todas las letras... y la otra pregunta, necesariamente tendrías que escribir así para llamar la funcion?: mifuncion('A') o puedo evitar las comillas y escribir mifuncion(A), eso se puede?

Hola, si es de tipo Char no, tendrías que verificar antes si son esas letras:

Código Delphi [-]
var
 letra : Char;
begin
 ......
 if (letra='A') or (letra='B') or (letra='C') then
  mifuncion(letra);

pero si tu te defines tu tipo de dato si se puede, sería así:

Código Delphi [-]
type
 TLetras=(A,B,C);
..........
..........
 
function mifuncion(letra : TLetras) : Boolean;
begin
 //
end;

............
begin
 mifuncion(A)
end;

Saluditos

emeceuy 26-11-2008 13:41:46

Que notable, solucionado ! muchas gracias a ambos !
saludos !


La franja horaria es GMT +2. Ahora son las 12:37:48.

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