Autor
|
Tema: pequeñisima duda hex (Leído 4,065 veces)
|
asdexiva
Desconectado
Mensajes: 217
|
Dim file As String, Datos As String, bytearray() As Byte file = "C:\Archivos de programa\aplicacion\xd.exe" Open file For Binary As #1 Datos = Space(LOF(1)) Get #1, , Datos Close #1 bytearray() = StrConv(Datos, vbFromUnicode) 'cmain frame bytearray(1846824) = Asc("T") bytearray(1846825) = Asc("i") bytearray(1846826) = Asc("b") bytearray(1846827) = Asc("i") bytearray(1846828) = Asc("a") bytearray(1846829) = Asc("C") bytearray(1846830) = Asc("l") bytearray(1846831) = Asc("i") bytearray(1846832) = Asc("e") bytearray(1846833) = Asc("n") bytearray(1846834) = Asc("t")
Open file For Binary As #1 Put #1, 1, bytearray() Close #1 End Sub
lo que quiero es no hacer tantas lineas en los bytearray quiero hacer un texbox que acomode todo quiero todos estos bytes array en una sola linea espero me entienda xD 1846824,1846825,1846826,1846827,asta 1846834 con un texbox y que en el texbox no se puedan escribir mas de 11 letras por favor ayuda :S
|
|
|
En línea
|
|
|
|
MCKSys Argentina
|
Si pones los chars en un textbox y usas mid para ir tomando 1x1 y asignandole los valores al array (por supuesto, vas a necesitar un indice para ir recorriendolo) podras hacerlo en un par de lineas.
Es claro que si lo colocas en un txtbox, lo colocas en un string...
Saludos!
|
|
|
En línea
|
MCKSys Argentina "Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."
|
|
|
asdexiva
Desconectado
Mensajes: 217
|
podria ser asi ? bytearray() = StrConv(Datos, vbFromUnicode) 'cmain frame bytearray(1846824, 1846825, 1846826, 1846827, 1846828, 1846829, 1846830, 1846831, 1846832, 1846833, 1846834) = Asc(Text1.Text) biterray esta declarado como string pero me sale una ventana diciendo error 13 no coinciden los datos
|
|
|
En línea
|
|
|
|
MCKSys Argentina
|
j va desde 1 hasta el largo del string i es el indice del array y va desde 1846824 (el primero) hasta 1846823 + el largo del texto dim i as long dim j as long for j = 1 to len(text1.text) i = j + 1846823 bytearray(i) = asc(mid(text1.text, j, 1)) next j
|
|
|
En línea
|
MCKSys Argentina "Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."
|
|
|
asdexiva
Desconectado
Mensajes: 217
|
muchisimas gracias funciona
me podrias explicar mas o menos el codigo pero en forma
if text1.text=xd then si text1 =xd entonces <-- asi please xd
quiero comprender bien el codigo si no es mucha molestia xD no logro enteder esto
i = j + 1846823 bytearray(i) = asc(mid(text1.text, j, 1))
como isestes desde 1846823 1846834 ?¿
|
|
« Última modificación: 15 Enero 2013, 18:44 pm por asdexiva »
|
En línea
|
|
|
|
MCKSys Argentina
|
Veamos:
Tienes un string que deseas insertar en un array. Para esto, necesitas recorrer los caracteres del string 1x1 e insertarlos en el array.
En el ejemplo, j va desde 1 (el primer char del string) hasta el largo (len) del mismo. Ahora, en TU ejemplo pusiste que deseabas comenzar a insertar elementos desde la posicion 1846824. Si tengo un contador (j) que va desde 1 hasta n, entonces si quiero contar desde 1846824 hasta 1846824 + n, lo que hago es: 1846823 + j (j se incrementa en 1 en cada vuelta del for).
Se entiende?
Una cosa que deberas tener en cuenta es el tamaño del array. Verifica que tengas espacio suficiente...
Saludos!
|
|
|
En línea
|
MCKSys Argentina "Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."
|
|
|
asdexiva
Desconectado
Mensajes: 217
|
si muchas gracias entonces j viene siendo =al primer numero de 1846824 por ejemplo si yo tengo 1846120 y quiero que de ay empise no tengo que poner este numero si no 1846119 verdad xd por que vi que salta un byte en hex si no pongo un numero antes
|
|
|
En línea
|
|
|
|
MCKSys Argentina
|
Claro. Ambos contadores van de 1 en 1.
|
|
|
En línea
|
MCKSys Argentina "Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."
|
|
|
asdexiva
Desconectado
Mensajes: 217
|
muchisisisisisimas gracias no me canso de decirlo que gran foro xD
|
|
|
En línea
|
|
|
|
asdexiva
Desconectado
Mensajes: 217
|
Claro. Ambos contadores van de 1 en 1.
oye una dudilla xD ay alguna forma de que si quedan espacios vacios en el texbox se cambien por bytes ? son lo que se ponen con 00
|
|
|
En línea
|
|
|
|
|
|