' compare two files' return True if they're equalFunction CompareFiles(ByVal file1 As String, ByVal file2 As String) As Boolean Dim fnum1 As Integer, isOpen1 As Boolean Dim fnum2 As Integer, isopen2 As Boolean Dim buffer1 As String, buffer2 As String Dim bytesLeft As Long ' size of the buffer - increase as needed Const BUFFERSIZE = 10240 buffer1 = Space$(BUFFERSIZE) buffer2 = buffer1 On Error GoTo ExitProc ' compare the lengths ' exit if not equal or if any error bytesLeft = FileLen(file1) If bytesLeft <> FileLen(file2) Then Exit Function ' open the first file fnum1 = FreeFile Open file1 For Binary As #fnum1 isOpen1 = True ' open the second file fnum2 = FreeFile Open file2 For Binary As #fnum2 isopen2 = True ' read the entire files in chunks Do While bytesLeft ' don't read more than the residual bytes If bytesLeft < Len(buffer1) Then buffer1 = Space$(bytesLeft) buffer2 = buffer1 End If ' read a bunch of bytes from both files Get #fnum1, , buffer1 Get #fnum2, , buffer2 ' exit if files don't match If buffer1 <> buffer2 Then Exit Do ' evaluate how many bytes are left to read bytesLeft = bytesLeft - Len(buffer1) Loop ' if we get here because we read the entire ' files, then the two files are equal CompareFiles = (bytesLeft = 0) ' flow through the error handler routine ' to close files and exit ExitProc: If isOpen1 Then Close #fnum1 If isopen2 Then Close #fnum2 ' raise the error in the client code If Err Then Err.Raise Err.Number, , Err.Description End IfEnd Function


What We Should Expect from Cell Phone Tech in the Near Future
The earliest cell phones included boxy designs full of buttons and antennas, and they only made calls. Needless to say, we’ve come a long way from those classic brick phones