|
3 / 3 / 0
Регистрация: 22.06.2017
Сообщений: 72
|
|
Извлечение ImageList из ресурсов17.04.2026, 19:11. Показов 1911. Ответов 28
Метки нет (Все метки)
Доброго времени суток.
Извлекаем ресурс формы в формате .dfm из внешнего (чужого) исполняемого файла. Открываем его в Notepad++, находим двоичный код ImageList. Копируем код в буфер обмена. В Delphi создаем новый проект, помещаем на форму ImageList и добавляем пару картинок. Щелкаем по форме правой кнопкой мыши и выбираем опцию "View as Text" Заменяем существующий код ImageList на код из буфера обмена. Возвращаемся к обычному виду формы Выполняем двойной щелчок по компоненту ImageList и видим, что все рисунки из внешнего файла теперь доступны. Это вручную Можно ли получить этот же результат программно? Извлечение ресурса автоматизировать не нужно. С поиском нужного кода сам справлюсь. С уважением, Николай
0
|
|
| 17.04.2026, 19:11 | |
|
Ответы с готовыми решениями:
28
Извлечение ресурсов на WinApi
|
|
3 / 3 / 0
Регистрация: 22.06.2017
Сообщений: 72
|
||
| 20.04.2026, 13:04 [ТС] | ||
|
Сейчас попытаюсь создать ресурс методом GetResource, если получится, посмотрю, как он выглядит и попробую подменить.
0
|
||
|
Злостный нарушитель
10889 / 5825 / 1288
Регистрация: 12.03.2015
Сообщений: 26,888
|
|||
| 20.04.2026, 13:12 | |||
|
Добавлено через 4 минуты
0
|
|||
|
Злостный нарушитель
10889 / 5825 / 1288
Регистрация: 12.03.2015
Сообщений: 26,888
|
|
| 20.04.2026, 14:34 | |
|
Вопщем, чото я никак не вкурю, что тебе надо на выходе.
Я тут от безделья набросал тебе экспорт вот такой, посмотри: За основу взял пару функций из хэлпа. Я тупо из DFM беру описание компонента и преобразую в реальный динамически созданный компонент с готовым наполнением (данными). ListView показывает, что данные были успешно загружены. Тебе ЭТО надо?
0
|
|
|
3 / 3 / 0
Регистрация: 22.06.2017
Сообщений: 72
|
||||
| 20.04.2026, 17:51 [ТС] | ||||
|
Основное - чтобы мозги не усохли (мне 75). Выше я писал про утилиту и хотелось бы, чтобы она была всесторонне развита После сборки компьютера "Радио 86РК" увлекся программированием (сначала непосредственно в машинном коде, потом добыл Ассемблер, потом усеченный Паскаль - отсюда зачаточные знания Delphi). Никогда основательно не изучал язык, так, вершки. По выходу на пенсию увлекся переводом интерфейса программ на Русский язык. Далеко не все программы с радостью воспринимают вмешательство, иначе было бы скучно - отладчики, шест. редакторы, другие специальные программы, я даже написал пару собственных инструментов. Утилита тоже относится к инструментам переводчика, правда она лишь часть более глубокого замысла. Вы знаете, как легко и просто перемещать, изменять размеры и изменять названия (Caption) в среде разработки Delphi. Неплохо было бы предоставить переводчику такую возможность - динамически создавать форму из ресурса. Такие программы есть и их достаточно много, но все они спотыкаются на сложных формах (например, панели наложены друг на друга или, что еще хуже, используются нестандартные компоненты). В качестве "кролика" я выбрал HELPMAN 10 (программа для написания справок). Начало было положено - несколько сложных форм успешно воссоздаются, но столкнулся с ленточным меню (Ribbon) (ресурс TFRMHELPMAN.dfm оттуда). Раньше никогда не использовал этот компонент и прежде, чем пытаться воссоздать его динамически, решил создать его вручную - то есть, создать полностью идентичную форму HELPMAN. Здесь мне и потребовались оригинальные значки... Ну и не забывайте про старческий маразм (думаю он Вам не присущ и дай бог, никогда не будет) - вот хочу и все... - Где Вы взяли объект Globals - отрыли его в Notepad++? Непохоже - ImageListTreeLog - Это пустой TImageList - скопировали его пустой объект ImageListTreeLog - ниже объект ImageListCommon - этот объект не нужен? - дальше что Рабочий стол? - Что за поток открыт в Rad Studio? - Вставили текст, откуда взялся код - Правая панель - в каком инструменте Вы работаете, вроде открывали Rad Studio ЗАПУТАЛСЯ окончательно!!!!!!!!!!!
0
|
||||
|
Злостный нарушитель
10889 / 5825 / 1288
Регистрация: 12.03.2015
Сообщений: 26,888
|
||||||||||
| 20.04.2026, 18:36 | ||||||||||
Сообщение было отмечено NNK_RTR как решение
РешениеВот другой ImageList (его имя не имеет значения): ![]()
1
|
||||||||||
|
Злостный нарушитель
10889 / 5825 / 1288
Регистрация: 12.03.2015
Сообщений: 26,888
|
|
| 20.04.2026, 18:48 | |
|
0
|
|
|
3 / 3 / 0
Регистрация: 22.06.2017
Сообщений: 72
|
|||||||||||||||||
| 21.04.2026, 12:28 [ТС] | |||||||||||||||||
|
Спасибо всем, кто принимал участие в ответе на мой вопрос и огромное СПАСИБО Verevkin(у)!!!
Вопрос решен. Дальше можно не отвечать, а можно и ответить. При попытке открытия проекта в Rad Studio получил сообщение, что не найден стиль 'Windows11 Modern Dark' После загрузки Rad Studio зависла Удалил запись "TStyleManager.TrySetStyle('Windows11 Modern Dark');" из файла проекта .dpr Проект загрузился нормально. При попытке запуска возникли ошибки в unit uRoutines в функции
Заключил блок case в фигурные скобки. ( по моему, эта функция не используется в интересующем меня блоке программы) Запустил. Ошибка:
ТУТ ВОПРОС: Разве в Delphi разрешено объявлять переменные внутри тела функции? (var tmp:= StringToComponentProc(MemoDFM.Text) А так можно:
Все заработало. установил точки останова на вызов ButtonImportClick ( в теле процедуры) - не срабатывают (строки окрашены зеленым) Почему? (конфигурация Debug) Огромное спасибо! С уважением, Николай
0
|
|||||||||||||||||
|
Злостный нарушитель
10889 / 5825 / 1288
Регистрация: 12.03.2015
Сообщений: 26,888
|
||||||||
| 21.04.2026, 12:50 | ||||||||
![]() ![]() Добавлено через 7 минут if ... then ... else ... ;, который добавили в Delphi XE13. Обнови IDE или переделывай исходник сам, где нужно.is not.Короче, поставь себе 13.1 и используй сразу 64-битную сборку IDE, чтоб не делать маме голову.
0
|
||||||||
|
3 / 3 / 0
Регистрация: 22.06.2017
Сообщений: 72
|
|
| 21.04.2026, 15:39 [ТС] | |
|
Спасибо!!!
Удачи во всем! С уважением, Николай.
0
|
|
| 21.04.2026, 15:39 | |
|
Извлечение ресурсов из .exe файла Подгрузить картинку из webbrowser в imagelist Иконки и ImageList Компонент ImageList
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть не большие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|