Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-08-2007
Avatar de arespremium
arespremium arespremium is offline
Miembro
 
Registrado: jul 2007
Posts: 48
Poder: 0
arespremium Va por buen camino
uso CheckBox con 3 opciones

Mi formulario
ver imagen

al marca una casilla muestre en el label el resultado al darle click en el boton

opcion 1
opcion 2
opcion 3

ejemplo:
se marca una casilla: "opcion 1"
se marca dos casilla y dira en el label: "opcion 1 , opcion 2"
se marca tres casillas: "opcion 1 , opcion 2 , opcion 3"

es eso

este codigo es un boceto
Código:
procedure TForm1.Button1Click(Sender: TObject);
begin
if CheckBox1.Checked and CheckBox2.Checked
Label1.Caption := 'opcion 1' , 'opcion 2'
if CheckBox1.Checked or CheckBox2.Checked
Label1.Caption := 'opcion 1'
end;

Última edición por arespremium fecha: 25-08-2007 a las 03:28:39.
Responder Con Cita
  #2  
Antiguo 25-08-2007
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
puedes definir una variable paso

vPaso : String;
vPaso := ' ';
if Opcion1.Cheked= True Then vPaso := Concat(vPaso,' Opcion1 ');
if Opcion2.Cheked= True Then vPaso := Concat(vPaso,' Opcion2 ');
if Opcion3.Cheked= True Then vPaso := Concat(vPaso,' Opcion3 ');

label1.caption := vPaso;


puede k tenga algun error... pero lo hice de memoria
__________________
BlueSteel
Responder Con Cita
  #3  
Antiguo 25-08-2007
Caray Caray is offline
Miembro
 
Registrado: abr 2006
Posts: 61
Poder: 19
Caray Va por buen camino
Una Respuesta no muy Buena

Pues mira Arespremium, lo que yo te puedo recomendar sin saber mucho y con mucho codigo, sería esto:
Hacer un if para todos los caso:
if((opcion1.cheked=true) AND (opcion2.cheked=true) AND (opcion3.cheked=true)) then
label1.caption:= 'opcion1, opcion2 y opcion3';
Y asi para todos
pero como te digo es mucho codigo.
__________________
La inteligencia me persigue, pero yo soy más rápido que ella.
Responder Con Cita
  #4  
Antiguo 25-08-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Haber que te parece esto:

Código Delphi [-]
 
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;
 
type
  TForm1 = class(TForm)
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    Label1: TLabel;
    Button1: TButton;
    procedure CheckBox1Click(Sender: TObject);
    procedure CheckBox2Click(Sender: TObject);
    procedure CheckBox3Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  Check1,Check2,Check3: String;
 
implementation
 
{$R *.DFM}
 
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
  If CheckBox1.Checked = True then
     Check1 := 'Opción 1'
  else Check1 := '';
end;
 
procedure TForm1.CheckBox2Click(Sender: TObject);
begin
  If CheckBox2.Checked = True then
     Check2 := 'Opción 2'
  else Check2 := '';
end;
 
procedure TForm1.CheckBox3Click(Sender: TObject);
begin
  If CheckBox3.Checked = True then
     Check3 := 'Opción 3'
  else Check3 := '';
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  Label1.Caption := Check1+' '+Check2+' '+Check3
end;
 
end.

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #5  
Antiguo 26-08-2007
CoCaInE CoCaInE is offline
Miembro
 
Registrado: nov 2005
Posts: 66
Poder: 19
CoCaInE Va por buen camino
Smile

[quote=BlueSteel;226030]puedes definir una variable paso

vPaso : String;
vPaso := ' ';
if Opcion1.Cheked= True Then vPaso := Concat(vPaso,' Opcion1 ');
if Opcion2.Cheked= True Then vPaso := Concat(vPaso,' Opcion2 ');
if Opcion3.Cheked= True Then vPaso := Concat(vPaso,' Opcion3 ');

label1.caption := vPaso;


Creo que va mejor como dice nuestro companero Blue Steel otra opcion seria usar los If anidados Ej:

vPaso : String;
vPaso := ' ';
if Opcion1.Cheked Then
vPaso :=Opcion1
Else if Opcion2.Cheked Then
vPaso := vPaso+Opcion2
Else if Opcion3.Cheked Then
vPaso+Opcion3;
label1.caption := vPaso;
Responder Con Cita
  #6  
Antiguo 26-08-2007
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
En realidad, la opción que muestra egostar es la más certera. Ofrece un mejor dinamismo y una mayor comprensión. La lógica está correctamente distribuída y no concentrada en un solo punto. Y si observan bien el código de egostar, a pesar de ser simple, puede ser mejorado. Hay un denominador común en el código y puede aprovecharse los "eventos compartidos" para reducirlo.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
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
Opciones en Paradox CARSOFT_AR Tablas planas 1 24-06-2005 21:01:25
Opciones en Componente diegofhernando OOP 1 29-06-2004 15:39:09
Opciones de Parent pepelu1975 OOP 7 26-05-2004 18:35:36
Opciones de impresion en QReport pablo Impresión 1 11-05-2004 02:56:13


La franja horaria es GMT +2. Ahora son las 01:53:38.


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