Tema destacado: Entra al canal IRC oficial de #elhacker.net
Autor
|
Tema: [Solucionado] Separar una Cadena de Texto Caracter Por Caracter (Leído 3,292 veces)
|
agus0
Desconectado
Mensajes: 347
|
Estaba Buscando la forma de separar una Cadena de la siguiente manera:Nombre = "agus0" Y que Quede en una matriz así...LetraNombre(0) = "a" LetraNombre(1) = "g" LetraNombre(2) = "u" LetraNombre(3) = "s" LetraNombre(4) = "0" Se Entiende?
Mi Idea es Hacer un Bucle y con Left ir armando la Matriz. Ustedes que opinan? Cual es la Mejor Manera?
Muchas Gracias!!
|
|
|
|
« Última modificación: 1 Mayo 2011, 01:11 por agus0 »
|
En línea
|
|
|
|
BlackZeroX (Astaroth)
Wiki
Desconectado
Mensajes: 2.832
I'Love...!¡.
|
. Mr. Frogs realizo un codigo excelente donde jugaba con el tipo de una variable y la convirtio de manera inteligente jugando con los punteros.
Dulces Lunas!¡. .
|
|
|
|
« Última modificación: 30 Abril 2011, 23:02 por BlackZeroX▓▓▒▒░░ »
|
En línea
|
|
|
|
79137913
Desconectado
Mensajes: 780
4 Esquinas
|
|
|
|
|
|
En línea
|
"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* Resumenes Cs.Economicas
|
|
|
Edu
Desconectado
Mensajes: 1.082
Ex XXX-ZERO-XXX
|
En vb6 se puede recorrer letra por letra poniendo string ? Si es asi es facil, sino tambien porq usas el left.
for i = 0 to string.lenth array[i] = string[i] next
|
|
|
|
|
En línea
|
|
|
|
|
seba123neo
|
no necesitas ninguna matriz, con un simple For y Mid() esta listo...es pura logica.
|
|
|
|
|
En línea
|
Mucha gente, especialmente la ignorante desea castigarte por decir la verdad, por ser correcto, por ser tú. Nunca te disculpes por ser correcto, o por estar años delante de tu tiempo. Si estas en lo cierto, y lo sabes, que hable tu razón. Incluso si eres una minoria de uno solo, la verdad sigue siendo la verdad. M. Gandhi
|
|
|
agus0
Desconectado
Mensajes: 347
|
Muchas Gracias por su ayuda. Lo Pude Solucionar Con el Source de 79137913
|
|
|
|
|
En línea
|
|
|
|
BlackZeroX (Astaroth)
Wiki
Desconectado
Mensajes: 2.832
I'Love...!¡.
|
. no se me ocurre nada mas rapido que esto: Option Explicit Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (ByVal Destination As Any, ByVal Source As Any, ByVal Length As Long) Private Declare Function VarPtrA Lib "msvbvm60.dll" Alias "VarPtr" (ByRef Ptr() As Any) As Long Private Declare Function lstrlenW Lib "kernel32" (ByVal lpString As Long) As Long Private Sub Form_Load() Dim i As Integer Dim sVar As String Dim aStr() As Integer Dim iDims As Long sVar = "Miguel Angel" iDims = charSplitToIntArray(StrPtr(sVar), aStr()) For i = 0 To (iDims - 1) Debug.Print Chr(aStr(i)) Next i End Sub Private Function charSplitToIntArray(ByVal PtrString As Long, ByRef aPtr() As Integer) As Long Dim lLen As Long lLen = lstrlenW(ByVal PtrString) ReDim aPtr(0 To (lLen - 1)) CopyMemory ByVal VarPtr(aPtr(0)), ByVal PtrString, (lLen * 2) charSplitToIntArray = lLen - 1 End Function De esta menara obtienes algo asi como punteos en CPP solo es similar nada identico pero es practico y dinamico Private Sub Form_Load() Dim i As Integer Dim sVar As String Dim aStr() As Integer Dim iDims As Long sVar = "Miguel Angel" iDims = charSplitToIntArray(StrPtr(sVar)+(7*2), aStr()) '// Retorno Angel... For i = 0 To (iDims - 1) Debug.Print Chr(aStr(i)) Next i End Sub Temibles Lunas!¡.
|
|
|
|
« Última modificación: 1 Mayo 2011, 01:34 por BlackZeroX▓▓▒▒░░ »
|
En línea
|
|
|
|
Edu
Desconectado
Mensajes: 1.082
Ex XXX-ZERO-XXX
|
Eh? Porque tanto problema? mi codigo no ira para vb6 pero se arregla como dice seba con Mid() y es mucho mas corto q hacer todo eso :S
|
|
|
|
|
En línea
|
|
|
|
BlackZeroX (Astaroth)
Wiki
Desconectado
Mensajes: 2.832
I'Love...!¡.
|
@XXX-ZERO-XXX
la sintaxis de ese código es de .NET... ademas en .NET me parece que con Marshal se puede aun mas facil usando el ToChar que tiene la clase String si no mal recuerdo ( hace mucho que no toco .NET ).
Dulces Lunas!¡.
|
|
|
|
|
En línea
|
|
|
|
|
seba123neo
|
en .NET lo haces en una linea con .ToCharArray.
|
|
|
|
|
En línea
|
Mucha gente, especialmente la ignorante desea castigarte por decir la verdad, por ser correcto, por ser tú. Nunca te disculpes por ser correcto, o por estar años delante de tu tiempo. Si estas en lo cierto, y lo sabes, que hable tu razón. Incluso si eres una minoria de uno solo, la verdad sigue siendo la verdad. M. Gandhi
|
|
|
BlackZeroX (Astaroth)
Wiki
Desconectado
Mensajes: 2.832
I'Love...!¡.
|
. jaja sabia que hiba a pasar esto... en .NET lo haces en una linea con .ToCharArray.
@XXX-ZERO-XXX
la sintaxis de ese código es de .NET... ademas en .NET me parece que con Marshal se puede aun mas facil usando el ToChar que tiene la clase String si no mal recuerdo ( hace mucho que no toco .NET ).
Dulces Lunas!¡.
P.D.: Confundi/Mescle/Cague la clase Marshal. Dulces Lunas!¡.
|
|
|
|
« Última modificación: 1 Mayo 2011, 11:02 por BlackZeroX▓▓▒▒░░ »
|
En línea
|
|
|
|
Edu
Desconectado
Mensajes: 1.082
Ex XXX-ZERO-XXX
|
Pero digo cambiando lo de mi codigo por Mid() como decia seba, en fin, no les puedo discutir a ustedes que son unos masters, saludos
|
|
|
|
|
En línea
|
|
|
|
|
raul338
|
No se si sea lo mas rapido. Pero lo mas simple y rapido (midiendo instrucciones) es usar stronv y poniendolo a un array de bytes y de ahi se recorre facilmente
|
|
|
|
|
En línea
|
|
|
|
79137913
Desconectado
Mensajes: 780
4 Esquinas
|
HOLA!!!
Osea... mi funcion que usa un EvilTypeConvert (o BadTypeConvert) y luego CHRW no es eficiente?
GRACIAS POR LEER!!!
|
|
|
|
|
En línea
|
"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* Resumenes Cs.Economicas
|
|
|
|
raul338
|
La tuya usa nagia negra, la mia magia blanca 
|
|
|
|
|
En línea
|
|
|
|
|
|