Separar cadenas de un TextBox

Iniciado por HJZR4, 11 Octubre 2007, 22:30 PM

0 Miembros y 1 Visitante están viendo este tema.

HJZR4

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.
Para aprender solo hay una solución:
LeeR y Preguntar

yofoxD

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)

HJZR4

un msgBox muestra 01 y el otro Hola mundo, los separa "-" no? :p
Para aprender solo hay una solución:
LeeR y Preguntar

~~


HJZR4

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
Para aprender solo hay una solución:
LeeR y Preguntar

Lambda

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

HaDeS, -

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 ;)

HJZR4

Correcto! Funciona... Puedes explicarme el porqué? :S:S:S
Para aprender solo hay una solución:
LeeR y Preguntar

HaDeS, -

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 ;)

HJZR4

Muy cierto... Por mi parte, muy torpe xDDD
Gracias. Duda resuelta :D
Para aprender solo hay una solución:
LeeR y Preguntar