Re: Reading binary/hex files (Delphi loadfromfile option?)
Posted by webmaster Guido on January 22, 2004 at 15:43:32:
In Reply to: Reading binary/hex files (Delphi loadfromfile option?) posted by Ashraf El-Sayed on January 19, 2004 at 13:56:33:
: Hello again. I need to display the entries of a hex file I have. When using the normal
text files, I usually create a listbox, then use the "LoadFromFile" option to copy the
strings into the listbox.items. Is there a similar Delphi procedure for reading/loading
hex files? Thanks!
No, there is no similar Delphi procedure for reading hex files, in fact "binary files".
In fact, you can use LoadFromFile to read *any* type of file, but this is useless if it isn't a text file for two reasons:
1. LoadFromFile reads text "lines" into items, a line ending with a CR/LF (carriage return/ line feed) code. In a binary file, there might not be any CR/LF or maybe just one in every so many thousand bytes.
2. If you display the data in a listbox or a memo component, every byte is translated to it's corresponding ASCII character, which would give you a strange mix of unreadable stuff, not the hex-codes.
How to proceed then? In pseudo code:
Open the file
Until the end-of-file Read a byte Translate the byte into its hexcode Add to a temporary string If tempstring has desired length (8,16,...) then Add tempstring to listbox, afterwards clear tempstring
If tempstring is not empty then Add tempstring to listbox Close the file