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.
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)
un msgBox muestra 01 y el otro Hola mundo, los separa "-" no? :p
Si, eso es lo q hace la funcion split, mirate esto:
http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/51.htm
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
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
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
man:
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:
Info = Split(Datos, "/")
Nombre = Info(0) ''''= Nombre
Apellido = Info(1) ''''= Apellido
saludos ;)
Correcto! Funciona... Puedes explicarme el porqué? :S:S:S
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
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
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 ;)
Muy cierto... Por mi parte, muy torpe xDDD
Gracias. Duda resuelta :D
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
Te complicas demasiado xD
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 ;)