elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Problema al guardar valores hexadecimales en archivo .bin ocupando 2 bytes
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema al guardar valores hexadecimales en archivo .bin ocupando 2 bytes  (Leído 7,983 veces)
Fabricio

Desconectado Desconectado

Mensajes: 115


Ver Perfil
Problema al guardar valores hexadecimales en archivo .bin ocupando 2 bytes
« en: 29 Septiembre 2009, 22:20 pm »

Hola a todos tengo el siguiente problema… tengo que guardar datos en un archivo .bin  (ej : pepe.bin)  en donde cada dato que voy a guardar tiene un nombre, tipo y ocupa cierta cantidad de bytes dentro del archivo ej :
nombre:    tamaño:   tipo de datos:
cantidad   2 bytes    binario LSB-MSB

el problema que me surge es que al leer la cantidad de la BD (tipo de dato integer) lo debo pasar a hexa  luego swapearlo  y guardar esos valores ocupando solo 2 bytes
Pd:  para abrir el archivo y ver como se guardaron los datos guardados uso el UEStudio (UltraEdit)
ej
Código:
Private Sub Form_Load()
Dim cantidad As Integer
Dim cantHexa  As String
Dim a As String
Dim b As String

cantidad = 6871             'lo paso a hexa
cantHexa = Hex(6871)  'y da "1AD7" que es un dato de tipo string

'ahora debo guardarlo swapeado y solo ocupando 2 bytes
a = Right(cantHexa, 2)  'D7
b = Left(cantHexa, 2)  '1A

Open "D:\pepe.bin" For Binary As #1
Put #1, 1, a 'D7
Put #1, 2, b '1A
Close #1
End Sub

El problema   :-( que tengo es que este codigo me guarda 44 31 41 en tres bytes (valor hexa de D, el de 1 y el de A el 7 se pisa porque A1 me ocupa 2 bytes ) esto lo veo  usando el UEStudio conmutando a  modo hexa
Lo que yo deseo guardar es D7 (no 44 37) ocupando  un solo byte y 1A (no 31 41) ocupando un solo byte o sea que cuando uso el UeStudio  en modo hexa vea D7 y 1A ocupando solo 2 byte  
Bueno se hizo largo por que trate de ser lo mas claro posible
Espero que se entienda  :huh:
Un gran saludo



« Última modificación: 29 Septiembre 2009, 22:26 pm por fabricioAngel » En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: Problema al guardar valores hexadecimales en archivo .bin ocupando 2 bytes
« Respuesta #1 en: 29 Septiembre 2009, 23:04 pm »

Tal vez asi...
Código:
Private Sub Form_Load()
Dim cantidad As Integer
Dim cantHexa  As String
Dim a As byte
Dim b As byte

cantidad = 6871             'lo paso a hexa
cantHexa = Hex(6871)  'y da "1AD7" que es un dato de tipo string

'ahora debo guardarlo swapeado y solo ocupando 2 bytes
a = CByte("&H" & Right(cantHexa, 2))  'D7
b = CByte("&H" & Left(cantHexa, 2))  '1A

Open "D:\pepe.bin" For Binary As #1
Put #1, 1, a 'D7
Put #1, 2, b '1A
Close #1
End Sub


En línea

Fabricio

Desconectado Desconectado

Mensajes: 115


Ver Perfil
Re: Problema al guardar valores hexadecimales en archivo .bin ocupando 2 bytes
« Respuesta #2 en: 30 Septiembre 2009, 14:27 pm »

Funciono perfecto muchas gracias Karcrack   :D
me podes aclarar como funciona el "&H"  a = CByte("&H" & Right(cantHexa, 2))
por que yo habia probado cantHexa = &HcantHexa pero no me funciono

muchas gracias
un saludo  :-\
En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: Problema al guardar valores hexadecimales en archivo .bin ocupando 2 bytes
« Respuesta #3 en: 30 Septiembre 2009, 15:22 pm »

Funciono perfecto muchas gracias Karcrack   :D
me podes aclarar como funciona el "&H"  a = CByte("&H" & Right(cantHexa, 2))
por que yo habia probado cantHexa = &HcantHexa pero no me funciono

muchas gracias
un saludo  :-\
El '&H' indica a la funcion CByte que es un numero hexadecimal...
En línea

Fabricio

Desconectado Desconectado

Mensajes: 115


Ver Perfil
Re: Problema al guardar valores hexadecimales en archivo .bin ocupando 2 bytes
« Respuesta #4 en: 30 Septiembre 2009, 16:15 pm »

Una mas ... esto de los numeros se me esta complicando  ;D ... como paso a hexa este numero 3502289056  :huh:
probe
Código:
dim a as double
dim b as string
a = 3502289056# ' el # me lo pone VB y no lo puedo borrar
b = Hex(a)
esto me da desbordamiento
yo quiero obtener D0C0B0A0

gracias
saludos
En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: Problema al guardar valores hexadecimales en archivo .bin ocupando 2 bytes
« Respuesta #5 en: 30 Septiembre 2009, 16:35 pm »

Con ese numero te pasas del tamaño del Long...

Para ser exacto estas poniendo un Double... para sacar el Hex de eso tienes que ir leyendo la memoria y ir byte por byte metiendo el valor Hexadecimal...
En línea

Fabricio

Desconectado Desconectado

Mensajes: 115


Ver Perfil
Re: Problema al guardar valores hexadecimales en archivo .bin ocupando 2 bytes
« Respuesta #6 en: 30 Septiembre 2009, 17:11 pm »

Ok gracias por eso el overflow
luego te cuento como me salio

gracias
saludos
En línea

ledred

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: Problema al guardar valores hexadecimales en archivo .bin ocupando 2 bytes
« Respuesta #7 en: 2 Febrero 2012, 19:24 pm »

Hola y como le puedo poner un text1 para que yo ingrese manualmente el numero hex gracias

cantHexa = Hex(6871)  'y da "1AD7" que es un dato de tipo string
En línea

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.465


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Problema al guardar valores hexadecimales en archivo .bin ocupando 2 bytes
« Respuesta #8 en: 2 Febrero 2012, 20:45 pm »

Suponiendo que tienes un TextBox (Text1):

Código:
Dim cantHexa as long

cantHexa = Clng("&H" + Text1.text)

Solo debes verificar que el largo del TextBox no cree un overflow y ademas que tenga caracteres correctos: 0..9, A..F

Saludos!
En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
guardar valores desde tabla en archivo txt « 1 2 3 4 5 »
Java
greenselves 42 45,091 Último mensaje 2 Abril 2014, 19:58 pm
por Aries87
Buscar valores hexadecimales « 1 2 »
Programación Visual Basic
Pegano25 11 8,825 Último mensaje 9 Julio 2011, 20:08 pm
por Pegano25
[DUDA] Abrir y cambiar valores hexadecimales
Programación Visual Basic
peperote 1 1,950 Último mensaje 21 Enero 2013, 15:42 pm
por Danyfirex
Trabajar con valores hexadecimales
Java
.:UND3R:. 1 2,578 Último mensaje 22 Noviembre 2013, 17:07 pm
por egyware
Valores hexadecimales en código
Programación C/C++
digimikeh 2 2,323 Último mensaje 5 Noviembre 2020, 17:19 pm
por @XSStringManolo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines