Visual Basic - Separar

Life is soft - evento anual de software empresarial
   
Vista:

Separar

Publicado por Edwin (34 intervenciones) el 05/11/2010 19:38:43
Hola amigos, estoy trabajando en un ejercisio en el que tengo un txtcontenido y un boton de comando, la idea que en el txtcontenido se puede incluir una palabra y luego al hacer click en el boton separe cada letra con una coma, este es el codigo que tengo:

Private Sub Command1_Click()
Dim I As Integer 'Declaro la variable control para el bucle.
Dim C As String 'Variable para almacenar cada carácter leído de la caja.

For I = 1 To Len(txtcontenido.Text) ' Inicio el bucle del 1 hasta la longitud de la caja.

C = Mid(txtcontenido.Text, I, 1) 'Se lee carácter por carácter.

'Seleccionamos uno por uno los caracteres de la caja.
txtcontenido.SelStart = I - 1
txtcontenido.SelLength = 1

'Verificamos si el caracter seleccionado es cualkier letra
If txtcontenido.SelText = Chr() Then
txtcontenido.SelText = "," ' Si es un espacio se sustituye por una coma.
End If

Next I 'Se repite el bucle.

End Sub
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:Separar

Publicado por Pedro Luis (128 intervenciones) el 08/11/2010 08:19:04
¿Y cual es el problema?
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:Separar

Publicado por Miguel (17 intervenciones) el 08/11/2010 12:41:33
El problema es que eso es imposible que funcione, ya que la función Chr() necesita del parámetro obligatorio ASCII y en ningún momento inserta los espacios entre las letras de la palabra.
La cosa es tan sencilla como hacer esto:

Dim I As Integer
Dim C As String

For I = 1 To Len(txtcontenido.Text)
If I < Len(txtcontenido.Text) And Mid(txtcontenido.Text, I, 1) <> " " And Mid(txtcontenido.Text, I + 1, 1) <> " " Then
C = C & Mid(txtcontenido.Text, I, 1) & ","
Else
C = C & Mid(txtcontenido.Text, I, 1)
End If
Next

txtcontenido.Text = C

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