I just whipped this up real quick waiting for a spot in the battle grounds. I may use this in JoeChat to make sure you're using the same version as the other person is, etc. You can use this if you ever write a server for something and want to either require your client to be used or have your client present for checksumming. This is the same as CRev() only a lot less complex. See comments for formula format. Untested (written in gedit, not VB).
Public Function Checksum(Formula as String, Files() as String)
' Used to create a checksum of multiple files based on a Formula
' Formula format: Number, Operation, Operation
' Formula example: 1+-
' Usage example: Checksum("1+^", Array("C:\File1.exe", "C:\File2.txt")
Dim Ret as Long, I as Integer, I2 as Integer
Ret = Val(Mid(Formula, 1, 1))
For i = LBound(Files) To UBound(Files)
Open Files(I) For Binary Access Read As #1
For I2 = 1 to LOF(#1)
sTemp = Space(1)
Get #1, I2 + 1, sTemp
If I2 Mod 2 = 0 Then
Ret = Val(CStr(Ret) & Mid(Formula, 2, 1) & CStr(Asc(sTemp)))
Else
Ret = Val(CStr(Ret) & Mid(Formula, 3, 1) & CStr(Asc(sTemp)))
End If
Close #1
Next i2
Next i
Checksum = Ret
End Function