[SOURCE] CharSplit7913 Separa un string en un array de caracteres.

Iniciado por 79137913, 17 Marzo 2011, 15:50 PM

0 Miembros y 1 Visitante están viendo este tema.

79137913

HOLA!!!

Bueno, mas que el titulo no puedo decir, es simplemente eso dejo el codigo y un ejemplo.

Código (vb) [Seleccionar]
Private Sub Form_Load()
Dim hola() As String
hola = CharSplit7913("hola")
' Devuelve
' Hola(0) = "h"
' Hola(1) = "o"
' Hola(2) = "l"
' Hola(3) = "a"
End Sub

Private Function CharSplit7913(expression As String) As String()
   Dim X        As Long
   Dim lExp     As Long
   Dim ExpB()   As Byte
   Dim AuxArr() As String

   ExpB = expression
   lExp = UBound(ExpB)
   ReDim AuxArr(lExp)

   For X = 0 To lExp Step 2
       AuxArr(X / 2) = ChrW$(ExpB(X))
   Next

   ReDim Preserve AuxArr(lExp \ 2)

   CharSplit7913 = AuxArr

End Function



GRACIAS POR LEER!!!
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

79137913                          *Shadow Scouts Team*

Novlucker

Para "hola", lExp=7, por lo que al terminar tienes un array con 3 lugares vacios :silbar:

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

79137913

"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

79137913                          *Shadow Scouts Team*

Psyke1

Copión... :silbar: :xD
Int(lExp / 2)
Es lo mismo que:
lExp \ 2
Redimensionas la matrix 2 veces innecesariamente.
El ChrW() debe llevar un $ para que no quede como variant : ChrW$().

DoEvents! :P

79137913

"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

79137913                          *Shadow Scouts Team*