• Viernes 19 de Abril de 2024, 14:28

Autor Tema:  Comparar Dos Archivos  (Leído 1307 veces)

Erny83

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Comparar Dos Archivos
« en: Viernes 27 de Enero de 2006, 03:50 »
0
el problema que tengo es este... quiero diseñar una aplicacion que sea capaz de comparar dos archivos de igual tamaño pero distinto contenido, indicandome en que posicion esta la diferencia y que muestre el contenido de esa posicion. Hasta ahora tengo esto pero ni se si esta bien y si tengo algun fallo. (supongo que seran miles soy nuevo en visual basic)

' Primero  declararemos  variables del  primer archivo
'-----------------------------------------------------

Dim CanalLibre1 As Integer
Dim NombreArchivo1 As String
Dim Tamano1 As Integer
Dim NumRegistro1 As Integer


' Ahora pondremos los valores para que el bucle efectue
'-------------------------------------------------------

NumRegistro1 = 1
NombreArchivo1 = Form1.Label9.Caption
Tamano1 = Form1.Label31.Caption
CanalLibre1 = FreeFile


' Declaracion  de   las variables  del  segundo  archivo
'-------------------------------------------------------

Dim CanalLibre2 As Integer
Dim NombreArchivo2 As String
Dim Tamano2 As Integer
Dim NumRegistro2 As Integer


' Valores de los bucles
'-------------------------------------------------------

NumRegistro2 = 1
NombreArchivo2 = Form1.Label8.Caption
Tamano2 = Form1.Label29.Caption
CanalLibre2 = FreeFile


' Abrimos el primer archivo
Open NombreArchivo1 For Binary As #CanalLibre1 Len = Tamano1
' Abrimos el segundo archivo
Open NombreArchivo2 For Binary As #CanalLibre2 Len = Tamano2

' Nos aseguramos de que el tamaño sea igual con esta expresion
' Si no son iguales lanzar el error

If Len(NombreArchivo1) <> Len(NombreArchivo2) Then ErrSeleccion.Show _
Else _

' El bucle no finaliza hasta que llega al final del archivo
'----------------------------------------------------------

Do While Not EOF(1)

' se lee de un numero de registro, y el contenido se almacena en aux1
' ASEGURARSE SI SE TIENE QUE DECLARAR LA aux1 CON ANTERIORIDAD

      Get #NombreArchivo1, NumRegistro1, aux1

' leer  el  numero  de  registro  del segundo archivo y almacenar el
' contenido en aux2
' ASEGURARSE SI SE TIENE QUE DECLARAR LA aux2 CON ANTERIORIDAD

      Get #NombreArchivo2, NumRegistro2, aux2

' comparar  aux1  y aux2 si son iguales incrementara el bucle y sino
' almacenar el numero de registro del segundo archivo y su contenido
' en un control

If aux1 = aux2 Then NumRegistro1 = NumRegistro1 + 1 And NumRegistro2 = NumRegistro2 + 1 _
' En caso contrario se almacenará en TextBox el NumRegistro1 y el aux2
' y además incrementar el bucle

Else Temporal.Text1.Text = Temporal.Text1.Text + ", " + NumRegistro1 And _
Temporal.Text2.Text = Temporal.text2.text + ", " + aux2 And _
NumRegistro1 = NumRegistro1 + 1 And NumRegistro2 = NumRegistro2 + 1

Loop

Close #CanalLibre1
Close #CanalLibre2


A ver si me pueden ayudar con esto :S

Gracias por adelantado y un saludo.