ファイルの内容が同じか調べる
ここに載せてあるソースコードは、参考のために載せてあります
サンプルコードは、一番下にLZHとしてあります
前回のLikeを使った"ファイルの内容が同じか調べる"は、
欠陥がある事が分かりましたので新しくサンプルを作り直しました
Lukia.dllが必要です(2000/7/10)
2001/8/5 - VisualBasicの標準機能でも可能なので作りなおしました。
Option Explicit '下記のようにすると 'ヌル値の後も比較されていることがわかります ' 'StrComp("A" & vbNullChar & "B", "A" & vbNullChar & "C") '結果は、-1 (同じではない) ' 'フォームをロードしました Private Sub Form_Load() '比較するファイルをテキストボックスに設定します Text1.Text = App.Path & "\" & "project1.gif" Text2.Text = App.Path & "\" & "dll.gif" End Sub '比較ボタンをクリックしました Private Sub Command1_Click() 'テキストボックスに入力してある 'ふたつのファイルを比較して結果を表示します If FileBinaryCompare(Text1.Text, Text2.Text) = True Then Label4.Caption = "同じです" Else Label4.Caption = "同じではありません" End If End Sub '指定のふたつのファイルをバイナリ比較して '同じファイルであるかを返します Function FileBinaryCompare(ByVal strFile1 As String, ByVal strFile2 As String) As Boolean Dim fn As Integer Dim fz1 As Long Dim fz2 As Long Dim bytArray1() As Byte Dim bytArray2() As Byte Dim j As Long Dim jmax As Long 'ファイル1を読み込みます fn = FreeFile fz1 = FileLen(strFile1) - 1 ReDim bytArray1(fz1) Open strFile1 For Binary As #fn Get #fn, , bytArray1 Close 'ファイル2を読み込みます fn = FreeFile fz2 = FileLen(strFile2) - 1 ReDim bytArray2(fz2) Open strFile2 For Binary As #fn Get #fn, , bytArray2 Close 'ふたつの内容を比較して '結果を関数に返します FileBinaryCompare = CBool(StrComp(bytArray1, bytArray2, vbBinaryCompare) = 0) End Function |