Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.06.2010, 23:08   #1
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию BMP + INI

Привет!

Вот для одного проекта потребовалось записать bmp файл в ini.

Пробовал через запись handle'a но при чтении пустая картинка, через запись ini.WriteBinaryStream пустая строка при сохранении.

как сохранение картинок в .dfm файл происходит? Мне бы такой результат получить (сохранение/чтение)

P.S. Может кто голову ломал над этим?
ZuBy вне форума Ответить с цитированием
Старый 23.06.2010, 23:27   #2
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

Цитата:
как сохранение картинок в .dfm файл происходит?
А взять и посмотреть нельзя?
В любом случае суть одна - надо бы преобразовать это в текст, в котором всякие нулевые байты и прочее не попадутся посреди строки. Можно, например, использовать Base64 или UUE.
Somebody вне форума Ответить с цитированием
Старый 23.06.2010, 23:42   #3
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

Цитата:
Сообщение от Somebody Посмотреть сообщение
А взять и посмотреть нельзя?
В любом случае суть одна - надо бы преобразовать это в текст, в котором всякие нулевые байты и прочее не попадутся посреди строки. Можно, например, использовать Base64 или UUE.
ну я посмотрел, а толку то. если бы понял, не задавал бы вопрос.
а как это преобразовать в текст, а точнее что именно handle или поток или что то еще?
ZuBy вне форума Ответить с цитированием
Старый 24.06.2010, 00:55   #4
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Вот, что я набросал - запись .bmp в файл и чтение из него (см. Вложения).
Насчет
Код:
ini.WriteBinaryStream
есть ледующее
Цитата:
Note: When used a Windows .ini file, ReadBinaryStream is limited to 1023 characters.
т.е. записать мы вроде как запишем, а прочитаем только 1023 байта.
Вот еще почитай эту тему ==> Клац, возможно что-то возьмешь оттуда.
Ну и собственно пример:
Вложения
Тип файла: rar prim.rar (183.7 Кб, 7 просмотров)
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Старый 24.06.2010, 01:04   #5
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

spamer, спасибо за пример, но меня интересует именно чтение и запись в ini.

Щас попробуй совместить ini и твои пример
ZuBy вне форума Ответить с цитированием
Старый 24.06.2010, 01:26   #6
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

а если сжать zlib'ом и прочитать ini.ReadBinaryStream?

P.S. у меня все картинки 128х128


added: вот что получилось с zlib, может кто знает почему так происходит?
Вложения
Тип файла: rar bmp+ini+zlib.rar (4.8 Кб, 7 просмотров)

Последний раз редактировалось ZuBy; 24.06.2010 в 01:53.
ZuBy вне форума Ответить с цитированием
Старый 24.06.2010, 02:29   #7
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Вот вроде то, что вам надо (см. Вложения):
Для обхода вот этого ограничения:
Код:
Note: When used a Windows .ini file, ReadBinaryStream is limited to 1023 characters.
использовал TMemIniFile.
з.ы. возможно что-то я не понимаю, но с простым TIniFile оно не захотело у меня работать...
Вложения
Тип файла: rar prim.rar (186.5 Кб, 8 просмотров)
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Старый 24.06.2010, 04:04   #8
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

Спасибо, очень помогло!
ZuBy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как пересмотреть все секции в INI.ini ? iskurt Помощь студентам 1 31.01.2010 07:48
timage в bmp varelik Мультимедиа в Delphi 8 21.12.2009 09:55
Программа BMP PradoSV Общие вопросы C/C++ 0 23.11.2009 23:25
Bmp в ico AngelOfDeath Мультимедиа в Delphi 9 30.12.2008 06:21