On-line: PSP, гостей 1. Всего: 2 [подробнее..]
АвторСообщение
постоянный участник




Пост N: 4811
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.03.16 14:09. Заголовок: Формат иконок в ехе-файле ?


Всем привет !
Кто знает в каком формате Borland 5.51 сохраняет иконки в ресурсах ехе-файла ?

По идеи должны быть PE32 ресурсы, но может я не прав...
Если это не PE32 ресурсы, то как привести иконки в PE32 ?

Вот тестовый пример - https://cloud.mail.ru/public/3mNs/eVp4CfLFE


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 52 , стр: 1 2 3 All [только новые]


администратор




Пост N: 837
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 28.03.16 16:22. Заголовок: Andrey пишет: Кто з..


Andrey пишет:

 цитата:
Кто знает в каком формате Borland 5.51 сохраняет иконки в ресурсах ехе-файла ?


расшифруй
- PE - Portable Executable это основной формат хранения исполнимых файлов в ОС Windows
- Borland 5.51 - 32 разрядный компилятор , из него ilink32 тупо берет res файл и клеит его в PE
- res файл формируется компилятором ресурсов brcc32
- формат хранения иконок - ICON , такой как задан в rс файле при описании

Поскольку иконки в ресурсе описали как тип ICON , bcc при работе приложения будет обрабатывать их используя функцию LoadIcon()



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4812
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.03.16 16:36. Заголовок: Haz пишет: расшифру..


Haz пишет:

 цитата:
расшифруй



Да я тут в техподдержку бывшего Алладина (http://www.safenet-sentinel.ru/) написал письмо,
а они мне в ответ пишут что формат иконок не тот.
"Если иконки не защищаются – значит они вероятнее всего не относятся к PE32 ресурсам, а следовательно Envelope их защищать и не будет."

Вот я и озадачился в каком формате Борланд собирает иконки ?


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 838
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 28.03.16 16:47. Заголовок: Andrey пишет: значи..


Andrey пишет:

 цитата:
значит они вероятнее всего не относятся к PE32 ресурсам,


Обычный ресурс PE файла , смотрится любым PE Viewer, ResHacker и прочей байдой. Может намекают на то что иконки внешние и подгружаются с диска.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4813
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.03.16 16:49. Заголовок: Haz пишет: Обычный ..


Haz пишет:

 цитата:
Обычный ресурс PE файла


Да вот не могу их убедить что это РЕ. Отправил им тестовый пример...

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4816
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.03.16 18:19. Заголовок: Печально, оказываетс..


Печально, оказывается иконки в ресурсах всё таки не в PE...


Вот их ответ:
По скриншоту видно, что загруженные Вами в проект иконки действительно не защищаются и доступны для изменения.
Однако если мы посмотрим на Bitmap изображения в ресурсах, мы видим что они как раз защищены, следовательно для защиты иконок Вам требуется загружать иконки в свой проект аналогично ресурсам Bitmap изображений.
Как я писал Вам ранее, иконки у Вас в проекте не относятся к PE32 ресурсам, поэтому они и не защищаются.


Наверное это из за того что иконка содержится ТОЛЬКО ОДНА в файле:
santa_128 ICON res\santa_128.ico
santa_96 ICON res\santa_96.ico
santa_72 ICON res\santa_72.ico
santa_64 ICON res\santa_64.ico

А если их сделать несколько в файле, то показа иконки на кнопке не будет.
Это наверное все таки ограничение МиниГуи.







Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 840
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 28.03.16 20:39. Заголовок: Andrey пишет: требу..


Andrey пишет:

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


а в чем разница ? в RС они одинаково прописаны.
Как вариант можно попробовать скомпилить RES используя компилятор ресурсов от микрософт - RC.EXE


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 5559
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 28.03.16 20:52. Заголовок: Andrey пишет: Да я ..


Andrey пишет:

 цитата:
Да я тут в техподдержку бывшего Алладина (http://www.safenet-sentinel.ru/


А какое им дело до твоих EXE , не пойму и зачем им писать ?
Что то не стыкуется ?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 841
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 28.03.16 21:32. Заголовок: Dima пишет: А какое..


Dima пишет:

 цитата:
А какое им дело до твоих EXE


Думаю Андрей использует их софт для защиты своих программ, но их защита не накрывает ресурсы как надо.
Вот алладин и пытается сказать типа мы защищаем только "правильные" ЕХЕ , а твой кривой, вот иди сам и разбирайся
Андрей, не парься ты с этой защитой , кому надо - с дампа все выдернут, а вероятность вылета проги с ошибкой увеличивается в разы.

PS. как правило все ехе протекторы меняют точку входа в заголовке PE на свою процедуру расшифровки.
Андрей, тебе действительно нужен это гемор с ЕХЕ ? в 2000 таких протекторов море было, но .... не прижились. Лучшим распаковщиком тогда UNP.EXE был - легко извлекал чистый ЕХЕ из любой гадости.

Как вариант - поменяй компилятор ресурсов на современный , их полно бесплатных начиная от мелкомягкого RC.EXE и заканчивая бесплатным GoRc.exe ( кстати им собираю минигуёвые ресурсы )

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 5560
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 28.03.16 21:42. Заголовок: Haz пишет: Андрей и..


Haz пишет:

 цитата:
Андрей использует их софт для защиты своих программ


Так и есть , знаю.

Haz пишет:

 цитата:
но их защита не накрывает ресурсы как надо


Теперь понял.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4817
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.03.16 21:45. Заголовок: Haz пишет: и заканч..


Haz пишет:

 цитата:
и заканчивая бесплатным GoRc.exe ( кстати им собираю минигуёвые ресурсы )


А как его прикрутить к BCC ?

Было бы лучше вообще МиниГуи собирать через MSC
и библиотеки лучше (больше распространены) и проблема с размером ресурсов в 500 кб пропадёт.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 842
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 28.03.16 21:50. Заголовок: Andrey пишет: А как..


Andrey пишет:

 цитата:
А как его прикрутить к BCC

\
синтаксис сравни, если компилировать батником - легко правится вызов, если через hbmk - то иного способа как поменять в его исходнике и пересобрать - я не нашел
Andrey пишет:

 цитата:
проблема с размером ресурсов в 500 кб


пропадает при любом современном компиляторе ресурсов

Вспомнил ))) я даже когдато обманку на харбуре под brcc32 писал ( программу которая принимает синтаксис brcc32 и делает правильный вызов GoRc ... давно это было)

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 5561
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 28.03.16 21:54. Заголовок: Haz пишет: Как вари..


Haz пишет:

 цитата:
Как вариант - поменяй компилятор ресурсов на современный


MinGw не покатит (знаю ты сидишь на BCC) ?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 843
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 28.03.16 21:55. Заголовок: Dima пишет: MinGw ..


Dima пишет:

 цитата:
MinGw


скорее всего покатит

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 5562
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 28.03.16 22:00. Заголовок: Haz пишет: скорее в..


Haz пишет:

 цитата:
скорее всего покатит


Но надо чекать и скорее всего весь проект тоже надо пересобрать под ним.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 844
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 28.03.16 22:06. Заголовок: можно собрать RES лю..


можно собрать RES любым компилятором и сунуть его в папку где его brcc32 формирует при сборке ( можно атрибут ридонли дать ) и линкер его сожрет как более новый. но это неудобно т.к. такой цирк нужно при каждой линьковке делать.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4818
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.03.16 22:13. Заголовок: Dima пишет: MinGw н..


Dima пишет:

 цитата:
MinGw не покатит (знаю ты сидишь на BCC) ?


Под MinGw нет библиотек для Sentinel LDK (это защита приложений для ключей HASP HL. Защита хорошая, проблем с ней нет).
Не поддерживает Алладин этот компилятор.
Остаётся BCC и MSC.
Под BCC мало что поддерживают, уходит в прошлое. Для MSC лучшее кол-во библиотек и поддерживается лучше.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 5563
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 28.03.16 22:15. Заголовок: Andrey пишет: Защит..


Andrey пишет:

 цитата:
Защита хорошая, проблем с ней нет



Читай выше что писал Has

PS
Чую щас нафлудим в теме ))

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4825
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 03.04.16 17:20. Заголовок: Всем привет ! Сделал..


Всем привет !
Сделал тестовый пример по иконкам. Хочу полностью разобраться с этими иконками !
https://cloud.mail.ru/public/CuPx/ZuLEbXL27

С учётом опыта выяснил следующее:
1) Иконки в МиниГуи собранные BCC в приложении не относятся к PE32 ресурсам.
2) Размер ресурсов собранные BCC 5.5.1 не должен превышать размера 500 кб в одной секции, иначе отказ от сборки приложения.
Для увеличения размера ресурсов в приложении нужно создавать новый .rc файл
Cмотрите пример, там в Icons_All.rc лишние ресурсы за комментированы.
Для увеличения размера можно так же перейти на BCC 5.8.2 или MinGw.
3) Для правильного отображения главной иконки программы - первая иконка должна быть 16х16-256 colors format в файле иконки.
4) Вид приложения собранные BCC в проводнике не поддерживает режим "Огромные значки" (иконки 128х128 не задействуются).
5) Для использования разных размеров иконок в приложении МиниГуи нужно эти иконки размещать отдельным файлом в ресурсах приложения и тогда эту иконку можно выводить на форму или кнопку.
Пример файла ресурсы.rc:
iSanta128 ICON res\iSanta128.ico
iSanta96 ICON res\iSanta96.ico
iSanta72 ICON res\iSanta72.ico
iSanta64 ICON res\iSanta64.ico
iSanta48 ICON res\iSanta48.ico
Вывод на форму
DRAW ICON IN WINDOW Form_1 AT 20, 20 PICTURE 'iSante128' WIDTH 128 HEIGHT 128

Кстати Григорий так и не дал в библиотеке наглядного примера !

Я понимаю, для многих это очевидные вещи,
но для новичков это первые непонятки в МиниГуи (хотя это относится к компилятору BCC 5.5.1, а не к МиниГуи).

Остались ещё вопросы по иконкам:
1) Как вывести НУЖНЫЙ ресурс иконки на форму/кнопку из
ресурсов своего приложения - файла библиотеки иконок (т.е. когда все размеры иконок в одном файле) ?
2) Как вывести НУЖНЫЙ ресурс иконки на форму/кнопку из
файла ресурсов системы: System.SystemFolder + "\shell32.dll" ?

Т.е. хочется работать с иконками размера 48х48 или 64х64 - экраны же у всех давно большие !

И ещё просьба к тем, кто работает с MinGw - помогите собрать тестовый пример на MinGw, там ошибка ресурсов какая-то....


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 5570
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 03.04.16 17:40. Заголовок: Andrey Для начала в..


Andrey
Для начала в RC у тебя так
1MAIN_ICO ICON res\2MiniGui.ico
1MAIN_ICO2 ICON res\1MiniGui.ico

Убери цифру перед MAIN , в BRC возможно это и проходит.


ЗЫ
Winres же пишет в какой строке непонятка в rc файле.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4826
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 03.04.16 20:14. Заголовок: Dima пишет: Убери ц..


Dima пишет:

 цитата:
Убери цифру перед MAIN , в BRC возможно это и проходит.



Убрал - ошибка эта ушла. Вылезла другая:
hbmk2: Compiling resources...
windres.exe: Icons_All_Hmg.rc:18: syntax error
hbmk2[Icons_All_MinGw]: Error: Running resource compiler. 1


18 строка:
PRODUCTVERSION 1,0

Я так понял, что у MinGw свой синтаксис ресурсного файла.
Дайте пожалуйста у кого есть - как правильно перечислить все там
VALUE "FileDescription", ....
VALUE "FileVersion" , ....
VALUE "InternalName" , ...
VALUE "LegalCopyright" , ...
VALUE "LegalTrademarks", ...
и т.д.



Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 5574
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.04.16 14:18. Заголовок: Andrey Погугли http..


Andrey
Погугли http://pvbookmarks.readthedocs.org/en/master/devel/IDEs/GNU_minGW/windres/windres.html
Возможно скобки ({}) там не нужны

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 216
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 04.04.16 14:35. Заголовок: Andrey пишет: Остаё..


Andrey пишет:

 цитата:
Остаётся BCC и MSC.
Под BCC мало что поддерживают, уходит в прошлое.



Ну не так уж чтоб совсем ...:( Есть ВСС7.1 и ВСС7.1-64
Посмотри ResHacker . Он создает RC и DLL. Использую с FWH , работает хорошо. Синтаксис вроде похож на MiniGu , может поможет ...

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 849
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 04.04.16 15:38. Заголовок: ММК пишет: Ну не та..


ММК пишет:

 цитата:
Ну не так уж чтоб совсем ...:( Есть ВСС7.1


Есть подозрение что в BCC7 х 32 компилятор ресурсов BRCC остался от версии 5
Во всяком случае в той сборке что я видел - BCC7.0 компилер BRCC32 был от 5.40.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 217
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 04.04.16 18:04. Заголовок: Haz пишет: Во всяк..



Haz пишет:

 цитата:
Во всяком случае в той сборке что я видел - BCC7.0 компилер BRCC32 был от 5.40.



Ну , что сказать :) По размеру и датам они разные, а содержимое... ???
Да и под 64 разряда наверняка переделывали. Это я о 7.1

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4827
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.04.16 06:57. Заголовок: ММК пишет: Посмотри..


ММК пишет:

 цитата:
Посмотри ResHacker . Он создает RC и DLL. Использую с FWH , работает хорошо. Синтаксис вроде похож на MiniGu , может поможет


А какой версией пользуешься ?

Как в FWH можно вывести иконку нужного размера
(из одного файла библиотеки иконки из ресурсов в ехе-нике) на форму и кнопку ?
Приведи пожалуйста синтаксис, если можно то лучше небольшой пример.
В МиниГуи этого сделать не могу.


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 218
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 05.04.16 10:33. Заголовок: Andrey пишет: А как..


Andrey пишет:

 цитата:
А какой версией пользуешься ?

Как в FWH можно вывести иконку нужного размера
(из одного файла библиотеки иконки из ресурсов в ехе-нике) на форму и кнопку ?
Приведи пожалуйста синтаксис, если можно то лучше небольшой пример.
В МиниГуи этого сделать не могу.



Версия не имеет особого значения, как и пр-ма. Это может быть WorkShop к примеру..
Вы попробуйте сделать RC любой из таких пр-м и посмотрите. Уж синтаксит там стаандарту будет соответствовать.

Во всяком случае в FWH это работает и с ВСС и с MSVC 2015

В FWH можно использовать картинки разного формата, но мне больше нравятся BMP. С размером проблем нет.
Иконки очень редко, например так :
В пр-ме.
......
Local oBrush,oFon1,oFon2,oFon3,oIcon
DEFINE ICON oIcon NAME "ICON_1"
DEFINE WINDOW oWnd TITLE 'СООО "Ингман мороженое" v 13.0' ;
FROM 1, 1 TO 40, 135 ;
ICON oIcon ;
MENU BuildMenu()

......
В RC

#include "..\include\winapi.ch"

ICON_1 ICON "Aun.ico"
ON BITMAP "..\bitmaps\checkon.bmp"
OFF BITMAP "..\bitmaps\checkoff.bmp"

Для DLL в пр-ме

SET RESOURCES TO "MAK.DLL"
// MAK.DLL здесь держу всякую всячину

Вариантов использования много. Например заставка для окна так-
hBmp = LoadBitmap( GetResources(), "M416" )
ACTIVATE WINDOW oWnd MAXIMIZED;
ON PAINT (GradientFill( hDC,0,0, oWnd:nHeight, oWnd:nWidth, aGrad,.F. ) ,IF( hBmp != 0, DRAWMASKED( hDC,hBmp,75,95),) )//;
// ON INIT (ownd:Center()) ;

Для TsBrows b TsBUTTON (это разработка одного человека ) так -
DEFINE SBUTTON GROUP OF oBa ADJUST;
RESOURCE "B2", "B2",, "B2" ;
TOOLTIP "Сделать копию " ;
Action (NorCop(),oBrw:Refresh(),oBrw:SetFocus());
LOOK W97 //;


где "B2", "B2",, "B2" имена BMP в DLL
И т.д.


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 219
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 05.04.16 10:58. Заголовок: Вот пример , где ико..


Вот пример , где иконка используется для анимации ( иконка в ДЛЛ )

// Animations using Icons and Timers
#include "FiveWin.ch"

static oWnd

//----------------------------------------------------------------------------//

function Main()

local oBrush

#ifdef __CLIPPER__
SET RESOURCES TO "Animat16.dll"
#else
SET RESOURCES TO "Animat32.dll"
#endif

DEFINE BRUSH oBrush STYLE TILED

DEFINE WINDOW oWnd FROM 1, 1 TO 20, 60 ;
TITLE "Icons & Timers" BRUSH oBrush

SET MESSAGE OF oWnd ;
TO FWVERSION + FWCOPYRIGHT

ACTIVATE WINDOW oWnd ;
ON INIT DisplayIcons()

return nil

//----------------------------------------------------------------------------//

function DisplayIcons()

local oIco, oTimer

static nFrame := 1

@ 2, 2 ICON oIco RESOURCE "ICON1" OF oWnd BORDER

DEFINE TIMER oTimer OF oWnd ;
INTERVAL 400 ;
ACTION ( nFrame := If( ++nFrame > 20, 1, nFrame ) , ;
oIco:SetName( "ICON" + AllTrim( Str( int(nFrame) ) ) ) )

ACTIVATE TIMER oTimer

return nil


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4828
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.04.16 15:17. Заголовок: ММК пишет: Вот прим..


ММК пишет:

 цитата:
Вот пример , где иконка используется для анимации ( иконка в ДЛЛ )


Если не сложно - выложи пожалуйста рабочий ехе-ник этого примера вместе с dll-кой !
Заранее спасибо !

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 220
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 05.04.16 16:57. Заголовок: Andrey пишет: Если ..


Andrey пишет:

 цитата:
Если не сложно - выложи пожалуйста рабочий ехе-ник этого примера вместе с dll-кой !
Заранее спасибо !


Ну и куда? :)
Давайте адресок- на почту кину...

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 5575
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 05.04.16 17:20. Заголовок: ММК пишет: Ну и куд..


ММК пишет:

 цитата:
Ну и куда? :)


У него в профиле мыло живет :)

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 221
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 05.04.16 17:45. Заголовок: Dima пишет: У него ..


Dima пишет:

 цитата:
У него в профиле мыло живет :)


Все сделал , как ты сказал :)

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4830
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.04.16 19:46. Заголовок: ММК пишет: Давайте ..


ММК пишет:

 цитата:
Давайте адресок- на почту кину...


Давай уже на ты !
Спасибо большое !

Посмотрел. А там только иконка 32х32.
А другие размеры иконок в FW есть: 48х48, 64х64, 96х96 ?

В миниГуи есть ! Вот пример - https://cloud.mail.ru/public/3mNs/eVp4CfLFE


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 853
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 05.04.16 22:08. Заголовок: Andrey пишет: В мин..


Andrey пишет:

 цитата:
В миниГуи есть !


Э... "простите мне мой французский" (с) ...
Мне кажется, что данный поворот вопроса - в никуда
Какая разница мини или файв - это всего лишь надстройка , позволяющая КОМПИЛЯТОРУ BCC сформировать объектный PCODE для КОМПАНОВЩИКА ILINK.
Ресурсы из RC скрипта компилируются тем же BRCC и передаются в виде RES файла туда же в ILINK.
Меряться иконками в двух языках, которые в итоге собираются одним и тем же борландом, это все равно что сравнивать чей светофор зеленее.
Имеет смысл либо сравнивать разные компиляторы BCC, MINGW, MSVC и пр. или как минимум разные разрядности одного компилятора 32 и 64.
все вышесказанное - ИМХО , но кто сможет опровергнуть - с удовольствием все почитаем

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4831
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.04.16 23:49. Заголовок: Haz пишет: Меряться..


Haz пишет:

 цитата:
Меряться иконками в двух языках, которые в итоге собираются одним и тем же борландом, это все равно что сравнивать чей светофор зеленее.


Да я не мерюсь. Просто беда с отображением картинок на форме. В других языках добавил один файл иконок с разными расширениями и тягаешь на форму нужный тебе размер иконок. А в МиниГуи пытаешься сделать красивый вид окна и начинаешь экспериментировать - изобретать велосипед как в других языках.
PNG-файл с окантовкой черной вылазит и сменить фон у него проблематично.... Вся жизнь в борьбе за красоту интерфейса ...

Вот очередной тест что может пригодиться для интерфейса: кнопочки, иконки .... https://cloud.mail.ru/public/4F2B/wvGXVyp3z
На иконке остановился из за того что на любой цвет можно положить на форму и не будет черной окантовки вокруг иконки.
На кнопку можно положить (я так понял) ICO и BMP. С иконкой выходит красиво, с BMP уё ! Может что не так делаю ?
Если можно что-то добавить, то буду очень рад.


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 932
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 06.04.16 09:48. Заголовок: Andrey пишет:В други..


Andrey пишет:
 цитата:
В других языках добавил один файл иконок с разными расширениями и тягаешь на форму ...


Кто мешает тебе изучить DEFINE IMAGELIST ... и функции IL_..., есть примеры на применение, смену фона ...

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4832
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 06.04.16 11:56. Заголовок: SergKis пишет: Кто ..


SergKis пишет:

 цитата:
Кто мешает тебе изучить DEFINE IMAGELIST ... и функции IL_..., есть примеры на применение, смену фона ...


А я не знал...
Буду смотреть. Спасибо за наводку !

Вспомнил. Оказывается раньше смотрел, перед тем как уйти на PNG.
Не понравился мне принцип хранения картинок - неудобен.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 854
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 06.04.16 13:33. Заголовок: Andrey пишет: 2) Ра..


Andrey пишет:

 цитата:
2) Размер ресурсов собранные BCC 5.5.1 не должен превышать размера 500 мб в одной секции, иначе отказ от сборки приложения.



а чего так мало то ?


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 222
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 06.04.16 13:59. Заголовок: Haz пишет: превышат..


Haz пишет:

 цитата:
превышать размера 500 мб в одной секции, иначе отказ от сборки приложения.
а чего так мало то ?



Родненькие мои! Да что это за пр-мы вы пишите?! Да в 500 мб можно целый порносайт вместить!

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 855
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 06.04.16 14:03. Заголовок: ММК это не я напис..


ММК
это не я написал , про полгига, исправь .
Мне просто стало интересно откуда эта цифиря

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 223
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 06.04.16 14:12. Заголовок: Haz пишет: это не я..


Извини пожалуйста! Про 500 мб написал Андрей. А ты сказал , что тебе и этого мало!!! :)))

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 856
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 06.04.16 14:26. Заголовок: ММК пишет: Извини п..


ММК пишет:

 цитата:
Извини пожалуйста! Про 500 мб написал Андрей. А ты сказал , что тебе и этого мало!!! :)))


Ерунда, сам сто раз так ошибался )

Посмотрел что выяснил Андрей в том посте и на основе его выяснений , выяснил другие
1) BCC собирает ресурсы в PE32
2) Легко глотает иконы размером 256 ( больше не проверял т.к. лень их было искать )
3) насчет 500 мб не осилил, но ресурс в 650 кб легко компануется в EXE


Единственное - так это использовал не борландовский компилер ресурсов при сборке
Что еще не выяснил как из такого ресурса дергать икону по номеру т.к. пока нет надобности
В ресхакере видно группы икон и их состав
 
256 × 256 (16.8mil colors) - Ordinal name: 1
128 × 128 (16.8mil colors) - Ordinal name: 2
96 × 96 (16.8mil colors) - Ordinal name: 3
72 × 72 (16.8mil colors) - Ordinal name: 4
64 × 64 (16.8mil colors) - Ordinal name: 5
48 × 48 (16.8mil colors) - Ordinal name: 6
32 × 32 (16.8mil colors) - Ordinal name: 7
24 × 24 (16.8mil colors) - Ordinal name: 8
16 × 16 (16.8mil colors) - Ordinal name: 9



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 224
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 06.04.16 14:38. Заголовок: Haz пишет: Что еще ..


Haz пишет:

 цитата:
Что еще не выяснил как из такого ресурса дергать икону по номеру т.к. пока нет надобности



А вон чуток выше пример выложил. Там 20 иконок выводятся последовательно для создания видимости анимации

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 857
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 06.04.16 14:46. Заголовок: ММК пишет: А вон чу..


ММК пишет:

 цитата:
А вон чуток выше пример выложил.


Видел .
В минигуи нет DEFINE ICON oIcon NAME "ICON_1"
чтоб потом указать
DEFINE WINDOW oWnd TITLE 'СООО "Ингман мороженое" v 13.0' ;
ICON oIcon ;

Уверен что прикрутить можно через winapi . но пока без надобности

Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 917
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 06.04.16 15:00. Заголовок: Haz пишет: как из т..


Haz пишет:

 цитата:
как из такого ресурса дергать икону по номеру


Андрей скинул мне следующую ссылку, где доходчиво объсняется, как это сделать

нажать

Требуется сишник для переноса этого кода в среду Харбора

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 225
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 06.04.16 16:28. Заголовок: Haz пишет: В минигу..


Haz пишет:

 цитата:
В минигуи нет DEFINE ICON oIcon NAME "ICON_1"
чтоб потом указать



Не ,это с RC. Имел в виду следующий пост - с DLL.
..
function DisplayIcons()
local oIco, oTimer
static nFrame := 1

@ 2, 2 ICON oIco RESOURCE "ICON1" OF oWnd BORDER

DEFINE TIMER oTimer OF oWnd ;
INTERVAL 400 ;
ACTION ( nFrame := If( ++nFrame > 20, 1, nFrame ) , ;
oIco:SetName( "ICON" + AllTrim( Str( int(nFrame) ) ) ) )

ACTIVATE TIMER oTimer

return nil

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 858
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 06.04.16 17:46. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Требуется сишник для переноса этого кода в среду Харбора



тут я мимо (((
Думаю в исходниках FW это есть уже под харбур ...



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4833
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 06.04.16 20:56. Заголовок: gfilatov2002 Глянь -..


gfilatov2002 Глянь пожалуйста -
Haz пишет:

 цитата:
Думаю в исходниках FW это есть уже под харбур ...


Может оттуда можно взять ?

Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 918
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 06.04.16 21:43. Заголовок: Andrey пишет: Глянь..


Andrey пишет:

 цитата:
Глянь пожалуйста


Уже проверил - нет там ничего подобного...

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4834
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 06.04.16 23:56. Заголовок: Попросил написать зн..


Попросил написать знакомого на C# тестовую программу. Вот результат - https://cloud.mail.ru/public/Bm9t/HDVBfGdMY
На МиниГуи вот такая программа - https://cloud.mail.ru/public/4F2B/wvGXVyp3z

Вывод один, можно отказаться от иконок если будет нормальная обработка PNG файла: на форму и на кнопки !

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 226
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 07.04.16 10:16. Заголовок: Andrey пишет: Вывод..


Andrey пишет:

 цитата:
Вывод один, можно отказаться от иконок если будет нормальная обработка PNG файла: на форму и на кнопки !


Можно отказаться и от PNG если будет нормальная работа с BMP. Посмотри BMP альфа, режим TRANSPARENT
Что касается PNG, ICO то конечно в FWH это есть и для клиппера и для харбора, но разбираться ... :( Овчинка выделки не стоит.
Для решения всех твоих проблем вполне хватит BMP :)

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4835
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 07.04.16 15:53. Заголовок: ММК пишет: Можно от..


ММК пишет:

 цитата:
Можно отказаться и от PNG если будет нормальная работа с BMP. Посмотри BMP альфа, режим TRANSPARENT


А поподробней можно ?
Т.е. каким редактором нужно править BMP, как сохранить его. И где этот альфа-центавра находиться ?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 5576
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 07.04.16 16:12. Заголовок: Andrey пишет: Т.е. ..


Andrey пишет:

 цитата:
Т.е. каким редактором нужно править BMP, как сохранить его


Погугли
Я для этого юзал Axialis IconWorkshop , но можно и фотошоп конечно.

PS
Например http://www.ikonki.ru/notes/?id=0002

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 52 , стр: 1 2 3 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 280
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет