Ver Mensaje Individual
  #1  
Antiguo 13-07-2013
fuego149 fuego149 is offline
Registrado
NULL
 
Registrado: jul 2013
Posts: 2
Reputación: 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