"The code is exactly
how I would like to write code and the algorithms used are very
efficient and well-documented."
Van T. Dinh, Microsoft MVP
|
|
Class: CRLE
Class that implements run length encoding. This Run Length Encoding algorithm reduces strings of recurring characters to a single character, followed by a count of how many times the character occurred.
|
Procedure Name
|
Type
|
Description
|
|
(Declarations)
|
Declarations
|
Declarations and private variables for the CRLE class
|
|
InputFileName
|
Property
|
Sets the input file name
|
|
OutputFileName
|
Property
|
Sets the output file name
|
|
Compress
|
Method
|
Compresses the input file to the output file
|
|
CompressString
|
Method
|
Compresses an input string
|
|
dblToLong
|
Private
|
Performs an unsigned conversion from a Double value to a Long value.
This function correctly handles doubles greater than 2,147,483,647 and less than or equal to 4,294,967,295.
|
|
Decompress
|
Method
|
Decompresses the input file to the output file
|
|
DecompressString
|
Method
|
Decompresses a string that was previously compressed using the CompressString method of this class.
|
|
ExpandBufferRun
|
Private
|
Writes a run of bytes to a buffer
|
|
ExpandRun
|
Private
|
Writes a run of bytes to the file.
|
|
HiByte
|
Private
|
Returns the high byte of the passed integer
|
|
HiWord
|
Private
|
Returns the high integer of the passed long
|
|
IntToLong
|
Private
|
Converts an Integer value to a Long value, treating the integer as unsigned.
For example, performing the following assignment
lngNumber = -1
assigns -1 to the variable lngNumber. However, This assignment
lngNumber = IntToLong(-1)
assigns 65,535 to lngNumber.
|
|
LoByte
|
Private
|
Returns the low byte of the passed integer
|
|
LongToInt
|
Private
|
Performs an unsigned conversion from a Long value to an integer value
|
|
LoWord
|
Private
|
Returns the low integer of the passed long
|
|
ReadFile
|
Private
|
Reads the specified number of bytes from the file.
Using this function significantly increases the speed of processing files. The alternative to using a file buffer is reading a byte at a time from the file
|
|
Shll
|
Private
|
Shifts a numeric Value left the specified number of bits.
Left shifting can be defined as a multiplication operation. For the number of bits we want to shift a value to the left, we need to raise two to that power, then multiply the result by our original value.
|
|
WriteBufferRun
|
Private
|
Writes a run of bytes to the output buffer
|
|
WriteRun
|
Private
|
Writes a run of bytes to the file.
|
Overview of Total Visual SourceBook
The source code in Total Visual
SourceBook includes modules and classes for Microsoft Access, Visual
Basic 6 (VB6), and Visual Basic for Applications (VBA) developers. Easily
add this professionally written, tested, and documented royalty-free code
into your applications to simplify your application development efforts.
Additional Resources
|
|