Ver Mensaje Individual
  #2  
Antiguo 29-11-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 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
Cita:
Les explico mi idea, tengo un form con edit1, edit2, edit3, edit4 los dos primeros se llenan con letras y los otros dos con números, quiero que el usuario llene los cuatro edits y luego cuando termine de llenarlos a todos presione el button Guardar y recién entonces se ejecute el código de validación. Y si se equivoco en el llenado de algún edit aparezca un mensaje de error, por ejemplo "En el edit1 debe ir solo letras".
Hola Lucas.

Aunque no me parece la mejor opción, podés hacerlo de este modo:
Código Delphi [-]
...
implementation

type
  TValidChar = set of Char;

function ValidarEdit(AEdit: TEdit; ValidChar: TValidChar): Boolean;
var
  i: Integer;
begin
  Result:= True;
  for i:= 1 to Length(AEdit.Text) do
    if not(UpCase(AEdit.Text[i]) in ValidChar) then Result:= False;
end;

procedure TForm1.btnGuardarClick(Sender: TObject);
begin
  if not ValidarEdit(Edit1, ['A'..'Z', 'Ñ']) then
  begin
    ShowMessage('En Edit1 deben ir solo letras');
    Edit1.SetFocus;
    Exit;
  end;
  if not ValidarEdit(Edit2, ['A'..'Z', 'Ñ']) then
  begin
    ShowMessage('En Edit2 deben ir solo letras');
    Edit2.SetFocus;
    Exit;
  end;
  if not ValidarEdit(Edit3, ['0'..'9']) then
  begin
    ShowMessage('En Edit3 deben ir solo números');
    Edit3.SetFocus;
    Exit;
  end;
  if not ValidarEdit(Edit4, ['0'..'9']) then
  begin
    ShowMessage('En Edit4 deben ir solo números');
    Edit4.SetFocus;
  end;
  ...
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita