Страница: 1 | 2 | 3 | 4 |
Вопрос: about RESOURCES
Добавлено: 18.01.06 00:57
Автор вопроса: Surok
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
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #1
Добавлено: 18.01.06 01:15
1) В ресурсах не только картинки хранят...
2) Представь что у тебя 100 картинок... для каждой создать PictureBox? Это и будет тупость
3) Ресурсы можно редактировать(изменять) программно!
Номер ответа: 2
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #2
Добавлено: 18.01.06 05:41
Забей на них, это не для VB-шников, а для тех кто VB только для интерфейса использует.
Номер ответа: 3
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #3
Добавлено: 18.01.06 07:09
да почему, 3-ый пункт довольно часто бывает полезным...
Номер ответа: 4
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #4
Добавлено: 18.01.06 07:30
По твоему ресурсы нужны для того чтобы их редактировать и изменять программно?
Я понимаю если бы диалоги в ресурсах хранили, меню там всякие или строки, но в VB более высокий уровень абстракции чем предоставляют системные API.
Номер ответа: 5
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #5
Добавлено: 18.01.06 14:08
А кто мешает хранить в ресурсах строки? String Tables на что? Скажем, можно сделать многоязычное приложение без лишних файлов.
Насчет картинок - реальная тупость хранить, скажем, сотню изображений на форме, многие из которых могут не понадобиться. Зачем это надо?
Лично я наиболее часто использую файл ресурсов для двух целей - для некоего подобия установщика, который содержит в ресурсах нужные файлы и извлекает их оттуда, и для определения иконки программы, не имеющей форм. Хотя бывало и звук туда засовывал
И еще - не забудь про удобство программиста, несколько десятков лишних контролов на форме не только жрут память, но и создают жуткие неудобства в Design Time.
Поясни...
Номер ответа: 6
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #6
Добавлено: 18.01.06 18:35
Чего тут пояснять то? Интерфейс на VB, а что то посложнее во внешних библиотеках на других, более функциональных языках.
Номер ответа: 7
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #7
Добавлено: 18.01.06 18:37
Мне показалось что мы говорили о ресурсах а не о коде.
Номер ответа: 8
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #8
Добавлено: 18.01.06 18:41
Всё что есть в ресурсах VB позволяет запихнуть и в экзешник. Разве что кроме Version Info. Конечно если ты шаришь в ресурсах, то пользуйся, нет проблем, но можно и вовсе без них обходится.
Номер ответа: 9
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #9
Добавлено: 18.01.06 18:45
Главное в продуктах Микрософт - это уровень автоматизации, облегчающий рутинную работу. Возня с ресурсами конечно не особо рутинная работа, но постигать её всё равно нужно. Подобно тому как ты пишешь Msgbox A вместо Msgbox Str$, ты хранишь ресурсы прямо в форме, а не в специальном RES-файле. Думаю так понятней будет.
Номер ответа: 10
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #10
Добавлено: 18.01.06 19:38
Дык какая разница? RES файл также компилится в экзешник. Просто оттуда ресурсы достаются по мере их надобности, в противном случае - при загрузке формы, что может утяжелить её многократно. Нафига держать на морде лица то, что в данный момент совсем не нужно. Может и есть удобства (вспомним чувака из Колобков, у которого стул был привязан к заднице), но неудобств гораздо больше. И глупо.
Номер ответа: 11
Автор ответа:
Surok
Вопросов: 36
Ответов: 106
Профиль | | #11
Добавлено: 18.01.06 20:51
А в ресурсах только битмапы размещать можно...
а в пикчере - хоть битмап, хоть гиф, хоть чпеги, хоть вмф, емф...хоть те же самые курсоры...
уже чувствуется разница...
RES - PictureBox +
хранить 100 картинок на форме? может и тупость...а если, скажем эти 100 картинок - картинки детализированного интерфейса..все-равно их нужно буде подгружать в 100 пикчеров из ресурсов и хранить в процессе выполнения проги...
конечно это можно реализовать 100 пикчеров динамическим добавлением на форму, чтобы размер проги уменьшить, и каждый пикчер подгружать своей картинкой из ресурса. Но, опять же , что мешает загрузит в пикчербокс составной мультирисунок на этапе разработки, а потом программно вырезать облати и подгружать пикчеры.?
не спорю, в ресурс очень удобно грузить тексты и звуки...но где эти тексты и звуковые данные и в каком виде храняться в откомпилированной проге? акой-нибудь извращенец вроде меня и звук запихнет в виде стринговой константы разбитой на несколько частей...а чем не решение защиты от изменения файла ресурсов готовыми функциями апи из вне?
Номер ответа: 12
Автор ответа:
Surok
Вопросов: 36
Ответов: 106
Профиль | | #12
Добавлено: 18.01.06 20:54
все - таки, ресурсы - пережиток каменного века зари программирования...
Номер ответа: 13
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #13
Добавлено: 18.01.06 21:37
для asm ресурсы - нормальная практика. в них оччень удобно зашить таблицу акселераторов, меню, инонки, versioninfo. удобно хранить все строки, если потом надо будет делать локализации на разных языках - отпадает надобность пересматривать .data и попутно сотни (тысячи?!) строк кода..
Номер ответа: 14
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #14
Добавлено: 18.01.06 23:58
Ну, скажем так, RES-файл не компилится в экзешник, а просто прилепляется туда, но это суть дела не меняет.
Ну вот смотри, ты пишешь как, Msgbox MyCoolButNotDeclaredVariable или Msgbox Str$(MyCoolButNotDeclaredVariable)? Ты можешь не знать что Msgbox требует на входе строку и ничего, VB это прекрасно схавает, потому что у него куча всяких защит от дурака. Точно так же и в случае рисунков в форме и в ресурсах. VB умеет сам хранить ресурсы без помощи всяких RES-файлов и в случае если у тебя дрогнет рука, то он тебя поддержит. Ну сосочку там даст, колыбельную тебе споёт
Номер ответа: 15
Автор ответа:
CyRax
Разработчик 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.