Форум » [x]Harbour » Хранение *.zip файлов в базе ? » Ответить

Хранение *.zip файлов в базе ?

Andrey: Сделал запись zip-файлов в мемо-поля базы (драйвер DBFCDX). Файлы записываются без ошибок, только после извлечения из мемо-поля - архив становиться "битым" и не распаковывается. Как победить это ? Или нужно другую базу использовать ?

Ответов - 29, стр: 1 2 All

Andrey: PSP пишет: А почему hb_memoread? Она ж вроде для текстовых файлов предназначена, не? Иконки и бмп - не текстовые. Самое простое... Давно использую. В хХарборе есть функции HB_Base64DecodeFile() и HB_Base64EncodeFile() А в Харборе как они называются ?

Dima: Andrey пишет: В хХарборе есть функции HB_Base64DecodeFile() и HB_Base64EncodeFile() Свои напиши..

SergKis: Особо и писать не надо[pre2] #translate _Base64EncodeFile( <cFile> ) => hb_Base64Encode( hb_MemoRead( <cFile> ) ) #translate _Base64DecodeFile( <cFile> , <cBuff> ) => hb_MemoWrit( <cFile>, hb_Base64Decode( <cBuff> ) ) или #translate _Base64DecodeFile( <cBuff> , <cFile> ) => hb_MemoWrit( <cFile>, hb_Base64Decode( <cBuff> ) ) [/pre2]


Andrey: SergKis пишет: Особо и писать не надо Спасибо !

Sergy: Для хранения иконок, звуков и прочих двоичных данных давно придуманы "ресурсы", которые зашиваются в тело exe-шника программы. Погуглите в сторону hb_gtInfo( HB_GTI_ICONRES, "icon_name" ) - наверняка, это окажется удобнее, чем бинарный файл переводить в Base64 и внедрять его в код программы.

Andrey: Sergy пишет: это окажется удобнее, чем бинарный файл переводить в Base64 и внедрять его в код программы. Это просто ещё ОДИН способ хранения ресурсов. И не я его придумал, посмотри библиотеку МиниГуи там есть уже такое. Например TsBrowse. Sergy пишет: Для хранения иконок, звуков и прочих двоичных данных давно придуманы "ресурсы", которые зашиваются в тело exe-шника программы. Не всегда это удобно, ехе-ник сильно раздувается. У меня уже 20 Мб ресурсов, всякие иконки для программы. Это много и неудобно, лучше иметь отдельную отдельную библиотеку myResource.dll для таких целей. А печатные формы формата xml вообще держу в dbf с мемо полем, чтобы не было кучи файлов.

Pasha: Так если проект состоит из одного exe-шника, то ресурсы разумнее хранить именно в нем. Если это много exe-шников, которые используют одни и те же данные, то есть смысл их выделить в отдельную dll

PSP: Andrey пишет: У меня уже 20 Мб ресурсов Ты ж с готовностью собрался загонять 350Мб данных в память, причем бесконтрольно, а 20Мб, которые будут под контролем менеджера памяти, тебя смущают. Странно...))

SergKis: Pasha Если это много exe-шников, которые используют одни и те же данные, то есть смысл их выделить в отдельную dll Или поместить несколько иконок в тело lib и не думать об этих иконках. Перетащил в ресурсы нового exe их ? Или та ли версия dll у клиента, и с теми иконками.Это просто ещё ОДИН способ хранения ресурсов.



полная версия страницы