The ByteReader program
was developed to assist in searching large files for specific ASCII
and binary information. This application started small, but grew
steadily has my needs changed. The final result which is stll far
from finished is shown below.
Reader with GoldenGate.jpg image opened
The controls for the
Byte Reader program are fairly simple (even if they don't look it).
The Browse button opens a dialog box where the user can select a
file to load. When the file is opened, the file position is set
to zero and each type of data is read from the starting position.
Each type of data is displayed in the corresponding text box.
the file can be done in several different ways. To skip through
the file based on the data, the user can select the increment and
decrement button on either side of each data box. This will increment
the file pointer by the size of the associated data type. For instance
if you press the increment button on the right of the Byte
data field the file pointer will increment by one byte. If you press
the increment button for a double, the file pointer will increment
by 8 bytes (64-bits).
up of Byte Reader Controls
The user can also set
a scan rate (in bytes) and use the increment and decrement buttons
to skip ahead or back by the number of bytes in the textbox. The
final method of skipping through a file is the Set Position box.
The user can input a file position in bytes and the file pointer
is immediately set to the new position.
and Binary Searching
The search method allows
the user to define a value and search the file for that value. This
can be an ASCII string or any of the binary types displayed above.
To search for a binary value, the user selects the data type and
puts the value (in alphanumeric) in the search value parameter.
This works very well for non-floating values (int,long,byte,etc.),
but is considerably more difficult for floats and doubles. To find
a floating point value, the user must set the search value exactly
(all digits of precision) to have a successful search.
window is functional but still under development. The purpose of
the text window is to give a large scale view of upcoming data in
a file. Eventually the text window will support the display of any
standard data type, but currently only ASCII, Hex, and Byte data
types are supported. A screen capture of each is shown below.
Up of ByteReader Text Window (Set to ASCII)
Up of ByteReader Text Window (Set to Hexadecimal)
Up of ByteReader Text Window (Set to Byte)