Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Tyrz en 8 Septiembre 2007, 12:51 pm



Título: Leer archivo .civ
Publicado por: Tyrz en 8 Septiembre 2007, 12:51 pm
Buenas necesito hacer un programa con vb 6 que abra archivos .civ(son de un juego) y editarlos, el problema esque yo los edito con un editor hexadecimal y me gustaria saber como abrir los archivos y leerlos en hexadecimal y guardarlos otra vez como estaban, no pido el codigo solo quiero saber como se haria ya que no tengo ni idea
Saludso y gracias!


Título: Re: Leer archivo .civ
Publicado por: Hendrix en 8 Septiembre 2007, 15:28 pm
para que en hexa??? puedes habrirlo en binario y ya vale.... :-\

Para transformar a hexa tienes el comando hexa()

Un Saludo  :)


Título: Re: Leer archivo .civ
Publicado por: Tyrz en 8 Septiembre 2007, 15:34 pm
ntonc si lo abro en binario y pongo el comando hexa ya me saldra como si lo abriera con un editor hexadecimal? Bueno gracias aver si cojo mi pc y pruebo


Título: Re: Leer archivo .civ
Publicado por: Hendrix en 8 Septiembre 2007, 15:39 pm
Puedes cojer caracter por caracter y sacar su ascii y pasarlo a Hexa, y ya lo tendrias igual  :)



Título: Re: Leer archivo .civ
Publicado por: Tyrz en 8 Septiembre 2007, 19:48 pm
pfff... no me sale esto es lo que llevo echo
Código:
Private Sub Command1_Click()
Open Text2.Text For Binary Access Read As #1
read = Input(LOF(1), #1)
Close #1
Text1.Text = read
For x = 1 To Len(Text1.Text)
num = Mid(Text1.Text, 1, x)
Text3.Text = Text3.Text & num
Next
End Sub
text1 = Sale el contenido del archivo
text2 = Ahi pones donde esta el archivo
text3 = Deberia salir el arhivo en hexa
llevo un buen rato probando diferentes cosas y en ninguna he conseguido que me salga! en este ultimo codigo me sale error type mismatch, Alguien sabe como arreglarlo? GRACIAS


Título: Re: Leer archivo .civ
Publicado por: cobein en 8 Septiembre 2007, 20:48 pm
Código:
Private Sub Command1_Click()
Open Text2.Text For Binary Access Read As #1
read = Input(LOF(1), #1)
Close #1
Text1.Text = read
For x = 1 To Len(Text1.Text)
num = Mid(Text1.Text, 1, x) <-- aca esta mal
Text3.Text = Text3.Text & num
Next
End Sub

esa linea seria num = hex(asc$(Mid$(Text1.Text, x,1)))




Título: Re: Leer archivo .civ
Publicado por: Tyrz en 9 Septiembre 2007, 09:52 am
me pone compile error :S


Título: Re: Leer archivo .civ
Publicado por: cobein en 9 Septiembre 2007, 10:20 am
Donde esta el error? la verdad lo mire ahi en el momento pero acabo de ver otra cosa mas.... postea el codigo que tengas y te digo


Título: Re: Leer archivo .civ
Publicado por: Tyrz en 9 Septiembre 2007, 10:48 am
esto es todo el codigo
Código:
Private Sub Command1_Click()
Open Text2.Text For Binary Access Read As #1
read = Input(LOF(1), #1)
Close #1
Text1.Text = read
For x = 1 To Len(Text1.Text)
num = Hex(Asc$(Mid$(Text1.Text, x, 1)))
Text3.Text = Text3.Text & Hex(Chr(Val(num)))
Next
End Sub
y al intentar abrir un archivo me pne
compile.error:
type-declaration character does not match declared data type
y me marca en amarillo la primera linea, el private sub command 1_click
Saludos y gracias


Título: Re: Leer archivo .civ
Publicado por: cobein en 9 Septiembre 2007, 10:54 am
ops diculpa me la mande ahi esta
 
num = hex(chr$(Mid$(Text1.Text, x,1)))


Título: Re: Leer archivo .civ
Publicado por: Tyrz en 9 Septiembre 2007, 11:50 am
compile errror.. bueno da = dejalo cuando tenga un poco de tiempo me pondre en serio
gracias :)


Título: Re: Leer archivo .civ
Publicado por: cobein en 9 Septiembre 2007, 12:05 pm
Ok, o compila o sigo suicidandome con cigarrillos y cervezas

Private Sub Command1_Click()
    Open Text2.Text For Binary Access Read As #1
    Read = Input(LOF(1), #1)
    Close #1
    Text1.Text = Read
    For x = 1 To Len(Text1.Text)
        num = Hex(Asc(Mid$(Text1.Text, x, 1)))
        Text3.Text = Text3.Text & num
    Next
End Sub


Título: Re: Leer archivo .civ
Publicado por: cobein en 9 Septiembre 2007, 12:08 pm
Ah algo que me olvidaba lo tenes que volver a guarda :D


Título: Re: Leer archivo .civ
Publicado por: Tyrz en 9 Septiembre 2007, 12:54 pm
ala ya esta :D muchas gracias!