FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Como validar el precio en un DBtext (Double)
Muy buenas a todos, trabajo con Delphi 7 i access y para la connexion utilizo los componentes ADO. Mi duda, ya dicha es que no se como validar i donde poner el codigo para que se valide un DBedit que contiene el precio que es un Double. Para saber si el precio que he insertado o modificado es correcto utilizo lo siguiente:
Entonces el codigo este previamente lo havia puesto en el evento de la tabla: BeforePost, pero al poner un numero(incorrecto) i cambiar de DBEdit me sale que el contenido no es un float. Espero que me puedan indicar donde poner el codigo anterior para una buena validacion y en caso de que haya alguna validacion mejor que me la puedan indicar. Muchas gracias de nuevo. PD: Ya he buscado en el foro pero no he encontrado nada. Tram. |
#2
|
|||
|
|||
dbtext y float
Master:
Te tira el error cuando la cifra es mayor de 999, puede ser que cuando lo pones no te reconoce bien el separador decimal o de miles. Usa en vez de StrToFloa FormatFloat(const Format: string; Value: Extended): string y yo talvez borraria los separadores de miles. Fijate... Bye Luis Roldan Mar del Plata Argentina |
#3
|
||||
|
||||
Si tu caso es el de separadores de miles y/o decimal, mira este hilo.
La causa, es que dicha validación se hace en el OnExit del DBedit, por tanto, es allí donde tendrías que realizarla. Si tienes varios DBEdits que funcionan así, puedes poner un ApplicationEvents, y allí (evento OnException) detectar la excepción concreta y mostrar tu mensaje, de esta forma, una sola validación te serviría para todos los dbedits. Un saludo. |
#4
|
|||
|
|||
Gracias por contestar, pero mi problema no es el de separacion si es por punto o por coma (eso creo yo, ya que si pongo un numero correcto con comas no se queja i graba perfectamente). Mi problema es validar si es un double o no. Ya que si en el DBedit pongo:
salta un error que es: 42,2,5 is not a valid floating point value for field 'preu' Entonce como he dixo antes para validarlo iba a utilizar (que no se si esta bien eso, ya que tampoco funciona):
Y lo havia puesto en el beforePost, pero al cambiar me salta ese error. Espero que me hayan entendido y que me haya explicado bien. Gracias de nuevo. Tram. Última edición por tramjauer fecha: 03-10-2005 a las 16:04:33. |
#5
|
|||
|
|||
Porque no lo implementas en el evento OnChange del field? incluso puedes usar StrToFloatDef..
|
#6
|
|||
|
|||
buenas de nuevo, lo he provado en el onExit del componente i en el onChage de del campo de la tabla i quando pongo el numero que anterior mente e puesto, ej: 41,,4 o el numero 41,33,4,
me sigue saliendo el mismo error, ya que se dispara antes el error que el evento. Gracias! Última edición por tramjauer fecha: 03-10-2005 a las 17:08:13. |
|
|
|