• Lunes 23 de Diciembre de 2024, 03:31

Autor Tema:  Format "mask Edit"  (Leído 2465 veces)

irma3030

  • Nuevo Miembro
  • *
  • Mensajes: 17
    • Ver Perfil
Format "mask Edit"
« en: Domingo 29 de Febrero de 2004, 22:20 »
0
Hola

 
 El dato  es 524/012/04 en TextBox pero, yo capturo este carácter ( /) , hay algún código para no capturar este carácter.  Realmente mi duda es  Si el componente  MASK EDIT  de VB Ver. 6.0 puede funcionar pARA  esto, y cómo?.  
 
  Muchas gracias por su atención

Jose Arriagada

  • Miembro MUY activo
  • ***
  • Mensajes: 373
    • Ver Perfil
Re: Format "mask Edit"
« Respuesta #1 en: Lunes 1 de Marzo de 2004, 21:50 »
0
Prueba las propiedades format y mask del control maskedit, con ello te puedes ahorrar "n" trabajo.

elmango80

  • Miembro MUY activo
  • ***
  • Mensajes: 149
  • Nacionalidad: ve
    • Ver Perfil
Re: Format "mask Edit"
« Respuesta #2 en: Martes 2 de Marzo de 2004, 12:16 »
0
Si entendi bien tu problema es que necesitas que el usuario introduzca "524/012/04" en el campo, pero que el sistema lo tome como "52401204". Si esto es asi entonces puede utilizar el Masked Edit para esto, lo unico que tienes que hacer es establecer las propiedades Mask y PrompInclude la primera determina la máscara de entrada para el control y la segunda especifica si los caracteres para solicitar datos están contenidos en el valor de la propiedad Text.

Código: Text
  1.  MaskEdBox1.Mask = "999/999/99"
  2.  MaskEdBox1.PromptInclude = False
  3.  

Si necesitas que te explique algo mas de las propiedades con gusto lo hare.
Citar
No soy bueno, tampoco soy malo sino todo lo contrario...

irma3030

  • Nuevo Miembro
  • *
  • Mensajes: 17
    • Ver Perfil
Re: Format "mask Edit"
« Respuesta #3 en: Miércoles 3 de Marzo de 2004, 03:26 »
0
Cita de: "Jose Arriagada"
Prueba las propiedades format y mask del control maskedit, con ello te puedes ahorrar "n" trabajo.

Hola:

En VBA,  ya asignar una mascara para introducir datos en un campo, en tiempo de ejecucion y quiero guardar el formato de la mascara y el dato, pero no guarda el dato sale error (Data1.Recordset.Update) y no se como hacerle:

Porpiedad Mask:###/## =1235/04
Propiedad Format: ###/##

MaskEdBox1 quiza en este evento hace falta algun codigo
 

Gracias por tu atencion prestada.

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: Format "mask Edit"
« Respuesta #4 en: Jueves 4 de Marzo de 2004, 15:45 »
0
Hola irma3030.

No se si capto muy bien tu problema... entiendo que a partir de un texto de un textbox quieres almacenar por un lado un valor numérico y por otro la posición de cierto carácter (en tu caso /). Para hacer esto se me ocurre algo así:

Utilizaría un  textbox corriente y moliente, y presupongo que la posición en la puede aparecer el carácter / es variable, así como el número de veces que aparecerá.

Imagina un formulario con dos TextBox: uno (Text1) recogería la entrada del usuario, otro (Text2), mostrará la reconstrucción de la entrada del usuario. Dos CommandButton, uno almacena la entrada del usuario, y otro la reconstruye...

Código: Text
  1.  
  2. Option Explicit
  3.  
  4. Private dblValor As Double
  5. Private strPos As String
  6.  
  7. Private Sub Text1_KeyPress(KeyAscii As Integer)
  8.    
  9.     ' Chr(47)="/" , Chr(48) al Chr(57)="0123456789"
  10.     If KeyAscii < 47 Or KeyAscii > 57 Then KeyAscii = 0
  11.  
  12. End Sub
  13.  
  14. Private Sub Command1_Click()
  15.    
  16.     dblValor = Val(Replace(Text1.Text, "/", ""))
  17.     strPos = ""
  18.    
  19.     Dim int1 As Integer, intIdx As Integer
  20.     int1 = InStr(int1 + 1, Text1.Text, "/")
  21.     Do While int1 > 0
  22.         strPos = strPos & int1 & ","
  23.         int1 = InStr(int1 + 1, Text1.Text, "/")
  24.     Loop
  25.     int1 = Len(strPos)
  26.     If int1 > 0 Then strPos = Left(strPos, int1 - 1)
  27.    
  28.     MsgBox "Almacenar " & dblValor & " por un lado" & vbCrLf _
  29.     & "y " & strPos & " por otro"
  30.    
  31. End Sub
  32.  
  33. Private Sub Command2_Click()
  34.    
  35.     Dim var1 As Variant
  36.     var1 = Split(strPos, ",")
  37.     Dim int1 As Integer, str1 As String, str2 As String
  38.     str1 = CStr(dblValor)
  39.     For int1 = 0 To UBound(var1)
  40.         str1 = Left(str1, var1(int1) - 1) & "/" & Mid(str1, var1(int1))
  41.     Next int1
  42.     Text2.Text = str1
  43.    
  44. End Sub
  45.  
  46.  

Mira el código y saca tus conclusiones, la imaginación es una herramienta de programación muy poderosa...

Suerte.