Poner Valores Antes Del Textbox


Subject: Poner Valores Antes Del Textbox
Me preguntaba si había alguna forma de que pudiera insertar automáticamente valores numéricos en un textbox después que el usuario lo hace. Me explico con un ejemplo:

Tengo un textbox al cual llamaremos TXTCODIGO le pongo cantidad máxima de campos de 4
Ahora el usuario al llegar al textbox solo inserta un valor de solo una campo, digamos "1".
Ahora el programa busca en la base de datos el valor "1", siendo que el correcto debería ser "0001", por lo cual me dice que dicho valor "1" no existe en la base de datos.
Entonces mi pregunta es:

¿Se puede hacer que si el usuario ingreso en el TXTCODIGO el valor "1", este automáticamente se cambie a "0001"?.

PD: Estoy loco de buscar esto en Google y demás lugares y nada, por favor ayuda.

Profile PM  
Subject: Re: Poner Valores Antes Del Textbox
Amigo, suponiendo que el evento que dispara la lectura del textbox es click en un botón, se me ocurre una sugerencia, no para insertar los números automaticamente, pero si para que el usuario deba hacerlo.
Este es el código que utilizé para analizar tu pregunta:
PRIVATE cantidad AS String
PRIVATE total AS Integer

PUBLIC SUB Button1_Click()
cantidad = Txtcodigo.text
' --------------contar caracteres
total = Len(cantidad)
' ---------------comparar cantidad caracteres y si es diferente a 4 lanzar un mensaje y poner el textbox a 0000
IF total == "4" THEN
Message.info("debe insertar todos los números")
Txtcodigo.text = "0000"
ELSE
ENDIF

END

PUBLIC SUB Form_Open()

Txtcodigo.text = "0000"

END

Luego del endif iría el código que utilizas para buscar. Espero te sirva.
Saludos

Subject: Re: Poner Valores Antes Del Textbox
Creo que la mejor manera es hacer así:

PUBLIC SUB Txtcodigo_Change()

Txtcodigo.Text = Format(Txtcodigo.TEXT, "0000")

END

Profile PM  
Subject: Re: Poner Valores Antes Del Textbox
Yo solucioné el tema en su día haciéndome una función. Ponla en tu modulo de funciones comunes (si no tienes uno pues lo creas)

PUBLIC FUNCTION pad(cad AS String, size AS Integer, OPTIONAL izquierda AS Boolean, OPTIONAL caracter AS String) AS String
DIM c AS String
DIM l AS Integer
IF caracter THEN
caracter = string.Left(caracter, 1)
ELSE
caracter = " "
ENDIF
l = String.Len(cad) 'uso la clase str porque len a secas no trata utf8 y la base de datos sí.
IF l > size THEN
c = String.Left(cad, size)
ELSE IF l = size THEN
c = cad
ELSE IF l < size THEN
IF izquierda THEN
c = String$(size - l, caracter) & cad
ELSE
c = cad & String$(size - l, caracter)
ENDIF
ENDIF
RETURN c
END


Suponiendo que tu módulo de funciones se llama funciones sólo tienes que poner en el evento change de tu textbox

Mitextbox.text=funciones.pad(mitextbox.tex,4,true)


Suerte

Profile PM  
Subject: Re: Poner Valores Antes Del Textbox
Muchas gracias, cuando llegue a mi casa los probare, y les estare comentando como me fue, espero me funcionen.

Profile PM  

Page 1 of 1


  
You cannot post new topics
You cannot reply to topics
You cannot edit your posts
You cannot delete your posts
You cannot vote in polls
You cannot attach files
You can download files
You cannot post calendar events

   

This is a "Lo-Fi" version of our main content. To view the full version with more information, formatting and images, please click here.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Generation Time: 0.1615s (PHP: -48% SQL: 148%)
SQL queries: 23 - Debug Off - GZIP Enabled