![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Al ser un DBEdit, estará asociado a un dataset y en este se puede realizar la validación que buscas en el evento OnValidate del campo "precioc_prod".
Si no tienes persistentes los campos en el dataset, sería agregarlos en tiempo de diseño. Y esto te daría la opción de establecer el código de ese evento.
__________________
Buena caza y buen remar... http://mivaler.blogspot.com |
|
#2
|
||||
|
||||
|
Hola.
Una opción es interceptar el evento OnSetText del campo asociado que se dispara cada vez que se recibe un nuevo valor pero antes de ser asignado. Por ejemplo, si el campo asociado al DBEdit se llamase "Numero":
Saludos ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
#3
|
|||
|
|||
|
Traté con tu código, en lo que equivaldría a c++ builder, pero me arroja error en la línea donde creas la excepción, que creo q eso es lo que necesito, de casualidad no sabes el código para el C builder? O qué es lo que estaría haciendo mal yo?
Código:
void __fastcall Tdmquerys::qdetdetallespreciov_prodSetText(TField *Sender, const UnicodeString Text)
{
Extended e;
if(!(TryStrToFloat(fdetprod->dbedetpc->Text, e))){
//La excepción raise Exception.Create( 'No es un número decimal válido' );
}
}
Gracias por responder |
|
#4
|
||||
|
||||
|
Hola.
No tengo C++ Builder en este momento pero intenta de este modo: Código PHP:
![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
#5
|
||||
|
||||
|
Hola de nuevo.
Y en tu código podes usar el parámetro Text directamente: Código PHP:
![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
#6
|
|||
|
|||
|
Una duda más, que pasaría en el else? O cúal sería la sentencia que controla lo que pasa si es q la condición if ( !( TryStrToFloat( Text, e ) ) ) de resultado Falso? Es decir, cuál sería el código q indique que....."El dbeedit se llena normalmente"?
|
|
#7
|
||||
|
||||
|
Hola.
Si TryStrToFloat devuelve verdadero ( el numero es correcto ) continúa con el flujo del programa, en caso contrario lanza la excepción. Saludos ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
#8
|
|||
|
|||
|
Cita:
Genio!!!! Si, me ha resultado, eso era lo que estaba necesitando, muchas gracias void __fastcall Tdmquerys::qdetdetallesprecioc_prodSetText(TField *Sender, const UnicodeString Text) Código:
{
Extended e;
if(!(TryStrToFloat(fdetprod->dbedetpc->Text, e))){
throw Exception( "No es un número decimal válido" );
}
Gracias y saludos ![]() |
|
#9
|
|||
|
|||
|
Cita:
A qué te refieres con campos "persistentes"? Investigando me topé con ese término, pero no encontré info.....entendible jeje |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| asignar contenido de un DBedit a otro DBedit | Richardn | Varios | 4 | 29-11-2012 17:06:03 |
| Edición de IP | FerCastro | Varios | 2 | 10-03-2007 00:46:59 |
| Edición de un DBGRID | luxus | Conexión con bases de datos | 1 | 13-02-2007 11:34:26 |
| Como puedo cambiar la propiedad de edicion y no edicion a un StringGrid1 | ctronx | Varios | 2 | 25-06-2004 23:10:19 |
|