FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
DBgrid calcular en campo
Hola, estimados tengo una duda como hacer que en un campo de tipo numerico de un DBGrid pueda realizar una operacion aritmetica por ejemplo al editar el campo, introducir una operacion aritmerica por ejemplo ((10*5)-3)/2 y al salir que al salir solo que de el valor calculado.
Lo que hice fue añadir un componente Tedit al DBGrid sobreponiendo la casilla y recuperando el valor del campo y posteriormente puedo ingresar la formula pero tengo problemas al salir del edit no me asigna el valor calculado o al ingresar al modo de edicion. incorpore la unidad CalcExpress que le permite calcular de la expresion o que componente puedo usar adjunto lo que hice o quitare los componentes que no estoy estan usando para temer una mejor vision para ver donde esta el problema http://terawiki.clubdelphi.com/Test/DBGrid con funciones.rar muchas gracias por su colaboracion |
#2
|
||||
|
||||
Hola CrazySoft.
Usa el evento OnGetText del TField correspondiente. En tu caso sería algo parecido a esto: Presupuse que la función Tu_Funcion_CalcularExpresion devuelve un valor tipo flotante, de retornar una cadena, es innecesario usar la función FloatToStr. Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#3
|
|||
|
|||
Gracias ecfisa
hice lo que me dijiste pero aun tengo problemas, puse el valor de 2+2-1 y da error "2+2-1 no es valor de coma flotante ..." y tampoco me permite ingresar / o * en el campo el campo que estoy usando es de tipo real hice la prueba con un campo de tipo texto y me funciono bien, pero mi problemas es que lo necesito que sea numerico asi esta mi codigo, que podria hacer????
Gracias |
#4
|
||||
|
||||
Hola CrazySoft.
Acabo de hacer esta prueba sobre un campo numérico (DOUBLE PRECISION de Firebird), y tál como pensaba funciona bién. El tratamiento dentro de la función CalcularExpresion no tiene importancia ya que ambas (la tuya y la mía de prueba) reciben una cadena de caracteres y devuelven un número real. Desconozco que DBMS estes usando pero proba cambiando el modo de enviar el argumento a CalcularExpresion por: o por:
Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#5
|
|||
|
|||
hola ecfisa, mira sigo con el problema el error me sale antes del GetText, y no pe permite ingresar * o / en el DBGrid,
estoy usando D6 y Access para el ejemplo y tambien probe con FB , y me sa el mismo error
adjunto el ejemplo que estoy hacendo Gracias, por la ayuda |
#6
|
||||
|
||||
Hola CrazySoft.
No me había percatado que podías ingresar caracteres como: *,/,+,-,^, etc. Entonces no creo que puedas hacerlo en un campo numérico, me parece que vas a tener que usar uno alfanumérico (ftString). Algo como:
Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#7
|
|||
|
|||
gracias ecfisa, por la colaboracion seguire intentando solucionar el problema que tengo, ya esta casi pero no me gusta algunos asunto de funcionalidad
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
¿Como calcular un campo basado en otro campo de otra fila (registro)? | AzidRain | MySQL | 9 | 19-12-2011 11:34:42 |
calcular campo | josi | Varios | 1 | 22-08-2008 18:20:43 |
TQuery y calcular campo | HombreGordo | Conexión con bases de datos | 13 | 08-08-2008 17:51:25 |
Calcular el total de un campo | efelix | MS SQL Server | 2 | 16-01-2007 23:56:11 |
Calcular Campo calculado solo una vez | mambo5cu | Tablas planas | 3 | 16-03-2005 22:38:59 |
|