Hi all, How do I change bytes [text stored in those bytes] in a binary file?

I have a little function that read bytes 335-343 [For Keyer] and bytes 344-352 [for verifier] and displays it. These bytes store who the keyerID and VerifierID of a data entry file are. From time to time the Verifier Resumes the file [to insert new records], and his/her name gets stored in the KeyerID bytes. So if the original keyer had lots of errors, the new verifier now becomes the owner of this file and the errors are attributed to him/her [not fair]. He/She gets penalized when there are lots of errors.

My question to you is, how do I change the content of those bytes and save it to the file, without damaging any part of the file? I want to save 'H345' in those bytes, [H345 is an example of a Keyer/Verifier ID]

note - as of now I am using 010 Editor [binary editor]to manually change those bytes. When I use this editor, I can see the text portions for those bytes.

I am using vb.net 2008Here is the function I use to find out who the keyer and Verifier of the date entry file are.

Sub FindInfoFromFile(ByRef strFileToCheck As String)

    Dim bYes As Boolean
    Dim strOpName As String = ""
    Dim strVerName As String = ""
    Dim strKeyer As String = ""
    Dim strVerifier As String = ""
    Dim strFileFlag As String = ""

    Dim intMyPos As Short
    Dim intMyPos2 As Short

    On Error GoTo ErrorHandler

    If strFileToCheck <> "" Then
        Fname = Fname & strFileToCheck

        strOpName = ""
        strVerName = ""
        strFileFlag = ""
        sNewFile = Fname

        Using fs As New FileStream(sNewFile, FileMode.Open)

            Dim strOutofBFlag As String = ""
            Using br As New BinaryReader(fs)

                'Check The file type to see it it is an ezc file
                fs.Position = 0
                'For x As Integer = 1 To 2
                strFileFlag &= br.ReadChar
                If strFileFlag <> "d" Then
                    'Exit the loop because this is not an ezc file
                    MsgBox("Invalid File Type Being Checked: " & sNewFile)
                    GoTo ExitFileCheck
                End If

                fs.Position = 335
                'Get Keyers Name - this info is stored in bytes 335 to 344
                For x As Integer = 335 To 343
                    strOpName &= br.ReadChar
                Next x
                'Verifier are bytes 344-352
                fs.Position = 344
                For x As Integer = 344 To 352
                    strVerName &= br.ReadChar
                Next x

            End Using
        End Using

        'Parse the Keyers name by removing unwanted characters
        intMyPos2 = 0
        intMyPos2 = FindNonBlankPos(strOpName, Chr(0))
        strKeyer = Mid(strOpName, 1, intMyPos2 - 1)
        Text5.Text = strKeyer

        'Parse the Verifyer name by removing unwanted characters
        intMyPos2 = 0
        intMyPos2 = FindNonBlankPos(strVerName, Chr(0))
        strVerifier = Mid(strVerName, 1, intMyPos2 - 1)
        'Text8.Text = StatusDB.GetNameByEmpID(strVerifier)
        Text8.Text = strVerifier
    End If

        Exit Sub

        Select Case Err.Number
            Case 5
                MsgBox("Invalid File Type " & Err.Number & " :-: " & Err.Description)
                'Resume Next
            Case Else
                'cout Err.Number & Err.Description, endl
                Call HandleUnexpectedError(Err.Number, Err.Description)
        End Select

        Resume ExitHere
        'GoTo ExitHere
        Resume Next

    End Sub

Thanks in advance


Edited by Dani: Formatting fixed

6 Years
Discussion Span
Last Post by elchalateco

This is what the begining of a datafile looks like:

d€€€€€€€€€€ô€€€æÅ€€<€€’€¸LØ€€€€ÿÿÿÿÂÿÿ€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€JWTRAD-C€€€JWTEDITC€€€FIXYR€€€€€€H578€€€€€€€H356€€€€€ED€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€f:/ezc/files/T9214054€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€JWT-1C€€€€€€€€€€€€JWT2RC€€€€€€€€€€€€JWTTOR-3€€€€€€€€€€JWT-3A€€€€€€€€€€   €€JWT2E€€€€€€€€€€€€€€€€€€€€€€€€€€€  €€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€
€€€€€€€€€€€€€€€€    €€€€€€€€€€€€€€€€€€€
€€€€€€€€€€€€€€€€!€€€    €€€€€€€€€€€€€€€€€€€€
€V€€€€`€€€€á¬i€€€€€€140541009      R                 €á¬à€€<€€CKAPFM09261034684                 TIM HORTONS   

You can see H578 KeyerID and H356 VerifierID about 2-3 lines down.
I would like to change any of these ID's without damaging the file.

Please help.


Edited by Dani: Formatting fixed

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.