Pregunta: | 8120 - MASCARAS DE EDICION |
Autor: | Mariano Birba |
Buenas Tardes.
Quisiera que me recomienden mascaras de edicion para datos como importes, porcentajes, etc. Considero que el Mask Edition de Visual es una porqueria. Muchas Gracias |
Respuesta: | Xavi |
Hola Mariano, aqui te adjunto dos funciones que realice para ello...
'************************************************** '* InsertarPuntosMiles 12/07/99 * '* Inserta los puntos de miles en un valor * '* numerico. Detecta la coma de separación de * '* decimales * '* * '* Deve recibir el numero en formato string * '* * '* Devuelve el numero en formato string * '************************************************** Function InsertarPuntosMiles(Cadena As String, Pesetas1_Euros2 As Integer) As String Dim i As Long If Len(Cadena) = 0 Then InsertarPuntosMiles = "0" Exit Function End If Cadena = EliminarPuntosMiles(Cadena) 'colocamos las comas de los miles y punto de decimales If Pesetas1_Euros2 = 2 Then 'Mostrar Euros Cadena = Format(CCur(Cadena), "#,##0.000") Else 'Mostrar Pesetas Cadena = Format(CCur(Cadena), "#,##0") End If InsertarPuntosMiles = Cadena End Function '************************************************** '* EliminarPuntosMiles 12/07/99 * '* Elimina los puntos de miles en un valor * '* numerico. Detecta la coma de separación de * '* decimales. * '* * '* Deve recibir el numero en formato string * '* * '* Devuelve el numero en formato string * '************************************************** Function EliminarPuntosMiles(Cadena As String) As String Dim Posicion As Long Do Posicion = InStr(Cadena, ".") If Posicion <> 0 Then Cadena = Left(Cadena, Posicion - 1) & Right(Cadena, Len(Cadena) - Posicion) Loop While Not Posicion = 0 EliminarPuntosMiles = Cadena End Function En el evento GotFocus, tienes que colocar: text1.Text = EliminarPuntosMiles(txtPesetas.Text) En el evento LostFocus, tienes que colocar: text1.Text = InsertarPuntosMiles(txtPesetas.Text, 1) |