Option Explicit
Const clngChunk = 50000
Dim bytOrig() As Byte
Dim bytCopy() As Byte
Dim lngRemaining As Long
Dim lngRemaining2 As Long
Private Sub CopyFile()
Label1.Enabled = True
ReDim bytOrig(clngChunk - 1)
Open "mydata.txt" For Binary As #1
Open "copydata.txt" For Binary As #2
lngRemaining = LOF(1)
While lngRemaining >= clngChunk
Get #1, , bytOrig
Put #2, , bytOrig
lngRemaining = lngRemaining - clngChunk
Wend
If lngRemaining > 0 Then
ReDim bytOrig(lngRemaining - 1)
Get #1, , bytOrig
Put #2, , bytOrig
End If
Close #2
Close #1
Check1.Value = vbChecked
Label3.ForeColor = vbGreen
Label3.Caption = "Copy Successful"
End Sub
Private Sub CompareFailed()
Label3.ForeColor = vbRed
Label3.Caption = "Compare failed!"
Close #2
Close #1
End Sub
Private Sub CompareFile()
Label2.Enabled = True
ReDim bytOrig(clngChunk - 1)
ReDim bytCopy(clngChunk - 1)
Open "mydata.txt" For Binary As #1
Open "copydata.txt" For Binary As #2
lngRemaining = LOF(1)
lngRemaining2 = LOF(2)
If lngRemaining <> lngRemaining2 Then
CompareFailed
Exit Sub
End If
While lngRemaining >= clngChunk
Get #1, , bytOrig
Get #2, , bytCopy
If StrComp(bytOrig, bytCopy, vbBinaryCompare) <> 0 Then
CompareFailed
Exit Sub
End If
lngRemaining = lngRemaining - clngChunk
Wend
If lngRemaining > 0 Then
ReDim bytOrig(lngRemaining - 1)
ReDim bytCopy(lngRemaining - 1)
Get #1, , bytOrig
Get #2, , bytCopy
If StrComp(bytOrig, bytCopy, vbBinaryCompare) <> 0 Then
CompareFailed
Exit Sub
End If
End If
Close #2
Close #1
Check2.Value = vbChecked
Label3.ForeColor = vbGreen
Label3.Caption = "Compare Successful"
End Sub
Private Sub Form_Load()
CopyFile
CompareFile
End Sub