Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-02-2012
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 22
José Luis Garcí Va camino a la fama
Boolean automático

Hola compañeros, resulta que he leído en un par de ocasiones que se puede hacer que cuando usamos boolean, si esta en true al llamarla por código (es la parte que no encuentro) se pase a false.

Como siempre muchas Gracias y un saludo.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #2  
Antiguo 13-02-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Amigo, hoy no tienes muchas ganas de escribir por lo visto.
Que parte no entiendes ?.
Es algun componente ?.
No termino de entender.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 13-02-2012
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 22
José Luis Garcí Va camino a la fama
Hola Carlos, no es que no tenga ganas de escribir, no no se trata de componentes, es simplemente, curiosidad, se que puedo hacer un a función que lo haga, pasandole un parametro boolean devuelva el contrario, pero se trata de saber si existe y aprender un poco más.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #4  
Antiguo 13-02-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Yo no entiendo la pregunta. Tómate un tiempo y vuelve a formularla.

// Saludos
Responder Con Cita
  #5  
Antiguo 13-02-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Ah bueno, entonces me apunto a aprender.
Saludos
PD: Gusto en saludarte.
__________________
Siempre Novato
Responder Con Cita
  #6  
Antiguo 13-02-2012
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Déjame ver si entiendo.

Tu tienes una variable boolean:
Código Delphi [-]
var mi_var: boolean;

Y al parecer, te preguntas, cómo, por algún "truco" al hacer un simple:

Código Delphi [-]
algo := mi_var;

o algo como:

Código Delphi [-]
if mi_var then ....

De forma automática, ¿cambie a su negado?

Si es así sinceramente no tengo ni la más remota idea de si es posible y existe. Yo no vislumbro algo más simple como hacer uso de una función:

Código Delphi [-]
function UseAndNegate(var Variable: boolean): boolean;
begin
result := Variable;
Variable := NOT Variable;
end;

E invocar a dicha función cada vez que sea necesario.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #7  
Antiguo 13-02-2012
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 22
José Luis Garcí Va camino a la fama
Vamos a ve si con un poco de código me entendéis

Normalmente haríamos
Código Delphi [-]
Var VarBElBoolean:Boolean;
begin
   
   VarBElBoolean:=true;
   //O con un CheckBox
  if CheckBox1.checked=false then  Checkbox1.checked:=true
                                             else    Checkbox1.checked:=False;
end; 
end;

Lo que yo recuerdo haber visto es

Código Delphi [-]
Var VarBElBoolean:Boolean;
begin
   VarBElBoolean;
   //O con un CheckBox
  Checkbox1.checked;
end; 

{Lo que quiere decir si VarBElBolean es true lo pone en false y viceversa}
end;

Lo que no estoy seguro ya es si después de varBElBolean va alguna propiedad o función integrada al ide o al propio método que lo permita.

Aclara que no estoy seguro de que lo viese en delphi, pudo ser en C o VisaulBasic.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #8  
Antiguo 13-02-2012
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 22
José Luis Garcí Va camino a la fama
Delphius, por ahí van los tiros, se que lo puedo hacer con una función, pero quiero asegurarme, que no este implantado en el lenguaje o el ide.
La verdad es que recuerdo que en c tiene algunas ventajeas a la hora de programar comparado con el Delphi como el incremento
Código Delphi [-]
Variable++; //es igual a Variable:=Variable+1;
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #9  
Antiguo 13-02-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Pues tal como dice Delphius:

Código Delphi [-]
Variable := not Variable;

// Saludos
Responder Con Cita
  #10  
Antiguo 13-02-2012
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Pues, yo tampoco sigo sin entender amigo, aún después de haber expuesto ese código.
Lo siento.

Como he dicho, empleando esa función que puse se puede conseguir tanto leer el valor actual, como así también negarlo.

Quizá si nos comentas cual es el objetivo real que te persigues para tu aplicación (si es que la intención es llevar ese supuesto "truco" a la práctica) podríamos proponerte alternativas.

Que yo sepa no hay otra forma de alterar un boolean que negarlo:
Código Delphi [-]
mi_var := NOT mi_var;

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #11  
Antiguo 13-02-2012
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 22
José Luis Garcí Va camino a la fama
sólo se trata de aclárame si existía tal posibilidad. Gracias a Todos.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #12  
Antiguo 13-02-2012
Avatar de javier7ar
javier7ar javier7ar is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 124
Poder: 19
javier7ar Va por buen camino
Cita:
Empezado por José Luis Garcí Ver Mensaje
Vamos a ve si con un poco de código me entendéis

Normalmente haríamos
Código Delphi [-]
Var VarBElBoolean:Boolean;
begin
   
   VarBElBoolean:=true;
   //O con un CheckBox
  if CheckBox1.checked=false then  Checkbox1.checked:=true
                                             else    Checkbox1.checked:=False;
end; 
end;
Normalmente yo haria:
Código Delphi [-]
CheckBox1.checked:=not CheckBox1.checked

No es necesario preguntar si una variable es igual a true solo tienes que preguntar por el valor que tiene esa variable:
Código Delphi [-]
if (variable = true)...
// quedaria:
if (variable)...

// y para el caso false
if (variable = false)...
// quedaria:
if not(variable)...
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
SQL boolean poner SI/NO tarco35 Conexión con bases de datos 5 04-03-2007 18:08:54
Boolean en interbase el_barto Firebird e Interbase 5 11-07-2005 15:14:26
propiedad boolean en vcl cuscus OOP 2 24-05-2005 16:27:03
convertir de boolean a string ??? chele Varios 2 10-06-2004 12:18:35
boolean nulo Sick boy Conexión con bases de datos 7 05-12-2003 16:40:37


La franja horaria es GMT +2. Ahora son las 22:31:42.


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
Copyright 1996-2007 Club Delphi