Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 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-сайт: basicproduction.nm.ru
 Профиль | | #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-сайт: basicproduction.nm.ru
 Профиль | | #4
Добавлено: 18.01.06 07:30
По твоему ресурсы нужны для того чтобы их редактировать и изменять программно? :)

Я понимаю если бы диалоги в ресурсах хранили, меню там всякие или строки, но в VB более высокий уровень абстракции чем предоставляют системные API.

Ответить

Номер ответа: 5
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #5 Добавлено: 18.01.06 14:08
А кто мешает хранить в ресурсах строки? String Tables на что? Скажем, можно сделать многоязычное приложение без лишних файлов.
Насчет картинок - реальная тупость хранить, скажем, сотню изображений на форме, многие из которых могут не понадобиться. Зачем это надо?
Лично я наиболее часто использую файл ресурсов для двух целей - для некоего подобия установщика, который содержит в ресурсах нужные файлы и извлекает их оттуда, и для определения иконки программы, не имеющей форм. Хотя бывало и звук туда засовывал :)
И еще - не забудь про удобство программиста, несколько десятков лишних контролов на форме не только жрут память, но и создают жуткие неудобства в Design Time.
Забей на них, это не для VB-шников, а для тех кто VB только для интерфейса использует.

Поясни...

Ответить

Номер ответа: 6
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #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-сайт: basicproduction.nm.ru
 Профиль | | #8
Добавлено: 18.01.06 18:41
А кто мешает хранить в ресурсах строки? String Tables на что? Скажем, можно сделать многоязычное приложение без лишних файлов.

 Всё что есть в ресурсах VB позволяет запихнуть и в экзешник. Разве что кроме Version Info. Конечно если ты шаришь в ресурсах, то пользуйся, нет проблем, но можно и вовсе без них обходится.

Ответить

Номер ответа: 9
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #9
Добавлено: 18.01.06 18:45
 Главное в продуктах Микрософт - это уровень автоматизации, облегчающий рутинную работу. Возня с ресурсами конечно не особо рутинная работа, но постигать её всё равно нужно. Подобно тому как ты пишешь Msgbox A вместо Msgbox Str$(A), ты хранишь ресурсы прямо в форме, а не в специальном 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-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #13
Добавлено: 18.01.06 21:37
для asm ресурсы - нормальная практика. в них оччень удобно зашить таблицу акселераторов, меню, инонки, versioninfo. удобно хранить все строки, если потом надо будет делать локализации на разных языках - отпадает надобность пересматривать .data и попутно сотни (тысячи?!) строк кода..

Ответить

Номер ответа: 14
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #14
Добавлено: 18.01.06 23:58
RES файл также компилится в экзешник.

 Ну, скажем так, RES-файл не компилится в экзешник, а просто прилепляется туда, но это суть дела не меняет.

Просто оттуда ресурсы достаются по мере их надобности

 Ну вот смотри, ты пишешь как, Msgbox MyCoolButNotDeclaredVariable или Msgbox Str$(MyCoolButNotDeclaredVariable)? Ты можешь не знать что Msgbox требует на входе строку и ничего, VB это прекрасно схавает, потому что у него куча всяких защит от дурака. Точно так же и в случае рисунков в форме и в ресурсах. VB умеет сам хранить ресурсы без помощи всяких RES-файлов и в случае если у тебя дрогнет рука, то он тебя поддержит. Ну сосочку там даст, колыбельную тебе споёт ;)

Ответить

Номер ответа: 15
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #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.

Ответить

Страница: 1 | 2 | 3 | 4 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам