>From: Jose Ayala Pineda
>Sent: 11 May, 1998 3:51 PM
>To: Lista de Visual Basic
>Subject: (VB-ESP) array de caracteres
>Hola amigos:
Hola !!!
>Tengo una pregunta, como hago para poder tomar una cadena de caracteres
>como array, es decir por ejemplo:
>cadena$="unejemplo"
>caracter$=cadena(1)
>y que caracter me devuelva "u", como pueden ver cadena es de tipo
>String, caracter tambien.
>La forma en que lo he hecho es accediendo con la funcion Mid.
>caracter=Mid(cadena,1,1).
En la revista VBPJ de Abril, está esto que te puede ayudar, solo que tienes que
cambiar la declaración de tu arreglo a byte en vez de string, y cuando quieras usar
su contenido le antepones un chr(), Ejemplo :
Private Declare Sub CopyMemory Lib "kernel32" Alias _
"RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal ByteLen As Long)
Dim Cadena As String
Dim Arreglo(9) As Byte
Cadena = "unejemplo"
CopyMemory Arreglo(0), ByVal Cadena, 9
En Arreglo te quedan los valores de cada letra, de manera que chr(Arreglo(0))
te regresara "u" y chr(arreglo(9)) te regresará "o"
Ojo, el arreglo DEBE ser de tipo Byte.
Si quieres pasar del arreglo a una cadena solo haces
Cadena = Space(9)
CopyMemory ByVal Cadena, Arreglo(0), 9
Lo interesante de usar esta API es que es de 5 a 10 veces más rápida que la
solución en puro código VB ( usando MID, por ejemplo ) lo de lo rápido lo dice
la revista, no lo digo yo !!!
Saludos
Julio Collado
Managua, Nicaragua
Lo dificil cuesta un poco,
Lo imposible cuesta un poco más.