ALEX_0077
07-24-2003, 06:33 PM
I seem to be stuck on this one:
I have an array of bitmap bits, and i need to stick them into a random access file. The problem was, it took waaaay too much space.
After quite a bit of tinkering, i managed to just have each byte in the bitmap bits array added to an array of strings (each string holds 32 bytes of characters). That way, i could technically just add each string as a Random File entry.
This is where the real problem lies.
It still takes waaaay too much space, and it takes forever to save the bitmap bits to the custom file (bitmap and text into one file) if its even bigger than 32 by 32 pixels!
Does anyone know of a better way? :) (thanks in advance)
'Here is approximatly what it looks like, assuming TotalBytes was already dim'ed and already has a value, and the Byte array is called 'bBYTE'
Dim I as long
Dim J as long
Dim MaxBytes as long
Dim TotalStrings as long
Dim sSTRING() as String
MaxBytes = 32
TotalStrings = TotalBytes / MaxBytes
redim sSTRING(0 to TotalStrings)
For I = 1 to TotalBytes
'Fill in Strings with Character representations of each byte
sString(J) = sString(J) & chr$(bBYTE(I))
'If this string is full, use the next String
if len(sString(J)) > MaxBytes then
J = J + 1
end if
next I
Open TheFile for Random as #1
For I = 0 to TotalStrings
'Put each string into the file as a record
Put #1, sSTRING(J)
next I
Close #1
I have an array of bitmap bits, and i need to stick them into a random access file. The problem was, it took waaaay too much space.
After quite a bit of tinkering, i managed to just have each byte in the bitmap bits array added to an array of strings (each string holds 32 bytes of characters). That way, i could technically just add each string as a Random File entry.
This is where the real problem lies.
It still takes waaaay too much space, and it takes forever to save the bitmap bits to the custom file (bitmap and text into one file) if its even bigger than 32 by 32 pixels!
Does anyone know of a better way? :) (thanks in advance)
'Here is approximatly what it looks like, assuming TotalBytes was already dim'ed and already has a value, and the Byte array is called 'bBYTE'
Dim I as long
Dim J as long
Dim MaxBytes as long
Dim TotalStrings as long
Dim sSTRING() as String
MaxBytes = 32
TotalStrings = TotalBytes / MaxBytes
redim sSTRING(0 to TotalStrings)
For I = 1 to TotalBytes
'Fill in Strings with Character representations of each byte
sString(J) = sString(J) & chr$(bBYTE(I))
'If this string is full, use the next String
if len(sString(J)) > MaxBytes then
J = J + 1
end if
next I
Open TheFile for Random as #1
For I = 0 to TotalStrings
'Put each string into the file as a record
Put #1, sSTRING(J)
next I
Close #1