Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Existe el Operador Condicional ? (https://www.clubdelphi.com/foros/showthread.php?t=68478)

JordiP 16-06-2010 10:01:14

Existe el Operador Condicional ?
 
Buenas, mi pregunta es si en Delphi existe lo que en otros lenguajes, como el java, se denominan Operadores Condicionales (? :), esto se utiliza para poner un valor u otro dependiendo de la condicion expuesta, ejemplo:

valor = (esNumero ? 1 : 0)

en este ejemplo, si "esNumero" es TRUE asigna el valor 1 y en caso contrario 0

Gracias y espero vuestra ayuda.:D

Ñuño Martínez 16-06-2010 11:05:17

No.

No necesito poner más, porque no hay más que decir, pero el foro no deja publicar mensajes de menos de 10 caracteres, así que aprovecharé para decir que ese tipo de operadores sólo existen en los lenguajes derivados de C.

Casimiro Noteví 16-06-2010 11:08:46

Recuerdo que lo he usado en lenguaje C, en delphi creo que no. De todas formas, ese operador no es más que un "if then else", internamente el compilador lo traduce de esa manera.

JordiP 16-06-2010 11:36:52

ok gracias

Lord Delfos 16-06-2010 16:49:16

Según el caso, también existe una serie de funciones IfThen que te podrían interesar. Por supuesto son funciones, no un operador, y los tipos de sus parámetros están algo limitados.

roman 16-06-2010 21:03:40

Cita:

Empezado por Ñuño Martínez (Mensaje 367398)
así que aprovecharé para decir que ese tipo de operadores sólo existen en los lenguajes derivados de C.

Aunque, al parecer, en Python puede hacerse esto:

Código:

valor = 1 if esNumero else 0
Cita:

Empezado por Casimiro Notevi (Mensaje 367399)
De todas formas, ese operador no es más que un "if then else", internamente el compilador lo traduce de esa manera.

Cierto, pero el operador ternario puede resultar mucho más cómodo de escribir y leer.

// Saludos

rgstuamigo 16-06-2010 21:09:52

Cita:

Empezado por roman (Mensaje 367466)
Aunque, al parecer, en Python puede hacerse esto:

Código:

valor = 1 if esNumero else 0
Cierto, pero el operador ternario puede resultar mucho más cómodo de escribir y leer.

// Saludos

Muy cierto roman pero como bien a dicho Lord Delfos en éste caso se puede usar la funcion "IfThen" en Delphi, quedando el código así:
Código Delphi [-]
valor:=IfThen(esNumero,1,0);
Y de esa forma quedaría el código más cómodo de escribir y de leer.;)
Saludos...;)

Casimiro Noteví 16-06-2010 22:04:16

ifthen existe?

rgstuamigo 16-06-2010 22:05:19

Cita:

Empezado por Casimiro Notevi (Mensaje 367483)
ifthen existe?

Así es Casimiro ;).
Hay varias funciones con ese nombre que estan en la unidad Math.;)

Lepe 17-06-2010 12:42:39

Recomiendo hacer un grep search en el código de la vcl obviamente por "ifthen".

ifthen creo también existe en strUtils, de forma que acepta parámetros de cadena.

En la unidad Math, tendrá parámetros numéricos.

En no sé donde, estarán los booleanos ;).


Yo los reuní en una unidad pero dejé de usarlos por practicidad. Pones el ifthen y después necesitas más instrucciones, por lo que tienes que modificar toda la línea por el típico "if value then begin"

Para casos muy puntuales, está bien.

Saludos


La franja horaria es GMT +2. Ahora son las 00:18:26.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi