La Web del Programador: Comunidad de Programadores
 
    Pregunta:  65815 - PRIMERA LETRA DE CADA PALABRAS
Autor:  Adolfo Enrique Diaz
De una caja de texto con textos de tres palabras Ej: Clinica San Luis , necesita generar una cadena que sólo tome las primeras letras da cada palabra. Ejemplo : CSL.

Apliqué ésta pero sólo toma la primera letra de la primera palabra.

Dim Process As String

Process = txtInstituto.Text
Text14.Text = (Left(process, 1))
End Sub

Si cambias el número por 2, obtendrás las dos primeras letras de la primera palabras.
Cómo lograrlo para la segunda y tercera palabras? Gracias por su tiempo.

  Respuesta:  Adolfo Enrique Diaz
Te agradezco tu buena intención pero me aparece error.

Veamos, en text1.text tengo la palabra Clinica San Luis.
Quiero generar un string que copie de Text1.text a Text2.text solamente las letras CSL (la primera letra de cada palabra), para qué? Para establecer una codificación de cada registro.
Entonces, de acuerdo a tu orientación tengo:

dim arr() as string
arr=split(text1.text," ")
2.- Recorre el array y coge cada uno de las primeras letras:
dim letras as string

for each text1.text en arr
str=str & Left(text1.text, 1)
next valor

No me funciona, me dice que hay error de compilación. Por favor revísame qué tengo mal.Te agradezco infinitamente.

  Respuesta:  xve
Hola Adolfo, hace tiempo que he perdido el contanto con VB, pero los pasos serian estos:
1.- Separa la cadena por los espacios:
dim arr() as string

arr=split(tuCadena," ")

2.- Recorre el array y coge cada uno de las primeras letras:
dim letas as string
for each valor en arr

str=str & Left(valor, 1)
next valor

Espero que te sirva