Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как узнать размер иконки у файла? 
:(
    Опции темы
WaReZMEN
Дата 22.11.2007, 05:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 683
Регистрация: 9.6.2006
Где: Россия, Санкт-Пет ербург

Репутация: нет
Всего: 3



Вообщем есть у меня  exe хочу узнать сколько весит его иконка. Тоесть если кто то поменяет у моего exe иконку программа об оэтом узнала и выдала размер новои иконки.  smile 
PM MAIL ICQ   Вверх
Alexeis
Дата 22.11.2007, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 34
Всего: 459



WaReZMEN, иконки ведь не сжатые, так что их размер может и не измениться. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Snowy
Дата 22.11.2007, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 31
Всего: 484



А также у приложения может быть несколько иконок...
Ты уж подумай, чего ты хочешь...
PM MAIL   Вверх
WaReZMEN
Дата 22.11.2007, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 683
Регистрация: 9.6.2006
Где: Россия, Санкт-Пет ербург

Репутация: нет
Всего: 3



Alexeis,  я не знаю какая конкретна иконка будет у конечного файла. Ее можно поменять на любую другую  вот ее размер мне м нужно узнать...  Скажем у меня есть готовый exe и в нем мы меняем иконку с помощью сторонней проги... Когда запускается мои exe нужно чтоб он сам определил какого размера (в байтах) иконка у него сейчас.


Snowy, ??? То есть это как??  я прикрепляю к exe тока одну иконку в которой несколько картинок (винда сама определяет каких габаритов иконку отображать...) Мне нужно грубо говоря узнать размер файла иконки который я прикрепил к exe. 
к exe.

Это сообщение отредактировал(а) WaReZMEN - 22.11.2007, 12:09
PM MAIL ICQ   Вверх
aktuba
Дата 22.11.2007, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 7
Всего: 38



Честно говоря не понял, в чем сложность, но раз нужен код:
Код

var
  lStream: TMemoryStream;
  lIcon: TIcon;
begin
  lIcon := TIcon.Create;
  lStream := TMemoryStream.Create;
  try
    lIcon.LoadFromResourceName(hInstance, 'MAINICON');
    lIcon.SaveToStream(lStream);
    ShowMessage(IntToStr(lStream.Size));
  finally
    lStream.Free;
    lIcon.Free;
  end;
end;



--------------------
user posted image
PM MAIL WWW Skype   Вверх
Snowy
Дата 22.11.2007, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 31
Всего: 484



1. Иконки не имеют сжатия (обычно), поэтому размер у иконок 32х32 будет (обычно) одинаковым.
2. Если ты назначишь ico файл, в котором несколько иконок, то он будет разложен на эти иконки и они также будут засунуты все в ехе поотдельности.
3. Да, винда сама выбирает какую показывать. Но факт в том, что их много.
И какая из них тебя интересует?
Я могу не менять, а добавить ещё несколько... Или вместо одной засунуть 10.
Отсюда вывод:
1. иконок может быть много.
2. Размер иконок не изменяется.
PM MAIL   Вверх
WaReZMEN
Дата 22.11.2007, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 683
Регистрация: 9.6.2006
Где: Россия, Санкт-Пет ербург

Репутация: нет
Всего: 3



Snowy, мне нужен размер всех иконок скажем так у меня есть файл без иконки он весит 20Кб я добавляю иконку к примеру весом 5Кб. Размер файла увеличится... Это я знаю... Но этот exe должен понять что размер увеличился на 5Кб. И что конец файла теперь будет после 25Кб в которые пихается дополнительная информация.... Так вот когда я запускаю exe то он должен прочитать информацию которую я дописал... если размер файла фиксирован то нет проблем но если я изменю (добавлю икону(ки)) то размер файла изменится и моя информация уже сдвинется в файле на определенное кол-во байт, и то место где начинается моя инфа мне и нужно определить...

Это сообщение отредактировал(а) WaReZMEN - 22.11.2007, 13:20
PM MAIL ICQ   Вверх
Snowy
Дата 22.11.2007, 13:30 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 31
Всего: 484



ЖиСтока...
Может лучше в ресурсы эту информацию писать?
Но... Если уж очень хочется, то дописывай свою информацию в конец файла, а после неё ещё 4 байта - размер этой информации.
По ним ты всегда сможешь найти её начало.
А иконки - далеко не единственный способ модификации.
Так что лучше считать не от начала файла, а от конца.
PM MAIL   Вверх
WaReZMEN
Дата 22.11.2007, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 683
Регистрация: 9.6.2006
Где: Россия, Санкт-Пет ербург

Репутация: нет
Всего: 3



Snowy, Все гораздо сложнее... после фаила я записываю свою инфу а после еще пару фаилов... информацию о которых я как раз и записываю....

Добавлено через 3 минуты и 36 секунд
Все придумал ведь можно всю инфу писать в конец файла и потом с конца все считывать…. Всем СПС!
PM MAIL ICQ   Вверх
WaReZMEN
Дата 22.11.2007, 14:01 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 683
Регистрация: 9.6.2006
Где: Россия, Санкт-Пет ербург

Репутация: нет
Всего: 3



Блин тогда иконка перестает менятся.... мож всетаки скажете про то как решить проблему этого топика?
PM MAIL ICQ   Вверх
Snowy
Дата 22.11.2007, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 31
Всего: 484



Говорю - засунь все данные в ресурсы.
Не трогай ехе. Ни к чему хорошему это не приведёт.
PM MAIL   Вверх
WaReZMEN
Дата 23.11.2007, 01:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 683
Регистрация: 9.6.2006
Где: Россия, Санкт-Пет ербург

Репутация: нет
Всего: 3



Snowy, Все сделал... Запихал в exe все отлично работает... А ресурс тут не подходит...
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0885 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.