Pregunta: | 5086 - UN CONTROL OCX PARA CAPTURAR DATOS TIPO MONEDA |
Autor: | Pedro Padilla Gaytán |
Que tal, quisiera ver va posibilidad de que alguien me dijera de un control OCX gratuito, que me sirva para capturar y formatear cifras numericas, como dinero. Es que he tratado con le MaskEditBox del Visual Basic 6.0 y como que tiene detallitos que no me gustan y me generan algunos errores. Agradeceria de mucho si alguien me pudiera ayudar. |
Respuesta: | Daniel Morin |
Yo tengo un ocx que te puede facilitar la existencia, o en su defecto te puedo pasar una función que al respecto tuve que realizar antes de encontrar el ocx , mandame un mail y con gusto te lo envio junto con un ejemplo. |
Respuesta: | Bases de Datos Sistemas C.A. |
Saludos este problema lo resuelves sin necesidad de un control, con hacer una funcion de validacion para la moneda y colocando en el evento chanqe del textbox, nosotros tenemos una funcion pero en este momento no lo anexo porque no estoy en la oficina pero si la necesitas escribenos y te la enviamos sin embargo te doy mas o menos una idea.
' es importante resaltar que es necesario que en la configuracion regional la moneda y los numero ' tengan el mismo separador porque en la base de datos si son distintos dan problemas desde el ' punto de vista que que en vez de guardarse como miles se guardan como unidad y decimales sub textbox_change() validacion(textbox) end sub sub validacion(text as textbox) ' te recuerdo que los valores en VB son por referencia al menos que indiques lo contrario por lo tanto se va actualizar automaticamente dim num ' esta variable se le colocara un cantidad de miles para saber quien es el separador de miles y decimales dim lon ' esta variable es para la longitudad de la cadena num=formatnumber(num,2) ' esta funcion toma del windows los separadores POR EJEMPLO: 4000= 4.000,00 ' de aqui en adelante no recuerdo pero te lo doy en seudocodigo 'tomar la 3 posicion de derecha a izquierda: creo que es rigth(num,3,1) con esto tiene el separado decimal 'tomar la 2 posicion de izquierda a derecha: creo que es left(num,2,1) con esto tiene el separado miles lon=len(text.text) for i = 1 to lon recorre la cadena(cadena,i,1) ' esta funcion esta con este formato pero no recuerdo ' y validas si entonces break next end sub www.bdsca.com |