Ver Mensaje Individual
  #10  
Antiguo 16-08-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.110
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

A riesgo de ser "pedante" o de no aportar nada en absoluto (cualquiera de estas cosas pueden ser) prepararía una función "EmptyTextProperty" tal que esta:

Código Delphi [-]
function EmptyTextProperty(controls:
 array of TWinControl): boolean;
var
  i: integer;
  buffer: array [0..MAX_PATH] of char;
begin
  result := false;
  for i := Low(controls) to High(controls) do begin
    GetWindowText(controls[i].Handle,buffer,Length(buffer));
    if (Trim(buffer) = EmptyStr) then begin
      result := false;
      break;
    end
    else
      result := true;
  end;
end;

De modo que podrías usarla tal que así:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  if EmptyTextProperty([ then
    DBEdit7,
    DBEdit14,
    DBEdit15,
    DBEdit13,
    DBComboBox2,
    DBLookUpComboBox5,
    DBLookUpComboBox6,
    DBLookUpComboBox7,
    DBLookUpComboBox8,
    DBLookUpComboBox1
  ]) then begin
    // Ningún control tiene su propiedad "Text" vacía
  end else begin
    // Algún control tiene su propiedad "Text" vacía
  end;
end;

Aunque para mi gusto esos controles deberían tener un nombre descriptivo, un identificador que los identificase. De ese modo creo que las cosas quedarían bastante más claras. A modo de ejemplo:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  if EmptyTextProperty([ then
    dbcbPais,
    dbedNombre,
    dbedCiudad,
    dbedApellidos,
    dbcbProvincia,

    { Resto de controles }

  ]) then begin
    // Ningún control tiene su propiedad "Text" vacía
  end else begin
    // Algún control tiene su propiedad "Text" vacía
  end;
end;

En fin. No sé si te valdrá de algo o te darán ganas de mandarme allí donde cristo dio las tres voces, pero, bueno, ahí queda.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita