comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

CharSplit7913 Separa un string en un array de caracteres.

  • 0 Respuestas
  • 3871 Vistas

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

Desconectado 79137913

  • *
  • Moderator
  • Mensajes: 625
  • Actividad:
    13.33%
  • Reputación 10
  • 4 Esquinas
    • Ver Perfil
    • Doors.Party
    • Email
  • Skype: fg_mdq@hotmail.com
« en: Febrero 04, 2013, 12:08:32 pm »
HOLA!!!

Bueno, mas que el titulo no puedo decir, abajo una explicacion.

Código: Visual Basic
  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

Les paso a explicar como funciona esta funcion ya que tiene un poco de "magia negra" a la cual con este post los iniciare.

Empezamos declarando las variables, nada raro, salvo que uso tipo long en vez de integer... ¿Por que? porque el tipo long en VB6 es el tipo numerico mas rapido.
Luego, creo un array sin tamaño definido tipo byte (muy importante)
Y por ultimo un array string donde  se guardara el resultado que luego se plasmara en lo que devuelve la func.
Que es lo que hago aca
    ExpB = expression
Esto se llama "Evil Type Convert" nos aprovechamos de que el motor de VB puede hacer varias conversiones de tipos a una velocidad impresionante sin usar las funciones clasicas igualando ambos valores, en este caso convierto el string en un array de bytes.
Luego con esta instruccion
        AuxArr(X / 2) = ChrW$(ExpB(X))
Paso de un array de bytes a un array de texto los caracteres.

GRACIAS POR LEER!!!
« Última modificación: Diciembre 12, 2013, 03:49:39 pm por Expermicid »
"Algunos creen que soy un bot, puede que tengan razon"
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

*Shadow Scout Team*                                                   You are not allowed to view links. Register or Login

 

¿Te gustó el post? COMPARTILO!



Como leer caracter por caracter de una cadena string

Iniciado por ANTRAX

Respuestas: 0
Vistas: 1328
Último mensaje Julio 26, 2010, 11:42:21 am
por ANTRAX
Llamada de un formulario mediante el nombre como string

Iniciado por ANTRAX

Respuestas: 0
Vistas: 1218
Último mensaje Julio 26, 2010, 04:08:58 pm
por ANTRAX
Algoritmo Encryptacion de String

Iniciado por Expermicid

Respuestas: 0
Vistas: 3074
Último mensaje Junio 22, 2012, 11:07:44 pm
por Expermicid
Comparar usando caracteres comodín

Iniciado por ANTRAX

Respuestas: 0
Vistas: 1417
Último mensaje Julio 26, 2010, 04:13:45 pm
por ANTRAX
Como usar un Array

Iniciado por ANTRAX

Respuestas: 0
Vistas: 1423
Último mensaje Julio 26, 2010, 11:21:35 am
por ANTRAX