Ordenar cadena de texto

Quisiera saber, cómo extraer las vocales de una cadena de texto, y mostrarlas en un listbox de manera ordenada (a, e, i, o, u) según se el caso

1 respuesta

Respuesta
1
Acá un ejemplo de como se leen los caracteres y le sacamos solamente las vocales, el ListBox cuenta con una propiedad sorted que se encarga de ordenar en forma alfabética pero yo lo hice por medio de código para que puedas ver que igual se puede sin necesidad de usar las propiedades.
Dim i As Long
Dim GLAMin As String
Dim GLEMin As String
Dim GLIMin As String
Dim GLOMin As String
Dim GLUMin As String
Dim GLAMay As String
Dim GLEMay As String
Dim GLIMay As String
Dim GLOMay As String
Dim GLUMay As String
Dim Vocales As String
Private Sub Command1_Click()
On Error Resume Next
List1.Clear
Vocales = ""
GLAMin = ""
GLEMin = ""
GLIMin = ""
GLOMin = ""
GLUMin = ""
GLAMay = ""
GLEMay = ""
GLIMay = ""
GLOMay = ""
GLUMay = ""
For i = 1 To Len(Text1.Text)
Vocales = Mid(Trim(Text1.Text), i, 1)
Select Case Vocales
Case "a": GLAMin = GLAMin & Vocales: Vocales = ""
Case "e": GLEMin = GLEMin & Vocales: Vocales = ""
Case "i": GLIMin = GLIMin & Vocales: Vocales = ""
Case "o": GLOMin = GLOMin & Vocales: Vocales = ""
Case "u": GLUMin = GLUMin & Vocales: Vocales = ""
Case "A": GLAMay = GLAMay & Vocales: Vocales = ""
Case "E": GLEMay = GLEMay & Vocales: Vocales = ""
Case "I": GLIMay = GLIMay & Vocales: Vocales = ""
Case "O": GLOMay = GLOMay & Vocales: Vocales = ""
Case "U": GLUMay = GLUMay & Vocales: Vocales = ""
End Select
Next
Vocales = Trim(GLAMay) & Trim(GLAMin) & Trim(GLEMay) & Trim(GLEMin) & Trim(GLIMay) & _
Trim(GLIMin) & Trim(GLOMay) & Trim(GLOMin) & Trim(GLUMay) & Trim(GLUMin)
For i = 1 To Len(Vocales)
List1.AddItem Mid(Vocales, i, 1)
Next
End Sub
La función Mid() va leyendo los caracteres de uno en uno y compara si son o no vocales (En minúscula y Mayúsculas).
Gracias por tu respuesta, me ha servido de mucho, para no sólo depender de las propiedades de los controles, sino además de saber dar soluciones con propio código, muchas gracias, cualquier consulta, te estaré molestando nuevamente...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas