Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Иконка для консольного приложения

335
01 сентября 2005 года
enola
379 / / 25.01.2005
Добрый день!
Есть желание в консольном приложении изменить стандартную иконку для exe файла, как это сделать?
310
01 сентября 2005 года
fellow
853 / / 17.03.2003
Добавь к проекту res-файл, содержащий ресурс MainIcon.
335
01 сентября 2005 года
enola
379 / / 25.01.2005
Цитата:
Originally posted by fellow
Добавь к проекту res-файл, содержащий ресурс MainIcon.



а с этого места можно подробней? где можно почитать о файле ресурсов, как с ним работать, и тому подобное?

310
01 сентября 2005 года
fellow
853 / / 17.03.2003
Можно так:
C билдером поставляется ImageEditor (доступен, например, через меню Tools). Запускаешь его, создаёшь в нём ресурс MAINICON, рисуешь свою иконку, сохраняешь res-файл на диск.
Или возьми от примеров res-файл и отредактируй его в том же ImageEditore.
335
01 сентября 2005 года
enola
379 / / 25.01.2005
Цитата:
Originally posted by fellow
Можно так:
C билдером поставляется ImageEditor (доступен, например, через меню Tools). Запускаешь его, создаёшь в нём ресурс MAINICON, рисуешь свою иконку, сохраняешь res-файл на диск.
Или возьми от примеров res-файл и отредактируй его в том же ImageEditore.



спасибо помогло :)

335
01 сентября 2005 года
enola
379 / / 25.01.2005
Цитата:
Originally posted by enola
спасибо помогло :)



только вот качество иконки оставляет желать лучшего! Может можно как-нить сделать лучше?

10
01 сентября 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by enola
Может можно как-нить сделать лучше?


Сначала надо найти качественную иконку, можно даже в стиле XP - с альфа-каналом. Потом удалить нахрен иконку из res-файла. Борланд так и не научился работать с иконками в стиле XP.

Пишется rc-файл следующего содержания:

 
Код:
MAINICON icon "MyAlpha.ico"

Сохраняется, скажем, как MyAlpha.rc. Потом в командной строке дается:
 
Код:
brcc32 MyAlpha.rc MyAlpha.res

В результате создается файл ресурса MyAlpha.res, который и надо подключить к проекту.
335
01 сентября 2005 года
enola
379 / / 25.01.2005
Цитата:
Originally posted by Freeman
Сначала надо найти качественную иконку, можно даже в стиле XP - с альфа-каналом. Потом удалить нахрен иконку из res-файла. Борланд так и не научился работать с иконками в стиле XP.

Пишется rc-файл следующего содержания:
 
Код:
MAINICON icon "MyAlpha.ico"

Сохраняется, скажем, как MyAlpha.rc. Потом в командной строке дается:
 
Код:
brcc32 MyAlpha.rc MyAlpha.res

В результате создается файл ресурса MyAlpha.res, который и надо подключить к проекту.



получилось и качество хорошее, только вот когда я компилировал проект он у меня ругнулся на второй res файл т.е. res файл проекта, я его отключил и все нормально, но вот интересно в том res файле ничего нужного не было?

10
01 сентября 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by enola
он у меня ругнулся на второй res файл т.е. res файл проекта


Как конкретно ругнулся?

Цитата:
но вот интересно в том res файле ничего нужного не было?


Если файл ресурсов создан автоматически Билдером, в нем, как правило, хранится иконка приложения и сведения о версии, если включено на соответствующей вкладке свойств проекта.

Кстати, еще раз о качестве. Если не используется более 16 цветов и альфа-каналы, можно цивилизованным способом загрузить иконку приложения. Если ты вручную рисовал, наверняка только в одном размере. Для нормального вида же надо иметь, как минимум, 16x16 и 32x32.

335
01 сентября 2005 года
enola
379 / / 25.01.2005
Цитата:
Originally posted by Freeman
Как конкретно ругнулся?

Если файл ресурсов создан автоматически Билдером, в нем, как правило, хранится иконка приложения и сведения о версии, если включено на соответствующей вкладке свойств проекта.

Кстати, еще раз о качестве. Если не используется более 16 цветов и альфа-каналы, можно цивилизованным способом загрузить иконку приложения. Если ты вручную рисовал, наверняка только в одном размере. Для нормального вида же надо иметь, как минимум, 16x16 и 32x32.



Да VersionInfo у меня включен, и икону рисовал как положено в нескольких размерах не только 16x16, 32x32, 128x128, и т.д. что можно сделать?

вот чего я смог сделать:
1. как Freeman советовал, создал файл rc с указанием на иконку с альфа каналами, потом файликом brcc32 создал res файл, потом Resource Workshop 4.5 добавил VersionInfo, подключил res файл к проекту, скомпилировал его и все получилось, но:
1. Автоинкремент версии файла не работает!
2. Каждый раз при смене версий придется делать эту не очень интересную последовательность действий!

меня вот это бы спасло: Как можно иконку в консольном приложении стандартно добавить?

Цитата:
можно цивилизованным способом загрузить иконку приложения



имеешь ввиду через Project->Options->Aplication
так там кнопка Load Icon... не активна!

310
02 сентября 2005 года
fellow
853 / / 17.03.2003
К проекту можно подключить несколько файлов с ресурсами. Один раз сделай файл ресурсов с иконкой, и всё. Все остальные ресурсы (которые часто меняешь) держи в другом файле.
А иконку можно грузануть функциями Win32 API LoadIcon и LoadImage, если не ошибаюсь.
10
02 сентября 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by enola
имеешь ввиду через Project->Options->Aplication
так там кнопка Load Icon... не активна!


Не знаю, как у вас в Билдере, но мне в Дельфи было достаточно написать в файле проекта {$R *.res}, чтобы IDE мгновенно отреагировала: "File ConTest.res not found, recreated", после чего кнопка загрузки иконки в свойствах проекта стала доступной.

335
03 сентября 2005 года
enola
379 / / 25.01.2005
Цитата:
Originally posted by Freeman
Не знаю, как у вас в Билдере, но мне в Дельфи было достаточно написать в файле проекта {$R *.res}, чтобы IDE мгновенно отреагировала: "File ConTest.res not found, recreated", после чего кнопка загрузки иконки в свойствах проекта стала доступной.



да я тоже про это вчера на rsdn читал, но про билдер ничего такого не видел, млин ну у них же корни одни, должно быть такое и в билдере.

246
03 сентября 2005 года
GIZMO
1.8K / / 30.07.2004
Цитата:
Originally posted by enola
да я тоже про это вчера на rsdn читал, но про билдер ничего такого не видел, млин ну у них же корни одни, должно быть такое и в билдере.


USERES("Project1.res"); - такое?

335
03 сентября 2005 года
enola
379 / / 25.01.2005
Цитата:
Originally posted by GIZMO
USERES("Project1.res"); - такое?



что-то поторопился я.
Билдер пишет: Cannot find resource file "такой-то" recreated.

А кнопочка Load Icon так и не доступна!

10
03 сентября 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by enola
А кнопочка Load Icon так и не доступна!


А версия Билдера? Я тестировал на Дельфи 6. Какая ему версия Билдера соответствует?

Кстати, как ты писал: "имя конкретного файла".res или *.res? При включении ресурсов Дельфи по умолчанию (в GUI-проектах) пишет именно *.res. Наверное, обработчик IDE именно на эту комбинацию и завязан.

335
03 сентября 2005 года
enola
379 / / 25.01.2005
Цитата:
Originally posted by Freeman
А версия Билдера? Я тестировал на Дельфи 6. Какая ему версия Билдера соответствует?

Кстати, как ты писал: "имя конкретного файла".res или *.res? При включении ресурсов Дельфи по умолчанию (в GUI-проектах) пишет именно *.res. Наверное, обработчик IDE именно на эту комбинацию и завязан.



какая версия ему соответствует я не знаю (пока), а то что и так не проходит это точно.

246
04 сентября 2005 года
GIZMO
1.8K / / 30.07.2004
Цитата:
Originally posted by enola
какая версия ему соответствует я не знаю (пока), а то что и так не проходит это точно.


Где проблемы не пойму?

335
04 сентября 2005 года
enola
379 / / 25.01.2005
Цитата:
Originally posted by GIZMO
Где проблемы не пойму?



проблемы в том, что нельзя стандартным способом "подключить" иконку к проекту!

Вообще когда твой проект загружаю билдер пишет:
"project has been updated to version 6.0" у тебя вообще какой билдер? 5?
у тебя в этом проекте тоже нельзя "подключить" иконку к проекту :(

310
04 сентября 2005 года
fellow
853 / / 17.03.2003
Цитата:
Originally posted by enola
проблемы в том, что нельзя стандартным способом "подключить" иконку к проекту!

Вообще когда твой проект загружаю билдер пишет:
"project has been updated to version 6.0" у тебя вообще какой билдер? 5?
у тебя в этом проекте тоже нельзя "подключить" иконку к проекту :(


Что значит "стандартным"? Это что? где-то в ГОСТе прописано? или IEEE подписался? или ANSI себя в грудь бил? :D

Нужно говорить "нельзя подключить из диалогового окна свойств проекта". Ну так ведь существует уйма способов "ободрать кошку" (любителей кошек прошу не беспокоиться :) ). И несколько таких способов тебе уже разъяснили.

335
05 сентября 2005 года
enola
379 / / 25.01.2005
Цитата:
Originally posted by fellow
Что значит "стандартным"? Это что? где-то в ГОСТе прописано? или IEEE подписался? или ANSI себя в грудь бил? :D

Нужно говорить "нельзя подключить из диалогового окна свойств проекта". Ну так ведь существует уйма способов "ободрать кошку" (любителей кошек прошу не беспокоиться :) ). И несколько таких способов тебе уже разъяснили.



"стандартным способом" это значит обычным, как это делается в билдере! Ты когда в туалете ссышь это стандартный способ свою нужду справлять и нигде это в ГОСТе не прописано! :)
Причем тут несколько способов?, я именно про стандартный спрашиваю; сделать так, чтобы в консольном приложении можно было и в версии файла автоинкримент поставить и иконку загрузить!

335
05 сентября 2005 года
enola
379 / / 25.01.2005
Вообщем решил так вопрос:
в Console Wizard в Source Type выбираем С++ в остальных местах везде галочки убираем, а главное с Console Application и все и иконку стандартным способом и автоинкримент в версии файла!

Вообще билдер сделал так если Console Application галочка стоит, значит, иконки нет, если не стоит значит, есть! почему так ума не приложу.
310
05 сентября 2005 года
fellow
853 / / 17.03.2003
Цитата:
Originally posted by enola
Вообще билдер сделал так если Console Application галочка стоит, значит, иконки нет, если не стоит значит, есть! почему так ума не приложу.


Это одно из проявлений стандартизации в билдере ;) :D :}

246
05 сентября 2005 года
GIZMO
1.8K / / 30.07.2004
Цитата:
Originally posted by enola
проблемы в том, что нельзя стандартным способом "подключить" иконку к проекту!


вот у Билдера один (на мой непрофессиональный взгляд) недостаток люди быстро привыкают к Darg&Drop и строчку вставить это уже проблема. Ну если тебе не нравится такое положение дел, то делай "стандартный" способ - ToolsAPI еще никто не отменял.

Цитата:
Originally posted by enola

Вообще когда твой проект загружаю билдер пишет:
"project has been updated to version 6.0" у тебя вообще какой билдер? 5?


Вообще нормальней не бывает. когда открываешь проект версией ниже чем среда. У меня 5-й, 6-ку лучше пропусти, подожди уж BDS 2006.

Цитата:
Originally posted by enola

у тебя в этом проекте тоже нельзя "подключить" иконку к проекту :(


Можно.

335
05 сентября 2005 года
enola
379 / / 25.01.2005
Цитата:
Originally posted by GIZMO

Можно.



как? через Load Icon...?

246
05 сентября 2005 года
GIZMO
1.8K / / 30.07.2004
Цитата:
Originally posted by enola
как? через Load Icon...?


Я же тебе уже сказал как. Иконка у меня меняется, версия инкрементируется. Кстати о стандартах загляни в системную папку, много там консольных программ с "нестандартными" иконками? Может Я 4егото не понимаю? Вас хер поймешь, программистов...:)

335
05 сентября 2005 года
enola
379 / / 25.01.2005
Цитата:
Originally posted by GIZMO
Я же тебе уже сказал как. Иконка у меня меняется, версия инкрементируется. Кстати о стандартах загляни в системную папку, много там консольных программ с "нестандартными" иконками? Может Я 4егото не понимаю? Вас хер поймешь, программистов...:)



У тебя Билдер 5! :) там наверное разработчики такую фичу не доделали с консольным приложением :) у меня 6 и вот не получается, может руки кривые, а может билдер так устроен :)

5 ставить не хочу, у меня все проекты на 6 сделаны, не знаю как это все работать будет. Да и времени этим заниматься нет, лучше уж ресурсами пользоваться (и каждый раз версию изменять ручками):)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог