Ver Mensaje Individual
  #3  
Antiguo 21-09-2006
Fingolfinmx Fingolfinmx is offline
Registrado
 
Registrado: sep 2006
Posts: 7
Reputación: 0
Fingolfinmx Va por buen camino
Smile

veo que e generado un poco de polemica... lo cual siempre es bueno, lo unico que necesitaba saber era la pregunta original, todo lo demas estaba resuelto. mi codigo queda asi al final de cuentas :


procedure Tfrmcaptura.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
contador:=contador+1;
if contador =7 then
begin
Perform(WM_NEXTDLGCTL, 0, 0);
contador:=1;
end
else
Begin
if ((contador mod 2)=0) and (contador>2) then begin
Edit1.Text:=Edit1.Text+'/';
Edit1.SelStart:=Length(Edit1.Text);
end;
end;
begin
if key=#13 then//Si presiona enter
BEGIN
numero:=edit1.text;
if ValidaFecha(numero) then
Perform(WM_NEXTDLGCTL, 0, 0)
else
begin
ShowMessage('La Fecha esta incompleta, debe contener 6 numeros');
edit1.text:='';
contador:=1;
end;
End;
if key=#32 then //Para Poder presionar Barra Espaciadora
else
if key=#8 then //Para Poder presionar Backspace (Borrar)
else
If not (key in ['0'..'9']) then
key:=#0;
end;
end;

// FUNCION PARA VALIDAR LA FECHA
function ValidaFecha(Numero:string):boolean;
var
rango :string;
i : integer;
begin
rango:='';
for i:=1 to Length(Numero) do
if Numero[i] in ['0'..'9'] then rango:=rango+Numero[i];
{Si no tiene 6 digitos, no es válido}
if (Length(rango)=6) then
Result:=True
else Result:=FALSE;
end;

// POR SI A ALGUIEN SE LE OCURRE VOLVER A CAPTURAR LA FECHA
procedure Tfrmcaptura.Edit1Click(Sender: TObject);
begin
edit1.text:='';
contador:=1;
end;

bueno... que les parece?? todo lo deduje leyendo sus diversos "posts". y la verdad me empieza a agradar bastante Delphi, gracias a personas como ustedes

Saludos
Responder Con Cita