Ver Mensaje Individual
  #1  
Antiguo 06-06-2006
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Reputación: 22
Caro Va por buen camino
onValidate de un campo (Excepciones)

Hola a todos

Quisiera poder validar dos campos de mi debgrid uno es el precio de tipo float y el otro es la fecha de tipo date, he leido hilos referente a esto y he hecho muchas pruebas pero aun no me funciona, estoy desesperada les agradeceria un monton a todos los que pudieran ayudarme.

Hice las siguientes pruebas

Código Delphi [-]
type
  EFecha = class(Exception)
....
 
procedure TCompras.qryfechaValidate(Sender: TField);
var
  fch: TDateTime;
begin
  if  not TryStrToDate(Sender.AsString,fch) then
  begin
    raise EFecha.Create('Fecha Incorrecta');
  end
end;

tambien he probado estos otros dentro del evento onValidate del campo fecha

Código Delphi [-]
   try
      StrToDate(Sender.AsString);
   except
      on exception do ShowMessage('Fecha Incorrecta');
   end;

Código Delphi [-]
   try
      StrToDate(Sender.AsString);
   except
      on EConvertError do ShowMessage('Fecha Incorrecta');
      else
          ShowMessage('Fecha Incorrecta'); 
   end;

en todos estos casos si borro todo lo que hay en la celda del dbgrid donde esta la fecha y salgo a otra celda se lanza mi excepción y me saca el mensaje de 'fecha incorrecta' pero si escribo digamos 54 que no llegaria a ser una fecha me saca este mensaje

'54' is not a valid date and time

y yo quiero que me saque el mensaje que he puesto pero nose porque no lo saca he probado de las formas que puse arriba y nada de nada que funciona en este caso, que estoy haciendo mal me pueden orientar por favor.

Y en el caso del precio con lo siguiente

Código Delphi [-]
   try
      StrToCurr(Sender.AsString);
   except
      on exception do ShowMessage('Precio Incorrecto');
   end;

si escribimos 45,,57 el error serian las dos comas y tampoco veo el mensaje que yo pongo sino lo siguiente.

45,,57 is not a valid floating point value for field 'precio'

como le hago para que salgan mis mensajes en estos casos.

Delphi7, Access

Saludos y que tengan un bonito dia
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita