Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Simplificar condicionales contra estado de dataSet (https://www.clubdelphi.com/foros/showthread.php?t=89445)

Kenobi 21-11-2015 12:31:56

Simplificar condicionales contra estado de dataSet
 
Hola compañeros, frecuentemente hago esto :
Código Delphi [-]
if dataSet.state = dsInsert then edit.enabled:=true
                                     else edit.enabled:=false;

sin embargo pienso que seria bueno poder simplificar las cosas haciendo un "casting" de la condicion para que me devuelva un booleano y asignarlo directamente al control en su propiedad enabled, algo asi ..:

Código Delphi [-]
Edit.enabled:=casting(dataSet.state = dsInsert);

la pregunta es, como hacer este casting ....?

Gracias, espero que no sea un tema tan banal ...

Kenobi 21-11-2015 12:43:32

Respondo
 
Según parece con esto basta :

Código Delphi [-]
 edit.enabled := Boolean(dataSet.state = dsInsert);

Gracias ...

Casimiro Notevi 21-11-2015 13:11:31

Cita:

Empezado por Kenobi (Mensaje 499687)
Según parece con esto basta :

Código Delphi [-] edit.enabled := Boolean(dataSet.state = dsInsert);


Gracias ...

Incluso menos:

Código Delphi [-]
edit.enabled := dataset.state=dsinsert;

Al González 21-11-2015 21:15:31

...Dado que toda expresión es directamente asignable a una variable, parámetro o propiedad que sea del mismo tipo que dicha expresión. :)

Una expresión que consiste en un operador de comparación ("=") aplicado sobre otras dos expresiones ("dataSet.state" y "dsInsert") arroja un resultado de tipo Boolean. El campo, propiedad o variable enabled de ese objeto, clase, registro, interfaz o unidad edit es, según se infiere al ver que le asignabas un true/false, de tipo Boolean.

Un saludo.

Kenobi 21-11-2015 23:57:28

Mis disculpas
 
Si que barbaro, la verdad este tema corresponde a mi metida de pata del dia, ya que antes de contestar el primero de ustedes lo habia implementado exitosamente en mi aplicacion, mil disculpas por la perdida de tiempo....


La franja horaria es GMT +2. Ahora son las 14:34:14.

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