SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: Javoche en Miércoles 20 de Julio de 2005, 06:54

Título: Caja De Texto Numeric Con Punto Decimal
Publicado por: Javoche en Miércoles 20 de Julio de 2005, 06:54
Hola:

Para una aplicacion que estoy haciendo necesito una caja numerica, que acepte solo un punto decimal, el codigo que tengo es el sig:

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii <> 8 Then
    If KeyAscii <> Asc(".") Then
        If Text1 = "" Then
            If KeyAscii < Asc("1") Or KeyAscii > Asc("9") Then
                KeyAscii = 0
            End If
        Else
            If KeyAscii < Asc("0") Or KeyAscii > Asc("9") Then
                KeyAscii = 0
            End If
        End If
    End If
End If
End Sub

Agradezco su ayuda. B)
Título: Re: Caja De Texto Numeric Con Punto Decimal
Publicado por: Soultaker en Miércoles 20 de Julio de 2005, 06:59
Tambien podrias usar un EditMask
Título: Re: Caja De Texto Numeric Con Punto Decimal
Publicado por: toten en Miércoles 20 de Julio de 2005, 14:43
pana un consejo men acostunbrate a usar el tab para que la estructura de tus code se entienda mas facilmente!!! y dime que es lo que quieres o necesitas con exactitud
Título: Re: Caja De Texto Numeric Con Punto Decimal
Publicado por: solcito en Miércoles 20 de Julio de 2005, 14:45
Como dijo Soultaker! El control se llama MaskEdBox y en las propiedades le puedes indicar el formato, es muy simple de usar!

Saludos  :hola:
Título: Re: Caja De Texto Numeric Con Punto Decimal
Publicado por: Bebecita en Miércoles 20 de Julio de 2005, 19:15
Si quieres seguir usando tu codigo agregale esta linea. En este caso solo te permite  introducir en el TextBox una sola  coma (,)  como separador decimal

If KeyAscii = 44 And (InStr(Text1.Text, Chr(KeyAscii)) <> 0) Then KeyAscii = 0
Título: Re: Caja De Texto Numeric Con Punto Decimal
Publicado por: Javoche en Miércoles 20 de Julio de 2005, 22:35
Muchas Gracias por sus consejos a Solcito y a Soultaker, lo que necesitaba era una Textbox normal donde se escribiera un solo punto decimal y numeros, lo del MaskEdBox ya lo había pensado, pero lo que esoty haciendo es un trabajo para mi escuela, y el profesor quería una caja de texto y no otro objeto.

Bebesita, me salvaste el pellejo, agregue tu codigo con el mio y funciono perfectamente, ahora lo muestro siguiendo los consejos de Toten en lo que respecta al Tab:

Código: Text
  1. Private Sub TxtSalario_KeyPress(KeyAscii As Integer)
  2. If KeyAscii &#60;&#62; 8 Then
  3.      If KeyAscii = 46 And (InStr(TxtSalario.Text, Chr(KeyAscii)) &#60;&#62; 0) Then
  4.             If TxtSalario = &#34;&#34; Then
  5.                  If KeyAscsii &#60; Asc(&#34;1&#34;) Or KeyAscii &#62; Asc(&#34;9&#34;) Then
  6.                  KeyAscii = 0
  7.                  Beep
  8.                  End If
  9.             Else
  10.                  If KeyAscii &#60; Asc(&#34;0&#34;) Or KeyAscii &#62; Asc(&#34;9&#34;) Then
  11.                  KeyAscii = 0
  12.                  Beep
  13.                  End If
  14.             End If
  15.        End If
  16. End If
  17. End Sub
  18.