Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: HJZR4 en 11 Octubre 2007, 22:30 PM

Título: Separar cadenas de un TextBox
Publicado por: HJZR4 en 11 Octubre 2007, 22:30 PM
Me preguntaba que si se podria separar una cadena en dos en un textbox. Por ejemplo:

En un textBox tengo: "Hola, HJZR4"
¿Podría separar "Hola de "HJZR4", y guardarlas cada una en una variable...

Gracias.
Título: Re: Separar cadenas de un TextBox
Publicado por: yofoxD en 11 Octubre 2007, 23:07 PM
usando un split aqui te va un ejemplo:

Dim cadenacompleta As String
Dim cadenacorta
cadenacompleta = "01-Hola Mundo"
cadenacorta = Split(cadenacompleta, "-")
MsgBox cadenacorta(0)
MsgBox cadenacorta(1)
Título: Re: Separar cadenas de un TextBox
Publicado por: HJZR4 en 11 Octubre 2007, 23:53 PM
un msgBox muestra 01 y el otro Hola mundo, los separa "-" no? :p
Título: Re: Separar cadenas de un TextBox
Publicado por: ~~ en 12 Octubre 2007, 14:20 PM
Si, eso es lo q hace la funcion split, mirate esto:
http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/51.htm
Título: Re: Separar cadenas de un TextBox
Publicado por: HJZR4 en 17 Octubre 2007, 23:26 PM
Pues ya temenos estos problemas que te sacan de quicio...


Private Sub Command1_Click()
Dim Datos As String
    Datos = "Amador/Roldán"
   
Dim Nombre As String
Dim Apellido As String

    Info = Split(Datos, "/")
        Info(0) = Nombre
        Info(1) = Apellido
   

    Text1.Text = Nombre
    Text2.Text = Apellido
End Sub


Alguien puede explicarme porque Text1.Text y Text2.Text muestran el texto en blanco? Osea, nada.. xD
Título: Re: Separar cadenas de un TextBox
Publicado por: Lambda en 17 Octubre 2007, 23:30 PM
Cita de: HJZR4 en 17 Octubre 2007, 23:26 PM
Pues ya temenos estos problemas que te sacan de quicio...


Private Sub Command1_Click()
Dim Datos As String
    Datos = "Amador/Roldán"
   
Dim Nombre As String
Dim Apellido As String

    Info = Split(Datos, "/")
        Info(0) = Nombre
        Info(1) = Apellido
   

    Text1.Text = Nombre
    Text2.Text = Apellido
End Sub


Alguien puede explicarme porque Text1.Text y Text2.Text muestran el texto en blanco? Osea, nada.. xD

Prueba asi

Código (vb) [Seleccionar]
Private Sub Command1_Click()
Dim Datos As String
    Datos = "Amador/Roldán"
   
Dim Nombre As String
Dim Apellido As String

    Info = Split(Datos, "/")   

    Text1.Text = Info(0)
    Text2.Text = Info(1)
End Sub
Título: Re: Separar cadenas de un TextBox
Publicado por: HaDeS, - en 17 Octubre 2007, 23:47 PM
man:
Código (vb) [Seleccionar]

    Info = Split(Datos, "/")
        Info(0) = Nombre
        Info(1) = Apellido

supuestamente estas dando valores al array "Info" con un split, y luego estas volviendo a darle valores que son nulos Info(0) = nulo, Info(1) = nulo...

para que te funcione tenes que darle es el valor a las variables:
Código (vb) [Seleccionar]

    Info = Split(Datos, "/")
        Nombre = Info(0) ''''= Nombre
        Apellido = Info(1) ''''= Apellido


saludos ;)
Título: Re: Separar cadenas de un TextBox
Publicado por: HJZR4 en 17 Octubre 2007, 23:47 PM
Correcto! Funciona... Puedes explicarme el porqué? :S:S:S
Título: Re: Separar cadenas de un TextBox
Publicado por: HaDeS, - en 17 Octubre 2007, 23:54 PM
Cita de: HJZR4 en 17 Octubre 2007, 23:47 PM
Correcto! Funciona... Puedes explicarme el porqué? :S:S:S
xD a quien preguntas? a Lambda o a mi?  :-X, weno aunque no me preguntes a mi te respondo :P

checa de nuevo tu codigo
Código (vb) [Seleccionar]

Private Sub Command1_Click()
Dim Datos As String
    Datos = "Amador/Roldán"
   
Dim Nombre As String
Dim Apellido As String

    Info = Split(Datos, "/")
        Info(0) = Nombre
        Info(1) = Apellido
   

    Text1.Text = Nombre
    Text2.Text = Apellido
End Sub


mira en la linea donde haces el split
Código (vb) [Seleccionar]


    Info = Split(Datos, "/")
        Info(0) = Nombre
        Info(1) = Apellido

y hagamos un debuggeo:

Info = Split(Datos,"/")
en esta parte quedaria que:
Info(0) = "Amador"
Info(1) = "Roldán"

si haces un msgbox ubound(Info), te das cuenta que se llena la variable Info como un array de datos de 2 elementos : "0" y "1", que ya estan asignados correctamente

aca viene el error:
        Info(0) = Nombre
        Info(1) = Apellido
Estas volviendo a sobreescribir los elementos con variables que estan nulas
como nombre y apellido no tiene ningun valor, entonces Info(0) e Info(1) queda con un valor nulo...

si al iniciar el codigo pones Nombre = "1" y Apellido = "2", y lo ejecutas tal cual, en los campos de texto aparecera 1 y 2 respectivamente.

para corregir el problema tenes que darle es el valor del array a las variables:
Nombre = Info(0)
Apellido = Info(1)

creo que es todo :P, saludos ;)
Título: Re: Separar cadenas de un TextBox
Publicado por: HJZR4 en 18 Octubre 2007, 00:46 AM
Muy cierto... Por mi parte, muy torpe xDDD
Gracias. Duda resuelta :D
Título: Re: Separar cadenas de un TextBox
Publicado por: Surfiction en 18 Octubre 2007, 02:31 AM
Dim Guardar(3) As String

'Suponiendo que se ingreso en el textbox "Nombre ApellidoPaterno ApellidoMaterno"

Private Sub Command1_Click()

Guardar(0)=TextBox1.Text.Split(" ")(0)
Guardar(1)=TextBox1.Text.Split(" ")(1)
Guardar(2)=TextBox1.Text.Split(" ")(2)

Msgbox("Tu nombre es: " + Guardar(0) + " Tu Apellido Paterno Es: "  + Guardar(1) + " Tu Apellido Materno Es: " + Guardar(2))

End Sub
Título: Re: Separar cadenas de un TextBox
Publicado por: HaDeS, - en 18 Octubre 2007, 02:49 AM
Te complicas demasiado xD

Código (vb) [Seleccionar]

Private Sub Command1_Click()
Dim guardar(3) As String
If UBound(Split(Text1.Text, " ")) < 2 Then Exit Sub
MsgBox "Tu nombre es: " & Split(Text1.Text, " ")(0) & " Tu apellido paterno es: " & Split(Text1.Text, " ")(1) & " Tu apellido materno es: " & Split(Text1.Text, " ")(2)
End Sub


y bueno, que pasa si tiene dos nombres?? hahaha o si es adoptado y no tiene apellidos, nadie sabe...

saludos ;)