Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: 79137913 en 17 Marzo 2011, 15:50 pm



Título: [SOURCE] CharSplit7913 Separa un string en un array de caracteres.
Publicado por: 79137913 en 17 Marzo 2011, 15:50 pm
HOLA!!!

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

Código
  1. Private Sub Form_Load()
  2. Dim hola() As String
  3. hola = CharSplit7913("hola")
  4. ' Devuelve
  5. ' Hola(0) = "h"
  6. ' Hola(1) = "o"
  7. ' Hola(2) = "l"
  8. ' Hola(3) = "a"
  9. End Sub
  10.  
  11. Private Function CharSplit7913(expression As String) As String()
  12.    Dim X        As Long
  13.    Dim lExp     As Long
  14.    Dim ExpB()   As Byte
  15.    Dim AuxArr() As String
  16.  
  17.    ExpB = expression
  18.    lExp = UBound(ExpB)
  19.    ReDim AuxArr(lExp)
  20.  
  21.    For X = 0 To lExp Step 2
  22.        AuxArr(X / 2) = ChrW$(ExpB(X))
  23.    Next
  24.  
  25.    ReDim Preserve AuxArr(lExp \ 2)
  26.  
  27.    CharSplit7913 = AuxArr
  28.  
  29. End Function


GRACIAS POR LEER!!!


Título: Re: [SOURCE] CharSplit7913 Separa un string en un array de caracteres.
Publicado por: Novlucker en 17 Marzo 2011, 16:18 pm
Para "hola", lExp=7, por lo que al terminar tienes un array con 3 lugares vacios :silbar:

Saludos


Título: Re: [SOURCE] CharSplit7913 Separa un string en un array de caracteres.
Publicado por: 79137913 en 17 Marzo 2011, 17:34 pm
HOLA!!!

Gracias Nov, solucionado.

GRACIAS POR LEER!!!


Título: Re: [SOURCE] CharSplit7913 Separa un string en un array de caracteres.
Publicado por: Psyke1 en 17 Marzo 2011, 19:12 pm
Copión... :silbar: :xD
Código:
Int(lExp / 2)
Es lo mismo que:
Código:
lExp \ 2
Redimensionas la matrix 2 veces innecesariamente.
El ChrW() debe llevar un $ para que no quede como variant : ChrW$().

DoEvents! :P


Título: Re: [SOURCE] CharSplit7913 Separa un string en un array de caracteres.
Publicado por: 79137913 en 17 Marzo 2011, 19:50 pm
HOLA!!!

Gracias Frog, solucionado.

GRACIAS POR LEER!!!