Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-07-2007
Avatar de arespremium
arespremium arespremium is offline
Miembro
 
Registrado: jul 2007
Posts: 48
Poder: 0
arespremium Va por buen camino
Smile elegir y concatenar en Delphi 7.0

Hola me plantie un ejercicio sencillo en Delphi 7.0
en el cual se usa los formularios

al seleccionar un check este muestre el valor donde esta el label al presionar aceptar

si se selecciona el check SI, solo mostrara SI
si se selecciona el check NO, solo se mostrara NO
si se seleccion ambos, mostrara los dos.

Button1
CheckBox1
CheckBox2
Label1

Podria usar la sentencia IF, pero no se como usarla con un CheckBox en Borland 7.0

Saludos

Ver imagen_1

Ver imagen_2
Responder Con Cita
  #2  
Antiguo 31-07-2007
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
Una posibilidad:

Código Delphi [-]
if CheckBox1.Checked and CheckBox2.Checked then
  Label1.Caption := 'Sí y No'
else if CheckBox1.Checked then
  Label1.Caption := 'Sí'
else if CheckBox2.Checked then
  Label1.Caption := 'No'
else
  Label1.Caption := '';

// Saludos
Responder Con Cita
  #3  
Antiguo 31-07-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Me parece asi:
Código Delphi [-]
  if CheckBox1.Checked = True then
   Begin
   Label1.Caption:= 'SI';
   end;
  if CheckBox2.Checked = True then
   Begin
    Label1.Caption:= 'NO';
   end;
   if CheckBox1.Checked and CheckBox2.Checked = True then
   Begin
   Label1.Caption:= 'SI y NO';
Supongo que funcionara, ultimamente no doy una.
Saludos
Responder Con Cita
  #4  
Antiguo 31-07-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Mucho mas simple y mejor tu codigo Roman.
Saludos
Responder Con Cita
  #5  
Antiguo 31-07-2007
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 es prácticamente lo mismo, sólo que comparar un booleano contra true o false es redundante.

// Saludos
Responder Con Cita
  #6  
Antiguo 31-07-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Todos los dias se aprende, siempre los he puesto True o False, no se de donde lo saque.
Saludos
Responder Con Cita
  #7  
Antiguo 31-07-2007
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
A ver, la sintaxis de un condicional es:

Código:
IF valor booleano THEN
  sentencia
Es decir, no necesariamente se trata de una igualdad entre dos valores, simplemente una expresión que sea cierta o false. Por ello, como CheckBox.Checked es un valor booleano, es todo lo que se requiere.

Cuando ponemos

Código:
IF P = Q THEN
  sentencia
se comparan P y Q y el IF recibe el resultado (true o false).

// Saludos
Responder Con Cita
  #8  
Antiguo 31-07-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Ahora lo entiendo, hice una prueba y funciona perfectamente, el problema lo tenia en el concepto, sobre todo en cuanto a no estar chequeado.
Lo ponia asi:
Código Delphi [-]
   if CheckBox1.Checked = False then
   Begin
   ADOQuery2.Close;
   ADOQuery3.Close;
Ahora asi:
Código Delphi [-]
   if not CheckBox1.Checked then
   Begin
   ADOQuery2.Close;
   ADOQuery3.Close;
Casi lo mismo, verdad
Saludos
Responder Con Cita
  #9  
Antiguo 31-07-2007
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Por cierto que tambien se pueden asigar comparaciones a un booleano:

Código Delphi [-]
  var Mayorquecero:Boolean;
     i:integer;

Begin
  I:=5;
  MayorqueCero := ( i > 0)

 If MayorqueCero Then ShowMessage('si es mayor que cero');

end;
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #10  
Antiguo 31-07-2007
Mick Mick is offline
Miembro
 
Registrado: may 2003
Posts: 405
Poder: 22
Mick Va por buen camino
Me aburro un pelin asi que propongo otra forma de hacerlo, mas escuenta y que utiliza menos codigo una vez compilado (y sin compilar). Eso si, un poco mas ofuscado:

Código:
const
 messages: array [0..3] of string= ( '' , 'Sí' , 'No', 'Sí y No' );
begin
 Label1.Caption:= messages[Integer(CheckBox1.Checked) + (Integer(CheckBox2.Checked) SHL 1)];
end;
O esta forma que en realidad es identica a la anterior:

Código:
const
 messages: array [0..1] of array [0..1] of string= (  ('' , 'No') , ('Sí', 'Sí y No') );
begin
 Label1.Caption:= messages[Integer(CheckBox1.Checked)][Integer(CheckBox2.Checked)];
end;
Saludos

Última edición por Mick fecha: 31-07-2007 a las 10:55:05.
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
Concatenar Cadena Larga dentro de codigo Delphi JoanKa Conexión con bases de datos 6 04-03-2005 17:53:44
¿como elegir que flash reproducir en una aplicacion Delphi? fenris78 Varios 2 25-02-2005 02:09:53
¿Que elegir? sinopsis Varios 6 30-01-2005 20:11:51
Elegir una Delphi o .NET REHome .NET 3 27-12-2004 16:15:09


La franja horaria es GMT +2. Ahora son las 21:48: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
Copyright 1996-2007 Club Delphi