Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2012.04.15;
Скачать: [xml.tar.bz2];

Вниз

Как лучше хранить картинки используемые в программе?   Найти похожие ветки 

 
Baks   (2011-12-09 01:47) [0]

Есть две программы находящиеся всегда вместе в одной папке, которые используют несколько одинаковых картинок разного размера. Я создаю Img.Res файл и присоединяю к программам. Получается, что в каждой программе одинаковые картинки, которые увеличивают их размер. Хотелось бы чтобы картинки хранились в одном экземпляре и использовались обеими программами. Хранить их просто в папке с программами в виде *.bmp файлов не хочется. Можно например сделать DLL, в которой будут хранится картинки и загружаться оттуда обеими программами. Но хотелось бы как можно проще. Что бы вы посоветовали? Где лучше хранить эти картинки?


 
antonn ©   (2011-12-09 01:58) [1]

хранил бы сжатыми в ресурсе программы, и не парился


 
KilkennyCat ©   (2011-12-09 01:59) [2]


> Где лучше хранить эти картинки?

ты их уже хранишь в Img.Res, осталось запихнуть его в C:\ProgramData\.. (вин7 если)


 
Baks   (2011-12-09 02:04) [3]


> хранил бы сжатыми в ресурсе программы, и не парился


Не понял, как это?


> осталось запихнуть его в C:\ProgramData\.. (вин7 если)

Тоже не понял. у меня не win7. XP и D5


 
Rouse_ ©   (2011-12-09 02:07) [4]


> Можно например сделать DLL, в которой будут хранится картинки
> и загружаться оттуда обеими программами. Но хотелось бы
> как можно проще.

Ну, вообще-то, это самый простой и правильный вариант под твою задачу.


 
antonn ©   (2011-12-09 02:08) [5]


> Не понял, как это?

сжал бы файл zlib"ом и прикрепил в виде ресурса в программу


 
Rouse_ ©   (2011-12-09 02:09) [6]

Как вариант, если библиотека ничего не делает, кроме хранения картинок, то тогда храни картинки в ресурсах приложения "А", и само приложение "А" подгружай из приложения "Б" как библиотеку.


 
antonn ©   (2011-12-09 02:10) [7]


> Rouse_ ©   (09.12.11 02:09) [6]

чет мне кажется это про микроскоп и гвозди сказ =)


 
Rouse_ ©   (2011-12-09 02:15) [8]


>  antonn ©   (09.12.11 02:10) [7]
>
>
> > Rouse_ ©   (09.12.11 02:09) [6]
>
> чет мне кажется это про микроскоп и гвозди сказ =)

Ну воть те здрассь.
Что экзешник, что библиотека, является банальным файлом PE формата с секцией ресурсов.
Ково хрена можно использовать ресурсы из либы и нельзя из экзешника?
ЗЫ: открою секрет - экзешник тоже может экспортировать функции как и библиотека и сторонние приложения их могут безболезненно вызывать ;)


 
DiamondShark ©   (2011-12-09 02:15) [9]


> Что бы вы посоветовали?

Если это последняя проблема, оставшаяся в разработке приложения, то мы бы посоветовали не париться по мелочам.
Хранение как отдельных файлов требует НОЛЬ дополнительных усилий и имеет НОЛЬ рациональных агрументов против.


 
Baks   (2011-12-09 02:22) [10]


antonn
> сжал бы файл zlib"ом и прикрепил в виде ресурса в программу


Так ведь одни и теже в обеих!


> Rouse_


Библиотека ничего не делает. И не хотелось бы её создавать только ради картинок. А как лучше, в DLL или как написано в [6]. Если как в [6], то хотелось бы маленький примерчик как загрузить картинки из другого приложения?


DiamondShark
> Хранение как отдельных файлов


Да не красиво это разбрасывать все потроха.


 
Rouse_ ©   (2011-12-09 02:24) [11]


> то хотелось бы маленький примерчик как загрузить картинки
> из другого приложения?

Так-же как из билиотеки.

LoadLibrary + TResourceStream  на инстанс полученный от первой функции


 
Baks   (2011-12-09 02:27) [12]


> Rouse_ ©   (09.12.11 02:24) [11]


Спасибо, попробую.


 
DiamondShark ©   (2011-12-09 02:36) [13]


> Baks   (09.12.11 02:22) [10]
> Библиотека ничего не делает. И не хотелось бы её создавать
> только ради картинок.

Ресурсные ДЛЛ -- стандартная практика.


> Да не красиво это разбрасывать все потроха.

Если приложение ставится инсталятором, то неважно, сколько там файлов. Папка приложения в Program Files не для красоты, а для хранения.


 
Baks   (2011-12-09 02:42) [14]


> Папка приложения в Program Files не для красоты, а для хранения


Да, но это не значит, что туда никто не заглядывает.
И ещё, если например сделать переносимую версию без инсталлятора.


 
Rouse_ ©   (2011-12-09 02:51) [15]


> Да, но это не значит, что туда никто не заглядывает.

Врятли пользователь заявит рекламацию в связи с составом програмного пакета в Program Files


> И ещё, если например сделать переносимую версию без инсталятора.

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


 
DiamondShark ©   (2011-12-09 03:11) [16]


> Врятли пользователь заявит рекламацию в связи с составом
> програмного пакета в Program Files

Пользователи чрезвычайно изобретательны в заявлении претензий.

У меня была одна программа, скомпилированная в монолитный ехешник. Я очень гордился тем, что её не надо было инсталлировать, настраивать, устанавливать какие-то сторонние компоненты.
Один потенциальный пользователь отказался приобретать программу со странной мотивировкой: "Она у вас несерьёзная". Я попросил уточнить, что это значит. Функционал слабый? Интерфейс ламерский? Оказалось -- серьёзная программа -- это состоящая из 100500 файлов и инсталирующаяся не менее 16 минут. А тут какой-то один файл и никакой инсталляции с такими "серьёзными" визардами и прогрессами.


 
Rouse_ ©   (2011-12-09 03:43) [17]


>  DiamondShark ©   (09.12.11 03:11) [16]
> Пользователи чрезвычайно изобретательны в заявлении претензий.

Ну тут категорически соглашусь :)
Пользователи это наше все. Ну как пример, диалог с техподдержеой от 23 ноября  сего года (с внутреннего форума) :)

Картина маслом:

Звонит некая дама из Калининграда.
Говорит: Вот вчера я выбирала в параметрах сметы справочник, их там много было, а сейчас всего пять штук – почему так?
Отвечаю: Если тот же самый компьютер и та же самая программа – такого не бывает. Вы ведь сами ничего не удаляли?
Дама: У меня тут Москва что-то удаляла.
Я: Что значит – Москва удаляла?
Дама: Ничего не знаю, пришла сегодня на работу, и мне сказали, что Москва что-то удаляла на компьютере. Кстати, когда я сегодня захожу в программу, у меня каждый раз ошибка выскакивает, про инициализацию какого-то справочника. Исправьте мне, чтобы всё было как вчера.
Я: Послушайте меня ещё раз, внимательно. Я вам по телефону всё равно ничего исправить не смогу. Если кто-то работал на вашем компьютере – это и является причиной ваших проблем. Вам надо узнать, кто это был, и обратиться к нему.
Дама: Я ничего не знаю, мне сказали, что Москва удаляла…
Я (не дослушав): Москва – это город, а на компьютере работал конкретный человек.
Дама: А как мне узнать, кто?
Я: Спросите.
Дама: У кого?
Я: Ну кто-то ведь его видел? Не просто так с улицы зашли и ушли…
Дама: Я тут одна и ничего не знаю, ваша программа не работает, а вы вместо того чтобы исправить, какие-то вопросы задаёте!

Занавес…


 
antonn ©   (2011-12-09 08:42) [18]


> Ково хрена можно использовать ресурсы из либы и нельзя из
> экзешника?

я не говорил "нельзя" :)


> Baks   (09.12.11 02:22) [10]
>
>
> antonn
> > сжал бы файл zlib"ом и прикрепил в виде ресурса в программу
>
>
> Так ведь одни и теже в обеих!

ну и что? очень большие картинки?


> DiamondShark ©   (09.12.11 02:36) [13]
>
>
> > Да не красиво это разбрасывать все потроха.
>
> Если приложение ставится инсталятором, то неважно, сколько
> там файлов. Папка приложения в Program Files не для красоты,
>  а для хранения.

имхо, если ресурсы не предназначены для редактирования пользователем и являются частью функционала (ну уж не знаю где там картинки используются, мож битовые маски или qr-коды), то стоит позаботится чтобы юзер их не смог удалить/отредактировать. А лежащие рядом bmp в "открытом виде" не изменяемые во время работы программы (ну и вообще) считаю "ленью" программиста убрать их с глаз долой. тоже имхо.


 
Думкин ©   (2011-12-09 09:16) [19]


> Rouse_ ©   (09.12.11 03:43) [17]

Непорочная дева!! Вах.

- Оно как-то само забеременилось!


 
oldman ©   (2011-12-09 09:24) [20]


> Получается, что в каждой программе одинаковые картинки,
> которые увеличивают их размер. Хотелось бы чтобы картинки
> хранились в одном экземпляре и использовались обеими программами.


И при переносе одной из двух программ на другой комп помнить про "общие" картинки?
Что, так уж "увеличивают размер"?
Что, так уж критично?


 
Anatoly Podgoretsky ©   (2011-12-09 11:25) [21]

> Baks  (09.12.2011 01:47:00)  [0]

Еще один испугался размера


 
Anatoly Podgoretsky ©   (2011-12-09 11:26) [22]

> Baks  (09.12.2011 01:47:00)  [0]

И где критерий "лучше"


 
Anatoly Podgoretsky ©   (2011-12-09 11:26) [23]

> Baks  (09.12.2011 02:04:03)  [3]

ХР и все сели в тупик


 
Anatoly Podgoretsky ©   (2011-12-09 11:30) [24]

> DiamondShark  (09.12.2011 03:11:16)  [16]

А ведь предупреждали же, что программы менее какого то размера, примерно 200
мб - это не серьезные программы и корпорациями неохотно покупаются


 
Anatoly Podgoretsky ©   (2011-12-09 11:32) [25]

> Rouse_  (09.12.2011 03:43:17)  [17]

Тебе очень повезло, что подробности кой какие сказала, а могла бы просто -
не работает, и я не программист разбирайтесь сами


 
Baks   (2011-12-09 13:56) [26]

Всё-таки наверно лучше оставить Img.RES в каждой программе. Хоть они и вместе должны быть (это главная программа и редактор к ней), но вдруг и вправду перенесут одну из программ.


 
QAZ   (2011-12-10 20:07) [27]

имаджелисты лучше хранить в вертикальном варианте а не горизонтальном
а куда запихать - дело религии


 
sniknik ©   (2011-12-10 23:07) [28]

> и я не программист разбирайтесь сами
из любимого (у меня уже коллекция)
- Ваша программа не работает!
- А что говорит? Т.е. ошибку какую пишет?
- Что то про интернет. (в смысле отсутствует)
- Ну тогда все правильно, программа является клиентом общей сети, у вас работает через интернет. В требованиях к программе это написано. (жирным шрифтом)
- Слушайте, не морочьте мне голову вашими программистскими сказками, я у вас программу купил? Значит должно работать. Исправляйте!


 
Jeer ©   (2011-12-11 00:15) [29]


> - Слушайте, не морочьте мне голову вашими программистскими
> сказками, я у вас программу купил? Значит должно работать.
>  Исправляйте!


Буквально на днях, диалог на совещании с двумя зам.министрами (реальность):

ЗМ1 - з.м. МинЭконом;
ЗМ2 - з.м. МинИнфо;
ТС - понятно, хто;
СП - специалисты ( потенциальные пользователи )

ЗМ2 - начнем обсуждение, ТС - доложите ситуацию:
ТС - сложная, тяжелая инф.система (ИС), требуется обучение СП, требуются фин.средства;
ЗМ2 - если так, поищем средства;
ЗМ1 - а, что там сложного ? Почитать инструкцию и вперед.
ТС - Многофункциональная ИС ( OLAP, DataMining, ExpresAnalysis, Forecast) требует значительных затрат (финансовых и временных) на инсталляцию и обучение СП;
ЗМ1 - Я посмотрел - очень сложный интерфейс, надо рекомендовать разработчику изменить его до..( 2..5) кнопок;
TC - Это федеральная разработка компании "Прогноз", если нужен "личный" интерфейс - это будет заказная разработка со всеми вытекающими;
ЗМ1 - Я сам IT, что Вы тут мне советуете ? Любую программу можно изменить.
TC - Не вопрос, изложите свое мнение в письме разработчику федеральной программы ГАС "Управление";
ЗМ2 - Соберемся через две недели и чтобы разработчики приехали к нам с презентацией;

P.S.
ГАС спущена сверху для беспрекословного исполнения и повлиять на разработчика может только термоядерная бомба, а может и не одна :)


 
Германн ©   (2011-12-11 00:32) [30]


> Библиотека ничего не делает. И не хотелось бы её создавать
> только ради картинок.

Вот мне интересно.
"Что делает" Cards.dll на моём компьютере? И почему я до сих пор не удалил её как ненужную?
:)


 
Jeer ©   (2011-12-11 01:02) [31]


> "Что делает" Cards.dll на моём компьютере?


Дает возможность поиграть в покер и.. не выиграть :)


 
Германн ©   (2011-12-11 02:27) [32]


>  Jeer ©   (11.12.11 01:02) [31]

Мне очень жаль, что "обстоятельства" не позволили  мне так легко распоряжаться самим собой.


 
2222   (2011-12-11 08:52) [33]


> Rouse_ ©   (09.12.11 03:43) [17]

И такой народ принимают на работу?... мда...


 
sniknik ©   (2011-12-11 11:35) [34]

> И такой народ принимают на работу?... мда...
и еще хуже... у него хоть что-то сказали, сказали, что кто-то правил, причина известна, а часто эти сведения просто скрывают. - "вчера работало, сегодня включаю не работает. разберитесь. ничего не делала!". причем искренне считает, что ничего... а то что удалила часть файлов винды, и почистила систему какой то "чистилкой реестра", не в счет (забыто сразу), потому что это же не по программе, типа не причем, значит ничего... , это место для игрушки освобождала (причем на диске C, то что есть еще D куда все ставится ей невдомек). дама считается админом (других все одно нет).

еще хуже когда понимают, что делали, и скрывают намеренно и "прячут следы"...
было к примеру, правда уже очень давно.
проблема - иногда неверную дату в отчетах дает, и если работаешь в это время, то данные "падают" в "прошлый век".
были долгие разбирательства, скандал, хотели отказаться от программы, и требовать неустойку, бучу поднял местный админ.
причина - этот самый админ, обычно вечерами (но бывало оставалось на весь следующий день), резался в "крякнутую" игру у которой кряк работал так, откатывал системную дату на "прошлый век" запускал игру "из себя", по завершении игры возвращал обратно. играл на сервере...
так вот когда скандал был уже в полном разгаре админ удалил игру. потер сейвы, и типа "я ничего не менял, оно само ломается". но все одно нашли... повезло, кряк что-то писал в системный журнал, на смену дат, с именем программы...
админа уволили.
реакция у него была поразительная, он типа обиделся, "а вы не могли как-то по человечески, потихоньку", и это после скандала им поднятого, и поставленной дилеммы, либо находим в чем проблема, либо теряем клиента. свои действия он конечно считал нормальными.


 
Омлет ©   (2011-12-12 09:26) [35]

Однажды, пользователи из Астаны звонили, жаловались: "Почему ваша программа стала вся на английском?" После долгих разбирательств выяснилось, что они запускают pdf с диска, и эдоб ридер показывает пользовательское соглашение на английском языке.



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

Форум: "Прочее";
Текущий архив: 2012.04.15;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.56 MB
Время: 0.003 c
2-1324758041
Natalya
2011-12-25 00:20
2012.04.15
Компонент ListBox и действия с ним


15-1323447806
ReadOnly
2011-12-09 20:23
2012.04.15
Сюрпризы от предыдущих разработчиков


1-1291134936
tadalex
2010-11-30 19:35
2012.04.15
Размер панели в StatusBar e


2-1324515704
kalamandra
2011-12-22 05:01
2012.04.15
Decode gzip


15-1323757703
OW
2011-12-13 10:28
2012.04.15
Вопрос по EurekaLog. В процедуру перехвата заходит 2раза, почему?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский