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.