Вниз
Скачать: CL | DM;

Помогите с бинарными файлами.   Найти похожие ветки 

 
Zaletchik   (2005-10-14 18:04) [0]

Опыта в работе с Delphi немного, поэтому прошу о помощи, т.к. по данному вопросу конкретного ничего найти не удалось. А вопрос такой: Мне нужно из двоичного файла вывести данные в Memo(или ещё куда-нибудь) в том же двоичном виде по байтно и как сделать, чтобы можно было изменять вид на шестнадцатиричный, ASCI или др. Пробовал делать сам, но с файлом 512 кбайт это занимает ужасно много времени(а реале файлы будут несколько гигов), а в некоторых программах этот процес вообще не заметен. И вообще, как более быстро можно обработать с бинарным файлом? Заранее благодарен.


 
Гаврила ©   (2005-10-14 18:19) [1]

Только вывод, или еще и редактирование?
В любом случае - файл в оперативку грузить не надо.
Читай тот кусок файла, который в данный момент виден на экране.
Определяй смещение начала ,конца, и FileStream-ом читай


 
Zaletchik   (2005-10-20 12:09) [2]

Только вывод нужен, ну и ещё поиск нужно осуществить. А FileStream-ом попробую. А у ты не можешь кинуть ссылочку где можно посмотреть как оптимальней работать с FileStream?


 
Anatoly Podgoretsky ©   (2005-10-20 13:06) [3]

При выводе в двоичном виде имеем примерно по 9 символов на байт, а размер мемо ограничен 2 гб
Можно воспользоваться каким ни будь гридом, только файл обрабатывать небольшими кусками, подкачивая нужное.


 
Anatoly Podgoretsky ©   (2005-10-20 13:09) [4]

Но обычно это делают не в двоичном, а в шестнадцатиричном виде в формате

ADDRESS B0 B1 B2..... BF  0123456789ABCDEF
address   xx yy ..           characters


 
KorvinOE ©   (2005-11-03 12:43) [5]

А как же можно изменять вид на шестнадцатиричный, ASCI или др.?


 
Digitman ©   (2005-11-03 12:51) [6]

а нужен очередной велосипед ?

http://www.mirkes.de/en/delphi/vcls/hexedit.php



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
14-1130263029
Arazel
2005-10-25 21:57
2005.11.20
Где взять модуль HSLUtils?


2-1130933037
~SaM~
2005-11-02 15:03
2005.11.20
Как сделать так, что бы окно программы было поверх ВСЕХ окон?


1-1130247302
DinoRay
2005-10-25 17:35
2005.11.20
Как изменить FileVersion в файле *.res?


3-1129102613
akm2
2005-10-12 11:36
2005.11.20
как через params записать в MySQL значение NULL


14-1130248221
вразлет
2005-10-25 17:50
2005.11.20
Краткий сетевой словарь либерального сверхчеловека




   Наверх