Ver Mensaje Individual
  #5  
Antiguo 23-12-2009
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 913
Reputación: 23
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Otra solucion...Yo utilizo esta forma.

El unico pero, es que en la llamada tienes que incluir el vector de todos los controles que deseas evaluar (Ejemplo 2). Al final creo que es mejor te da mas control.

Código Delphi [-]
type
  TForm1 = class(TForm)
    ComboBox1: TComboBox;
    Edit1: TEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    Procedure CheckControl(Sender:TObject);overload;
    Procedure CheckControl(Sender:Array Of TObject);overload;
  end;

Procedure TForm1.CheckControl(Sender:TObject);
begin
     If (Sender Is TComboBox) Then
        If TComboBox(Sender).Text='' Then
           TComboBox(Sender).Color:=clRed;

     If (Sender Is TEdit) Then
        If TEdit(Sender).Text='' Then
           TEdit(Sender).Color:=clRed
end;

Procedure TForm1.CheckControl(Sender:Array Of TObject);
Var
     i:Integer;
Begin
     For i:=Low(Sender) To High(Sender) Do
         CheckControl(Sender[i]);
End;

procedure TForm1.Button1Click(Sender: TObject);
begin
     //Ejemplo 1: Es llamada con un objeto.
     //CheckControl(ComboBox1);

      //Ejemplo 2: Es llamada con un vector de controles.
     CheckControl([ComboBox1,Edit1]);
end;
Responder Con Cita