Comparación de Ficheros
Publicado por Ernie- (1 intervención) el 14/02/2007 14:06:43
Buenas, tengo un problema con una comparación de ficheros. Resulta que es demasiado lento el proceso ya que busco posicion de memoria por posicion de memoria. Mi idea es que analice por bloques de 64 y sea capaz de mostrar en que posición de memoria está la diferencia incluido el dato contenido... Por ahora he llegado hasta aquí :
Private Sub Command1_Click()
Text2.Text = ""
Command1.Enabled = False
Dim nFic As Integer
Dim sFic As String
Dim posmemoria As Long
sFic = Text3.Text
Dim I As Long
For I = 0 To FileLen(sFic)
b = I + 1
DoEvents
'archivo original
sFic = Text3.Text
nFic = FreeFile
Label6.Caption = FileLen(sFic)
Open sFic For Binary As nFic
A$ = Space$(1)
Get nFic, Label1.Caption, A$
Afile = Asc(A$)
Close nFic
'archivo modificado
sFic = Text4.Text
nFic = FreeFile
Open sFic For Binary As nFic
A$ = Space$(1)
Get nFic, Label1.Caption, A$
Bfile = Asc(A$)
Close nFic
posmemoria = Label1.Caption - 1
' mostrar las posiciones de memoria donde hay diferencias
' y los datos contenidos entre parentesis y separados por comas
If Not Afile = Bfile Then _
Text2.Text = Text2.Text & posmemoria & "(" & Afile & ", " & Bfile & ")" & vbCrLf
Label1.Caption = Label1.Caption + 1
Next I
Command1.Enabled = True
Label1.Caption = "1"
End Sub
Espero que me podáis hechar una mano. Gracias
Private Sub Command1_Click()
Text2.Text = ""
Command1.Enabled = False
Dim nFic As Integer
Dim sFic As String
Dim posmemoria As Long
sFic = Text3.Text
Dim I As Long
For I = 0 To FileLen(sFic)
b = I + 1
DoEvents
'archivo original
sFic = Text3.Text
nFic = FreeFile
Label6.Caption = FileLen(sFic)
Open sFic For Binary As nFic
A$ = Space$(1)
Get nFic, Label1.Caption, A$
Afile = Asc(A$)
Close nFic
'archivo modificado
sFic = Text4.Text
nFic = FreeFile
Open sFic For Binary As nFic
A$ = Space$(1)
Get nFic, Label1.Caption, A$
Bfile = Asc(A$)
Close nFic
posmemoria = Label1.Caption - 1
' mostrar las posiciones de memoria donde hay diferencias
' y los datos contenidos entre parentesis y separados por comas
If Not Afile = Bfile Then _
Text2.Text = Text2.Text & posmemoria & "(" & Afile & ", " & Bfile & ")" & vbCrLf
Label1.Caption = Label1.Caption + 1
Next I
Command1.Enabled = True
Label1.Caption = "1"
End Sub
Espero que me podáis hechar una mano. Gracias
Valora esta pregunta


0