Convertir una cadena a un array

Tengo un problemilla y necesito ver si puedes ayudarme.
Estoy haciendo una aplicación que usa una base de datos que tiene bastante tiempo que la están usando, por tal motivo no puedo modificar su estructura o adaptarla a mi sistema.
El punto es que estoy leyendo un campo de texto, en el que hay una serie de grupos de caracteres que son algo así como unames separados por coma. Por ejemplo "CDD, OMC, SIF, CAT, ETC", el problema es que pueden de repente aparecer "unames" de 4 o 5 caracteres. En Php, hay una función que separa una cadena por el carácter que le indiques y almacena elemento por elemento en un array. Esto mismo quiero hacer en el sistema, el campo que trae esta cadena la quiero separar y almacenar en un array, ¿hay alguna función que haga esto? ¿O forzosamente tengo que analizar la cadena carácter por carácter y cortarla?
Espero haber sido claro en lo que necesito, pongo el ejemplo
campo1="CDD,OMC,SIF,CAT"
array1(0) = "CDD"
array1(1) = "OMC"
array1(2) = "SIF"
array1(3) = "CAT"

1 Respuesta

Respuesta
1
Public arreglo()
Public i As Integer
Public Function BuscarCadena(ByVal posicion As Integer, ByVal palabra As String) As String
indice = InStr(posicion, palabra, "-")
If indice = 0 Then
i = i + 1
ReDim Preserve arreglo(9, i)
arreglo(9, i) = palabra
' MsgBox palabra
Exit Function
Else
var_parte = Left(palabra, indice - 1)
i = i + 1
ReDim Preserve arreglo(9, i)
arreglo(9, i) = var_parte
nuevacadena = Right(palabra, Len(palabra) - indice)
BuscarCadena 1, nuevacadena
End If
MsgBox i
End Function
Private Sub Command1_Click()
i = 0
BuscarCadena 1, "abc-def-ghi"
End Sub
Private Sub Command2_Click()
j = 1
Do While j <= i
MsgBox arreglo(9, j)
j = j + 1
Loop
End Sub
Función realizada por Drakong:
Con esto lo tienes todo, espero tu puntuación.
Funciona muy bien, sea cual sea el carácter.
Suerte y no dudes en preguntar.
Muy bien, realmente sirve, aunque esperaba que hubiera algo con menos código, pero esta bien, ya lo probé y funciona a la perfección.
Gracias y suerte!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas