| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Как узнать размер иконки у файла? |
| Автор: WaReZMEN 22.11.2007, 05:55 |
| Вообщем есть у меня exe хочу узнать сколько весит его иконка. Тоесть если кто то поменяет у моего exe иконку программа об оэтом узнала и выдала размер новои иконки. |
| Автор: Alexeis 22.11.2007, 11:27 |
| WaReZMEN, иконки ведь не сжатые, так что их размер может и не измениться. |
| Автор: Snowy 22.11.2007, 11:37 |
| А также у приложения может быть несколько иконок... Ты уж подумай, чего ты хочешь... |
| Автор: WaReZMEN 22.11.2007, 11:58 |
| Alexeis, я не знаю какая конкретна иконка будет у конечного файла. Ее можно поменять на любую другую вот ее размер мне м нужно узнать... Скажем у меня есть готовый exe и в нем мы меняем иконку с помощью сторонней проги... Когда запускается мои exe нужно чтоб он сам определил какого размера (в байтах) иконка у него сейчас. Snowy, ??? То есть это как?? я прикрепляю к exe тока одну иконку в которой несколько картинок (винда сама определяет каких габаритов иконку отображать...) Мне нужно грубо говоря узнать размер файла иконки который я прикрепил к exe. к exe. |
| Автор: aktuba 22.11.2007, 12:25 | ||
Честно говоря не понял, в чем сложность, но раз нужен код:
|
| Автор: Snowy 22.11.2007, 12:35 |
| 1. Иконки не имеют сжатия (обычно), поэтому размер у иконок 32х32 будет (обычно) одинаковым. 2. Если ты назначишь ico файл, в котором несколько иконок, то он будет разложен на эти иконки и они также будут засунуты все в ехе поотдельности. 3. Да, винда сама выбирает какую показывать. Но факт в том, что их много. И какая из них тебя интересует? Я могу не менять, а добавить ещё несколько... Или вместо одной засунуть 10. Отсюда вывод: 1. иконок может быть много. 2. Размер иконок не изменяется. |
| Автор: WaReZMEN 22.11.2007, 13:19 |
| Snowy, мне нужен размер всех иконок скажем так у меня есть файл без иконки он весит 20Кб я добавляю иконку к примеру весом 5Кб. Размер файла увеличится... Это я знаю... Но этот exe должен понять что размер увеличился на 5Кб. И что конец файла теперь будет после 25Кб в которые пихается дополнительная информация.... Так вот когда я запускаю exe то он должен прочитать информацию которую я дописал... если размер файла фиксирован то нет проблем но если я изменю (добавлю икону(ки)) то размер файла изменится и моя информация уже сдвинется в файле на определенное кол-во байт, и то место где начинается моя инфа мне и нужно определить... |
| Автор: Snowy 22.11.2007, 13:30 |
| ЖиСтока... Может лучше в ресурсы эту информацию писать? Но... Если уж очень хочется, то дописывай свою информацию в конец файла, а после неё ещё 4 байта - размер этой информации. По ним ты всегда сможешь найти её начало. А иконки - далеко не единственный способ модификации. Так что лучше считать не от начала файла, а от конца. |
| Автор: WaReZMEN 22.11.2007, 13:45 |
| Snowy, Все гораздо сложнее... после фаила я записываю свою инфу а после еще пару фаилов... информацию о которых я как раз и записываю.... Добавлено через 3 минуты и 36 секунд Все придумал ведь можно всю инфу писать в конец файла и потом с конца все считывать…. Всем СПС! |
| Автор: WaReZMEN 22.11.2007, 14:01 |
| Блин тогда иконка перестает менятся.... мож всетаки скажете про то как решить проблему этого топика? |
| Автор: Snowy 22.11.2007, 14:41 |
| Говорю - засунь все данные в ресурсы. Не трогай ехе. Ни к чему хорошему это не приведёт. |
| Автор: WaReZMEN 23.11.2007, 01:20 |
| Snowy, Все сделал... Запихал в exe все отлично работает... А ресурс тут не подходит... |