Visual Basic - cadenas de caracteres

Life is soft - evento anual de software empresarial
 
Vista:

cadenas de caracteres

Publicado por norman (4 intervenciones) el 12/12/2006 00:24:47
ayuda urgente por favor soy estudiante de programacion basico..

necesito ingresar los siguientes datos en solo una caja de texto
nombres y apellidos
debo detectar el espacio existente entre ellos para con un boton de comando
mostrarlos separados en distintas cajas de texto una con los nombres , otra con el primer apellido y otra con el segundo

por ejemplo el usuario ingresa su nombre: juan antonio perez serrano

debo mostralo asi

nombre:juan antonio
1 apellido: perez
2 apellido:serrano

de antemano gracias..
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:cadenas de caracteres

Publicado por AlbertoV (200 intervenciones) el 12/12/2006 01:04:18
No hay problema para detectar los espacios en blanco entre palabras. Podés usar

InStr(Cadena, " ")

... esta te dará la posición, dentro de la cadena, del primer espacio en blanco contando desde la izquierda,

InStrRev(Cadena, " ")

... esta buscará desde el final hacia la izquierda, pero el Nº que devuelve es la posición contada desde el principio de Cadena.

Creo que el mayor problema será saber si el usuario tiene uno, o dos, o tres nombres. Y por añadidura si puso 2 apellidos o sólo uno. Por ejemplo, si se detectan 2 espacios en blanco, ¿cómo saber si puso "Juan Antonio Parra" o "Juan Parra Gómez"?.
Para estos casos se suele usar que pongan primero el/los apellido/s, insertarle por código una coma, y luego el/los nombre/s. En el ejemplo anterior quedaría "Parra, Juan Antonio" y "Parra Gómez, Juan". Y aquí es la coma la que indica la separación entre apellido/s y nombre/s.
Es una sugerencia.
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

RE:cadenas de caracteres

Publicado por Pedro Luis (878 intervenciones) el 12/12/2006 17:36:34
Hay una funcion muy curiosa para realizar esto

m=Split("Antonio Lopez Rodriguez") , si no se pone ningún parametro se entiende que el delimitador es " "

con esta funcion he conseguido que

m(0)=Antonio
m(1)=Lopez
m(2)=Rodriguez

No se muy bien para que puede servir esto, pero ¿a que es curioso?
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