Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Braayhaan en 25 Agosto 2010, 03:24 am



Título: Duda con Len
Publicado por: Braayhaan en 25 Agosto 2010, 03:24 am
Tengo una pequeña pregunta...

Si por ejemplo yo uso "Label1.Text = CStr(Len(Textbox1.text))"

Hay dice que vaya aumentando la cifra del label según los caracteres del txtbox.

Ahora lo que necesito es que disminuya ejemplo.

Si tengo en un label "20" y quiero que al escribir vaya descendiendo como lo podría hacer?

Thanks ;)


Título: Re: Duda con Len
Publicado por: [D4N93R] en 25 Agosto 2010, 03:45 am
Tendrías que tener una variable con la cantidad inicial.. y restarle lo que ya tienes..


Título: Re: Duda con Len
Publicado por: criskapunk en 25 Agosto 2010, 03:45 am
Se me ocurrio algo asi:

Código
  1.    Private Sub txtTexto_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtTexto.KeyUp
  2.        lblNum.Text = lblNum.Text - 1
  3.    End Sub

Previamente le tendrias que haber asignado al label el valor a partir del cual queres que cuente.

Un saludo ;)


Título: Re: Duda con Len
Publicado por: Braayhaan en 25 Agosto 2010, 04:00 am
Criska me funciono bien el codigo pero el problema es que al borrar me sale el caracter con el -1.

Lo puse en el textchanged del txtbox y trate con varios if pero me sigue saliendo alguna idea?


Título: Re: Duda con Len
Publicado por: criskapunk en 25 Agosto 2010, 04:52 am
Podrias poner algo asi, pero igualmente tiene algunos problemas:

Código
  1.    Dim num As Integer
  2.  
  3.    Private Sub txtTexto_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtTexto.KeyUp
  4.        num = lblNum.Text
  5.        If num > 0 Then
  6.            lblNum.Text -= 1
  7.        End If
  8.    End Sub

Con este codigo, si superas la cantidad de caracteres mostrados en el label, el contador va a permanecer en cero, evitando los numeros negativos (Podrias poner algo como que al llegar a cero, el TextBox pase a modo de solo lectura).

Pero sigue teniendo algunos problemas, por ejemplo, si borras carecteres, el contador no se incrementa.

Estoy tratando de solucionarlo, soy bastante nuevo en vb.net :P

Un saludo ;)