Visual Basic - Editor Hexadecimal

Life is soft - evento anual de software empresarial
 
Vista:

Editor Hexadecimal

Publicado por Chrono (3 intervenciones) el 08/02/2004 23:16:32
De partida gracias por la ayuda de como pasar una dbf a mdb, pero ahora estoy creando un gran proyecto Jajajaja no encerio, estoy creando un editor hexadecimal pero el problema esta que no puedo abrir archivos mayores a 500 Kb aqui pongo el codigo aver si me ayudan un poquito de antemano gracias :-)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Editor Hexadecimal

Publicado por Chrono (3 intervenciones) el 08/02/2004 23:18:06
Private FileName As String
Private FileTitle As String
Private Sub LoadFile(fname As String, ftitle As String)
Dim fnum As Integer
Dim num_bytes As Integer
Dim bytes() As Byte
Dim txt As String
Dim line1 As String
Dim line2 As String
Dim unk As String
Dim ch As Integer
Dim i As Integer
Dim j As Integer
rchDisplay.Text = ""
FileName = fname
FileTitle = ftitle
Caption = "Franken [" & ftitle & "]"
DoEvents
fnum = FreeFile
Open fname For Binary As #fnum
num_bytes = LOF(fnum)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Editor Hexadecimal

Publicado por Chrono (3 intervenciones) el 08/02/2004 23:19:12
ReDim bytes(1 To num_bytes)
Get #fnum, , bytes
Close fnum
unk = Chr$(191)
i = 1
Do While i <= num_bytes
line1 = Format$(i, "@@@@@@: ")
line2 = " "
For j = 0 To 7
If i + j > num_bytes Then
line1 = line1 & " "
Else
ch = bytes(i + j)
line1 = line1 & Format$(Hex$(ch), "@@ ")
If ch >= 32 Then
line2 = line2 & Chr$(ch)
Else
line2 = line2 & unk
End If
End If
Next j
txt = txt & line1 & line2 & vbCrLf
i = i + 8
Loop
rchDisplay.Text = txt
End Sub
Private Sub Form_Load()
dlgFile.FileName = App.Path & "\*.*"
End Sub
Private Sub Form_Resize()
rchDisplay.Move 0, 0, ScaleWidth, ScaleHeight
End Sub
Private Sub mnuFileOpen_Click()
dlgFile.Flags = _
cdlOFNFileMustExist + _
cdlOFNHideReadOnly + _
cdlOFNLongNames
On Error Resume Next
dlgFile.ShowOpen
If Err.Number = cdlCancel Then Exit Sub
If Err.Number <> 0 Then
MsgBox "Error" & Str$(Err.Number) & _
" selecting file." & vbCrLf & Err.Description
End If
On Error GoTo 0
LoadFile dlgFile.FileName, dlgFile.FileTitle
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Editor Hexadecimal

Publicado por MAXI (3 intervenciones) el 11/02/2004 05:03:44
Hola no uses la funcion lof para leer el tamaño del archivo
usa filelen(DirecciondelArchivo) para leer el tamaño del archivo
y luego redimensionas el array de bytes
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar