Вопрос: about RESOURCES | Добавлено: 18.01.06 00:57 |
Автор вопроса: ![]() |
ya, naverno, uzhe tupit` nachal, no ran`she ne zadumyvalsya nad etim...
v chem prelest` ispol`zovaniya faila resursov, esli vse kartinki vozmozhno hranit` vnutri PictureBox? |
Ответы | Всего ответов: 55 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client Вопросов: 236 Ответов: 8362 |
Профиль | Цитата | #1 | Добавлено: 18.01.06 01:15 |
1) В ресурсах не только картинки хранят...
2) Представь что у тебя 100 картинок... для каждой создать PictureBox? Это и будет тупость 3) Ресурсы можно редактировать(изменять) программно! |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 204447456 Вопросов: 180 Ответов: 4229 |
Web-сайт: Профиль | Цитата | #2 | Добавлено: 18.01.06 05:41 |
Забей на них, это не для VB-шников, а для тех кто VB только для интерфейса использует. |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client Вопросов: 236 Ответов: 8362 |
Профиль | Цитата | #3 | Добавлено: 18.01.06 07:09 |
да почему, 3-ый пункт довольно часто бывает полезным... |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 204447456 Вопросов: 180 Ответов: 4229 |
Web-сайт: Профиль | Цитата | #4 | Добавлено: 18.01.06 07:30 |
По твоему ресурсы нужны для того чтобы их редактировать и изменять программно? ![]() Я понимаю если бы диалоги в ресурсах хранили, меню там всякие или строки, но в VB более высокий уровень абстракции чем предоставляют системные API. |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 334781088 Вопросов: 108 Ответов: 2822 |
Профиль | Цитата | #5 | Добавлено: 18.01.06 14:08 |
А кто мешает хранить в ресурсах строки? String Tables на что? Скажем, можно сделать многоязычное приложение без лишних файлов.
Насчет картинок - реальная тупость хранить, скажем, сотню изображений на форме, многие из которых могут не понадобиться. Зачем это надо? Лично я наиболее часто использую файл ресурсов для двух целей - для некоего подобия установщика, который содержит в ресурсах нужные файлы и извлекает их оттуда, и для определения иконки программы, не имеющей форм. Хотя бывало и звук туда засовывал ![]() И еще - не забудь про удобство программиста, несколько десятков лишних контролов на форме не только жрут память, но и создают жуткие неудобства в Design Time. Забей на них, это не для VB-шников, а для тех кто VB только для интерфейса использует.
Поясни... |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 204447456 Вопросов: 180 Ответов: 4229 |
Web-сайт: Профиль | Цитата | #6 | Добавлено: 18.01.06 18:35 |
Чего тут пояснять то? Интерфейс на VB, а что то посложнее во внешних библиотеках на других, более функциональных языках. |
Номер ответа: 7 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 334781088 Вопросов: 108 Ответов: 2822 |
Профиль | Цитата | #7 | Добавлено: 18.01.06 18:37 |
Мне показалось что мы говорили о ресурсах а не о коде. |
Номер ответа: 8 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 204447456 Вопросов: 180 Ответов: 4229 |
Web-сайт: Профиль | Цитата | #8 | Добавлено: 18.01.06 18:41 |
А кто мешает хранить в ресурсах строки? String Tables на что? Скажем, можно сделать многоязычное приложение без лишних файлов.
Всё что есть в ресурсах VB позволяет запихнуть и в экзешник. Разве что кроме Version Info. Конечно если ты шаришь в ресурсах, то пользуйся, нет проблем, но можно и вовсе без них обходится. |
Номер ответа: 9 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 204447456 Вопросов: 180 Ответов: 4229 |
Web-сайт: Профиль | Цитата | #9 | Добавлено: 18.01.06 18:45 |
Главное в продуктах Микрософт - это уровень автоматизации, облегчающий рутинную работу. Возня с ресурсами конечно не особо рутинная работа, но постигать её всё равно нужно. Подобно тому как ты пишешь Msgbox A вместо Msgbox Str$![]() |
Номер ответа: 10 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 334781088 Вопросов: 108 Ответов: 2822 |
Профиль | Цитата | #10 | Добавлено: 18.01.06 19:38 |
Дык какая разница? RES файл также компилится в экзешник. Просто оттуда ресурсы достаются по мере их надобности, в противном случае - при загрузке формы, что может утяжелить её многократно. Нафига держать на морде лица то, что в данный момент совсем не нужно. Может и есть удобства (вспомним чувака из Колобков, у которого стул был привязан к заднице), но неудобств гораздо больше. И глупо. |
Номер ответа: 11 Автор ответа: ![]() ![]() Вопросов: 36 Ответов: 106 |
Профиль | Цитата | #11 | Добавлено: 18.01.06 20:51 |
А в ресурсах только битмапы размещать можно...
а в пикчере - хоть битмап, хоть гиф, хоть чпеги, хоть вмф, емф...хоть те же самые курсоры... уже чувствуется разница... RES - PictureBox + хранить 100 картинок на форме? может и тупость...а если, скажем эти 100 картинок - картинки детализированного интерфейса..все-равно их нужно буде подгружать в 100 пикчеров из ресурсов и хранить в процессе выполнения проги... конечно это можно реализовать 100 пикчеров динамическим добавлением на форму, чтобы размер проги уменьшить, и каждый пикчер подгружать своей картинкой из ресурса. Но, опять же , что мешает загрузит в пикчербокс составной мультирисунок на этапе разработки, а потом программно вырезать облати и подгружать пикчеры.? не спорю, в ресурс очень удобно грузить тексты и звуки...но где эти тексты и звуковые данные и в каком виде храняться в откомпилированной проге? акой-нибудь извращенец вроде меня и звук запихнет в виде стринговой константы разбитой на несколько частей...а чем не решение защиты от изменения файла ресурсов готовыми функциями апи из вне? |
Номер ответа: 12 Автор ответа: ![]() ![]() Вопросов: 36 Ответов: 106 |
Профиль | Цитата | #12 | Добавлено: 18.01.06 20:54 |
все - таки, ресурсы - пережиток каменного века зари программирования... |
Номер ответа: 13 Автор ответа: ![]() ![]() ![]() ICQ: 308-534-060 Вопросов: 20 Ответов: 1860 |
Web-сайт: Профиль | Цитата | #13 | Добавлено: 18.01.06 21:37 |
для asm ресурсы - нормальная практика. в них оччень удобно зашить таблицу акселераторов, меню, инонки, versioninfo. удобно хранить все строки, если потом надо будет делать локализации на разных языках - отпадает надобность пересматривать .data и попутно сотни (тысячи?!) строк кода.. |
Номер ответа: 14 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 204447456 Вопросов: 180 Ответов: 4229 |
Web-сайт: Профиль | Цитата | #14 | Добавлено: 18.01.06 23:58 |
RES файл также компилится в экзешник.
Ну, скажем так, RES-файл не компилится в экзешник, а просто прилепляется туда, но это суть дела не меняет. Просто оттуда ресурсы достаются по мере их надобности
Ну вот смотри, ты пишешь как, Msgbox MyCoolButNotDeclaredVariable или Msgbox Str$(MyCoolButNotDeclaredVariable)? Ты можешь не знать что Msgbox требует на входе строку и ничего, VB это прекрасно схавает, потому что у него куча всяких защит от дурака. Точно так же и в случае рисунков в форме и в ресурсах. VB умеет сам хранить ресурсы без помощи всяких RES-файлов и в случае если у тебя дрогнет рука, то он тебя поддержит. Ну сосочку там даст, колыбельную тебе споёт ![]() |
Номер ответа: 15 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 204447456 Вопросов: 180 Ответов: 4229 |
Web-сайт: Профиль | Цитата | #15 | Добавлено: 19.01.06 05:17 |
акой-нибудь извращенец вроде меня и звук запихнет в виде стринговой константы разбитой на несколько частей...а чем не решение защиты от изменения файла ресурсов готовыми функциями апи из вне?
Строка оно конечно хорошо, вот только RES-урсные строки храняться в юникоде, по два байта на символ. Лучше уж грузить бинарники в формате RCDATA. Не знаю правда поддерживает ли VB такой тип ресурса. Если нет, то поищи в интернете компилятор ресурсов. Называется "Microsoft Windows Resource Compiler (RC)". Найти его, например, можно в инсталяхе PowerBasic под Windows любой версии. Создаёшь RC файл и в каждой строке пишешь имя ресурса. Например, так: 1101 RCDATA "sys_en.txt" Здесь 1101 - это номер ресурса по порядку, RCDATA - тип ресурса и "sys_en.txt" - имя файла на диске с данными ресурса. Затем натравливаешь RC-файл на RC.EXE и получаешь RES-файл и грузишь ресурс из VB через LoadResData или Win32 API. |
|