Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-06-2006
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 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
  #2  
Antiguo 06-06-2006
celades1 celades1 is offline
Miembro
 
Registrado: ago 2005
Posts: 116
Poder: 19
celades1 Va por buen camino
Hola

Yo para lo que tu quieres yo utilizo el evento onsettetx ya que hace la comprobacion justo antes de captar el valor el field

Código Delphi [-]
procedure TFDades_Assentament.AssentamentDATASetText(Sender: TField;const Text: String);
begin
  if trim(text)<>'' then 
  try 
   sender.AsDateTime:= strtodate(text);
  except
   ShowMessage('Formato de Fecha Incorrecta'); 
  end;
end;


Saludos
Responder Con Cita
  #3  
Antiguo 06-06-2006
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Miles y miles de gracias celades1, es justo lo que necesitaba

Saludos
__________________
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
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
como validar en el evento onvalidate con numeros... uper Varios 1 25-10-2005 20:06:49
OnValidate .. No funciona en IB? PINO72 Firebird e Interbase 4 12-04-2005 16:15:17
Onvalidate Como se usa servicomp Conexión con bases de datos 1 16-02-2005 04:46:05
OnValidate javiermorales OOP 5 13-11-2003 15:52:52
OnValidate y Foco javiermorales OOP 9 21-05-2003 08:10:16


La franja horaria es GMT +2. Ahora son las 12:52:06.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi