Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-07-2013
fuego149 fuego149 is offline
Registrado
NULL
 
Registrado: jul 2013
Posts: 2
Poder: 0
fuego149 Va por buen camino
cambiar la propiedad checked de varios CheckBox

Buenas.
Mi problema es, que nesecito colocar en false la propiedad Checked de varios (10) CheckBox que tengo en el formulario.
Gracias al buscador consegui 2 codigos es delphi que en teoria hacen lo que yo quiero pero al tratar de traducirlo a C++Builder6.0 no hace nada
Estos son los codigos que encontre
1)cortesia de: [Bicho]


Código Delphi [-]
Var
  i:Integer;
begin
  With Form do
  For i := 0 to ComponentCount - 1 do
    If Components[i].Tag in Tags then
      If Components[i] is TEdit then TEdit(Components[i]).Clear
      Else
        If Components[i] is TStaticText then TStaticText(Components[i]).Caption := ''
        Else
          If Components[i] is TComboBox then TComboBox(Components[i]).ItemIndex := -1
          Else
            If Components[i] is TListView then TListView(Components[i]).Items.Clear
            Else
              If Components[i] is TMaskEdit then TMaskEdit(Components[i]).Clear
              Else
                If Components[i] is TMemo then TMemo(Components[i]).Lines.Clear
                ELSE
                  if Components[i] is TCheckBox then TCheckBox(Components[i]).Checked:=false;


2)cortesia de:Chente(rMan)

Código Delphi [-]
procedure TfrmForma.LimpiarCheckBox;
var
Check: TcheckBox;
I: Integer;
begin
  for I := 0 to ComponentCount - 1 do
   if Components[i] is TCheckBox then
     begin
     Check := TCheckBox(Components[i]);
     Check.OnClick := nil;
     Check.Checked := False;
     Check.Enabled := True;
     end
end;

En mi Form tengo esto

Código:
int I;
TCheckBox *Check;

for (I = 0;I<=Form1->ComponentCount - 1;I++)
  {
   if (Form1->Components[i]->ClassNameIs("TCheckBox"))
    {
   Check=TCheckBox(Form1->Components[i]);  //aqui me sale el siguiente error 
//[C++ Error] Unit1.cpp(31): E2034 Cannot convert 'TCheckBox' to 'TCheckBox *' 
   Check->Checked=false;
    }
   }

Cambie el codigo por este
Código:
int I;

for (I = 0;I<=Form1->ComponentCount - 1;I++)
  {
   if (Form1->Components[i]->ClassNameIs("TCheckBox"))
    {
     TCheckBox(Form1->Components[i]).Checked=false;
    }
   }
Aqui el programa se ejecuta pero los CheckBox siguen igual

Alguien ve el error que estoy cometiendo al realizar la traduccion de lenguaje?
porque ya no se que hacer
Responder Con Cita
  #2  
Antiguo 14-07-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola fuego149, bienvenido a Club Delphi .

.h
Código:
...
class TForm1 : public TForm
{
...
private:	
  void __fastcall CheckBoxOnOff(const bool Checkup);
...
};
...
.cpp
Código:
...
void __fastcall TForm1:: CheckBoxOnOff(const bool Checkup)
{
  for(int i = 0; i < ComponentCount; i++)
    if (Components[i]->ClassNameIs("TCheckBox"))
      ((TCheckBox*)(Components[i]))->Checked = Checkup;
}
Llamada ejemplo:
Código:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  CheckBoxOnOff(false); // (o true )
}
Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 14-07-2013
fuego149 fuego149 is offline
Registrado
NULL
 
Registrado: jul 2013
Posts: 2
Poder: 0
fuego149 Va por buen camino
Muchas gracias por las correcciones ecfisa
Tu codigo me ha dado ideas para crear un procedimiento que limpie los componentes de una forma mas eficas y con menos lineas de codigo de las que tendria que usar si llamo a cada componente individualmente
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
Comprobar que todas las checkbox de un Groupbox estan checked David OOP 2 16-07-2008 00:31:52
Problema con propiedad TRadioButton.Checked en Runtime vejerf OOP 4 06-06-2008 17:09:44
Cambiar el estado de un RadioButton......"Checked o no Checked" chileno Varios 3 29-04-2006 22:34:18
Como cambiar una propiedad en varios componentes a la vez!! ilichhernandez OOP 2 13-11-2005 22:16:51
Propiedad Checked de TCheckBox FunBit OOP 4 05-09-2005 10:53:06


La franja horaria es GMT +2. Ahora son las 18:29:04.


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