Visual Basic.NET - Ayuda: validar un string en un TextBox

   
Vista:

Ayuda: validar un string en un TextBox

Publicado por Ricardo (2 intervenciones) el 22/02/2008 17:19:12
Hola,
tengo un problema, a ver si alguien puede hecharm una mano, porque yo no consigo soluccionarlo:
necesito validar un string de un TextBox (escribiendo una seceuncia tal que asi: 2,6,45-48)pasandolo a integer, y luego a un array para tener en cada posicion del array: 2,6,45,46,47,48 (cubriendo el rango del 45 al 48).
Muchas Gracias,
Salu2
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda: validar un string en un TextBox

Publicado por P. J. (706 intervenciones) el 22/02/2008 21:56:22
...
Te planteo una solucion, es algo extenso pero funciona.
Agregas a un formulario: 1 TextBox, 1 Boton, 1 ListBox

'GENERAL
Dim coleccion() As String = {}
Dim intTotal As Integer = 0

'EVENTO BOTON
Private Sub btnEvaluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEvaluar.Click
convierteLista(Me.txtNumeros.Text)
muestraLista()
End Sub

'PROCEDIMIENTOS
Private Sub convierteLista(ByVal strCadena As String)
Dim strChar As String = "", strNumA As String = "", strNumB As String = ""
intTotal = 0
For i As Integer = 0 To strCadena.Length - 1
strChar = strCadena.Substring(i, 1)
If Not IsNumeric(strChar) Then
Select Case strChar
Case ","
generaArray(Convert.ToInt32(strNumA))
strNumA = ""
Case "-"
For j As Integer = i + 1 To strCadena.Length - 1
strChar = strCadena.Substring(j, 1)
If IsNumeric(strChar) Then
strNumB += strChar
If j = strCadena.Length - 1 Then 'SI ES EL FINAL
generaArray(Convert.ToInt32(strNumA), Convert.ToInt32(strNumB))
strNumB = ""
i = j + 1
End If
Else
generaArray(Convert.ToInt32(strNumA), Convert.ToInt32(strNumB))
strNumB = ""
i = j + 1
Exit For
End If
Application.DoEvents()
Next
End Select
Else
strNumA += strChar
If i = strCadena.Length - 1 Then 'SI ES EL FINAL
generaArray(strNumA)
End If
End If
Application.DoEvents()
Next
End Sub

Private Sub generaArray(ByVal intNumero As Integer)
ReDim Preserve coleccion(intTotal)
coleccion(intTotal) = intNumero
intTotal += 1
End Sub

Private Sub generaArray(ByVal intInicio As Integer, ByVal intFin As Integer)
Do While Convert.ToInt32(intInicio) <= Convert.ToInt32(intFin)
ReDim Preserve coleccion(intTotal)
coleccion(intTotal) = intInicio
intInicio += 1
intTotal += 1
Loop
End Sub

Private Sub muestraLista()
Me.lstResultado.Items.Clear()
For r As Integer = 0 To coleccion.Length - 1
Me.lstResultado.Items.Add(coleccion(r).ToString)
Next
End Sub

Lo probe, funciono, y no demoro. XD

Salu2.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda: validar un string en un TextBox

Publicado por Ricardo (2 intervenciones) el 24/02/2008 17:18:25
Muchisimas gracias, ahora voy a probarlo.
Salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda: validar un string en un TextBox

Publicado por Daniel LL.A (3 intervenciones) el 15/07/2008 17:43:05
bueno es codigo que dejo el amigo sirve ..pero es muy complicado entder un pco ese codigo ...yo anda en lo mismo queri avalidar una cadena pues preguntando mi Profesor me ayudo aencontrar un forma mas cort de validar un texto
ahi le vas el codigo es corto y excelente yo lo probe
Private Sub txtNom_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtNom.KeyPress
If Not (Char.IsControl(e.KeyChar) Or Char.IsLetter(e.KeyChar)) Then
e.Handled = True
End If
End Sub
espero k cuando navegen buscando lo encuentre y les peuda servir
saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar