ayuda con un textbox o con MaskEdBox(Resuelto)

Iniciado por satan69, 20 Enero 2007, 22:47 PM

0 Miembros y 2 Visitantes están viendo este tema.

satan69

hola muchachos.. es que els tengo una consulta....

necesito hacer en un textbox o MaskEdBox lo siguiete...

cuando el usuario escriba su cedula algo asi   123-123456-1234G
.. pero la pregunta es como puedo poner condicionar que solo las primeras sean numero y el ultimo que sea letra...


soplo

Mira como se hacen las máscaras en un maskedbox. Solo tienes que mirar la ayuda.
Callar es asentir ¡No te dejes llevar!

necroCODE

Hola satan69, si estas programando con Visual Studio .NET, lo unico que tienes que hacer es definir la propiedad Mask del control MaskedTextBox de la siguiente manera:

000-000000-0000L

donde los ceros indica que seran datos numericos y la letra "L" que seran letras.

PDT: supongo que sera lo mismo para la version en VB 6.0 de dicho control.

Hans el Topo

#3
Cita de: soplo en 20 Enero 2007, 23:03 PM
Mira como se hacen las máscaras en un maskedbox. Solo tienes que mirar la ayuda.

benditos los ojos que te ven xD

puedes hacerlo con format también
 

satan69

Cita de: necroCODE en 20 Enero 2007, 23:52 PM
Hola satan69, si estas programando con Visual Studio .NET, lo unico que tienes que hacer es definir la propiedad Mask del control MaskedTextBox de la siguiente manera:

000-000000-0000L

donde los ceros indica que seran datos numericos y la letra "L" que seran letras.

PDT: supongo que sera lo mismo para la version en VB 6.0 de dicho control.


pues fijate que asi no se puede... lo que estuve provando es lo siguiente ... lo puse asi ###-######-####0 ... el detalle es el cero.. que sale siempre cero...  y en ves de cero sea un letra... alguien que sepa pues que me ayude... y gracias ñlps que me contestarpn

soplo

A ver

Lo que puso necrocode está bien. La cosa está en si el dígito debe mostrarse obligatoriamente o no en caso de que sea cero.

Hay situaciones en las cuales quieres mostrar el dígito solo si es necesario para describir úna cantidad o lo que sea, y otras en las que no quieres.

Así por ejemplo para pedir un precio con dos decimales yo pondría
maskedbox1.mask="###,###0.00"
Lo cual indica que se muestre obligatoriamente un dígito entero y dos decimales. Las demás cantidades solo se muestran si son necesarias.
Cantidad      se muestra
1                 1,00
1,1              1,10
1,01            1,01
100,03        100,03
100,7          100,70

En cambio hay otras situaciones en las que quieres que el dígito se muestre obligatoriamente (por ejemplo no es lo mismo el código '00001' que el código '0001'. Si en el caso anterior hubiera puesto
maskedbox1.mask="000,000,000.00"
cantidad       se muestra
1                  000.000.001,00
1,1               000.000.001,10
1,01             000,000,001,01
100,03         000.000.100,03
100,7           000.000.100,70

y como ves no es lo mismo.

¡Y todo esto me lo podría haber ahorrado si te hubieras leído la ayuda de maskedbox en el propio vb porque como ya dije ahí viene perfectamente explicado tanto para casos de números, como de letras, como de fechas, ...

RTFM
Callar es asentir ¡No te dejes llevar!

satan69

#6
Cita de: soplo en 21 Enero 2007, 18:44 PM
A ver

Lo que puso necrocode está bien. La cosa está en si el dígito debe mostrarse obligatoriamente o no en caso de que sea cero.

Hay situaciones en las cuales quieres mostrar el dígito solo si es necesario para describir úna cantidad o lo que sea, y otras en las que no quieres.

Así por ejemplo para pedir un precio con dos decimales yo pondría
maskedbox1.mask="###,###0.00"
Lo cual indica que se muestre obligatoriamente un dígito entero y dos decimales. Las demás cantidades solo se muestran si son necesarias.
Cantidad      se muestra
1                 1,00
1,1              1,10
1,01            1,01
100,03        100,03
100,7          100,70

En cambio hay otras situaciones en las que quieres que el dígito se muestre obligatoriamente (por ejemplo no es lo mismo el código '00001' que el código '0001'. Si en el caso anterior hubiera puesto
maskedbox1.mask="000,000,000.00"
cantidad       se muestra
1                  000.000.001,00
1,1               000.000.001,10
1,01             000,000,001,01
100,03         000.000.100,03
100,7           000.000.100,70

y como ves no es lo mismo.

¡Y todo esto me lo podría haber ahorrado si te hubieras leído la ayuda de maskedbox en el propio vb porque como ya dije ahí viene perfectamente explicado tanto para casos de números, como de letras, como de fechas, ...

RTFM

esta bien.. pero no me contestaste mi pregunta... ayi lo estas haciendo solo con numero.. pero el detalle que la ultima sea la letra...

satan69

Cita de: satan69 en 22 Enero 2007, 00:54 AM
Cita de: soplo en 21 Enero 2007, 18:44 PM
A ver

Lo que puso necrocode está bien. La cosa está en si el dígito debe mostrarse obligatoriamente o no en caso de que sea cero.

Hay situaciones en las cuales quieres mostrar el dígito solo si es ####necesario para describir úna cantidad o lo que sea, y otras en las que no quieres.

Así por ejemplo para pedir un precio con dos decimales yo pondría
maskedbox1.mask="###,###0.00"
Lo cual indica que se muestre obligatoriamente un dígito entero y dos decimales. Las demás cantidades solo se muestran si son necesarias.
Cantidad      se muestra
1                 1,00
1,1              1,10
1,01            1,01
100,03        100,03
100,7          100,70

En cambio hay otras situaciones en las que quieres que el dígito se muestre obligatoriamente (por ejemplo no es lo mismo el código '00001' que el código '0001'. Si en el caso anterior hubiera puesto
maskedbox1.mask="000,000,000.00"
cantidad       se muestra
1                  000.000.001,00
1,1               000.000.001,10
1,01             000,000,001,01
100,03         000.000.100,03
100,7           000.000.100,70

y como ves no es lo mismo.

¡Y todo esto me lo podría haber ahorrado si te hubieras leído la ayuda de maskedbox en el propio vb porque como ya dije ahí viene perfectamente explicado tanto para casos de números, como de letras, como de fechas, ...

RTFM

esta bien.. pero no me contestaste mi pregunta... ayi lo estas haciendo solo con numero.. pero el detalle que la ultima sea la letra...


bueno investigando me encontre con esto.....
http://msdn.microsoft.com/library/spa/default.asp?url=/library/SPA/masked/html/vbpromask_medit.asp

la cosa es asi ###-######-####?   y eso era lo que andaba buscando... pero gracias a los que me quisieron ayudar