dcsimg
Results 1 to 3 of 3

Thread: [VB6] Text Differences

  1. #1

    Thread Starter
    Lively Member
    Join Date
    May 2007
    Posts
    84

    [VB6] Text Differences

    Say I have 2 files, and they are both different. One has more stuff than others.

    Example:
    File1: "Hello"
    File2: "Hello1 Hello"

    How could I compare the 2 files, find the differences in text, and add the differences to the first file?

  2. #2
    Frenzied Member
    Join Date
    Oct 2003
    Posts
    1,301

    Re: [VB6] Text Differences

    Testing if two strings are not the same is easy.

    Finding what the differences are is trickier.
    In your example, would File2 be File1 & "1 Hello" or would it be "Hello1 "& File1?

    What do you want to do?
    What are these files?
    What kind of data do they contain and how ae they formatted?

  3. #3
    Super Moderator Hack's Avatar
    Join Date
    Aug 2001
    Location
    Searching for mendhak
    Posts
    58,335

    Re: [VB6] Text Differences

    Try this
    Code:
    Private Function CompareFiles(FirstFile As String, SecondFile As String) As Boolean
    'Description: Compares the content of two files
    Dim Part As Long
    Dim Whole As Long
    Dim Part As Long
    Dim Start As Long
    Dim Buffer1 As String
    Dim Buffer2 As String
    Dim x As Long
    
    Open FirstFile For Binary As #1
    Open SecondFile For Binary As #2
    CompareFiles = True
    If LOF(1) <> LOF(2) Then
        CompareFiles = False
    Else
        Whole = LOF(1) \ 10000         'number of whole 10,000 byte chunks
            Part = LOF(1) Mod 10000        'remaining bytes at end of file
            Buffer1 = String$(10000, 0)
            Buffer2 = String$(10000, 0)
            Start = 1
            For x = 1 To Whole            'this for-next loop will get 10,000
            Get #1, Start, Buffer1      'byte chunks at a time.
            Get #2, Start, Buffer2
            If Buffer1 <> Buffer2 Then
                CompareFiles = False
                    Exit For
            End If
            Start = Start + 10000
            Next
            Buffer1 = String$(Part, 0)
            Buffer2 = String$(Part, 0)
            Get #1, Start, Buffer1        'get the remaining bytes at the end
            Get #2, Start, Buffer2        'get the remaining bytes at the end
            If Buffer1 <> Buffer2 Then CompareFiles = False
            End If
            Close #1
            Close #2
            If CompareFiles Then
                MsgBox "Files are identical"
            Else
                MsgBox "Files are NOT identical"
            End If
    End Function
    I don't remember where I got it, but I've used it a couple of times and it seems to work fine.
    Please use [Code]your code goes in here[/Code] tags when posting code.
    When you have received an answer to your question, please mark it as resolved using the Thread Tools menu.
    Before posting your question, did you look here?
    Got a question on Linux? Visit our Linux sister site.
    I dont answer coding questions via PM or EMail. Please post a thread in the appropriate forum section.

    Creating A Wizard In VB.NET
    Paging A Recordset
    What is wrong with using On Error Resume Next
    Good Article: Language Enhancements In Visual Basic 2010
    Upgrading VB6 Code To VB.NET
    Microsoft MVP 2005/2006/2007/2008/2009/2010/2011/2012/Defrocked

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Featured


Click Here to Expand Forum to Full Width