|
3 / 3 / 0
Регистрация: 22.06.2017
Сообщений: 72
|
|
Извлечение ImageList из ресурсов17.04.2026, 19:11. Показов 1545. Ответов 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
|
||
|
Злостный нарушитель
10878 / 5817 / 1288
Регистрация: 12.03.2015
Сообщений: 26,855
|
|||
| 20.04.2026, 13:12 | |||
|
Добавлено через 4 минуты
0
|
|||
|
Злостный нарушитель
10878 / 5817 / 1288
Регистрация: 12.03.2015
Сообщений: 26,855
|
|
| 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
|
||||
|
Злостный нарушитель
10878 / 5817 / 1288
Регистрация: 12.03.2015
Сообщений: 26,855
|
||||||||||
| 20.04.2026, 18:36 | ||||||||||
Сообщение было отмечено NNK_RTR как решение
РешениеВот другой ImageList (его имя не имеет значения): ![]()
1
|
||||||||||
|
Злостный нарушитель
10878 / 5817 / 1288
Регистрация: 12.03.2015
Сообщений: 26,855
|
|
| 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
|
|||||||||||||||||
|
Злостный нарушитель
10878 / 5817 / 1288
Регистрация: 12.03.2015
Сообщений: 26,855
|
||||||||
| 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 | |
|
Помогаю со студенческими работами здесь
29
Извлечение ресурсов из .exe файла Подгрузить картинку из webbrowser в imagelist Иконки и ImageList Компонент ImageList
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений.
. . .
|
21 мат мед. Планы на развитие модели здравоСохранения
anaschu 01.06.2026
AnyLogic: план развития симуляционной модели рабочего коллектива — динамический абсентеизм, реальные данные, три сценария сравнения
Продолжаю серию постов о дискретно-событийной модели рабочего. . .
|
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы
Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
|
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция
Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
|
|
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
|
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
|
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
|
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика
Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
|