Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

простейшая прога весит 300 кб... [D5, WinXP]


Страницы:   1 2 3

heruvim4ik ©   (2002-03-09 14:32:00) 

Ещё один вопрос:
Например, создаю я простейшую программу, которая... ну не знаю... два числа складывает... а она весит > 300 кб... может я чё не так делаю???


Андрей Сенченко   (2002-03-25 19:07:00) [1]

-=GaLaN=- © (25.03.02 18:54)

Ну мне то помагало. После того, как SysUtils до 2-х нужных мне функций покоцал - значительно легче стало.


-=GaLaN=-   (2002-03-25 18:54:00) [2]

Говорю же - пробовал - не помогает.


Alex_LG   (2002-03-25 14:50:00) [3]

всё улучшится - не такой он уж и "smart" :0)


-=GaLaN=-   (2002-03-25 01:36:00) [4]

2Андрей Сенченко:
> Ну если не лениво или размер настолько критичен, что это необходимо - просто пройди по объявленным в программе модулям (Windows, SysUtils и т.п. ) и скопируй оттуда все необходимые Тебе функции и процедуры в свой проект.
И ничего не улучшится. Потому что как уже было сказано компилятор в дельфи smart и лишнее все равно не добавляет.


vedmed   (2002-03-19 15:41:00) [5]

Еще насчёт сравнения файлов см. http://rpi.net.au/~ajohnson/delphiкомпонент TDiff


Andrey007   (2002-03-19 14:30:00) [6]

Насчёт сравнения файлов. В состав всех ОС от MS входит программа File Compare (fc.exe). Она запускается в консольном окошке и выплёвывает в него результаты сравнения. Но можно сделать и так, чтобы результаты сравнения двух файлов сохранялись в текстовый файл. Осталось только обработать эти результаты.


lipskiy   (2002-03-19 12:59:00) [7]


> Тебе ж говорят, задача не такая тривиальная как кажется
> :). Тебе голова на что дана?

В ней рот, которым я ем :)

> А описание алгоритма ты навряд ли найдёшь

Да просто спросил, ведь если есть готовые решения, то чего изобретать гайку от велосипеда. Придумаем, конечно!


Andrey007   (2002-03-19 09:34:00) [8]

2KvORubin
>Как работать с ДЛЛ ками, я с ними не сталкивался, если у кого есть желание, объясните ПЛИЗ !!!

Ну, посмотрите help, книжки какие-нибудь. Может чего и на этом сайте есть.


Suntechnic   (2002-03-19 02:16:00) [9]

>lipskiy © (19.03.02 02:03)

>вернее две, одна мне сравнит два ехешника и выдаст никий блочек разницы (блочки разниц) и некие адреса этих блочков, а другая утилитка, что у юзера...

Это зависит от реализации. Можно всё в одну впихнуть, а можно и в две разнести. В одну удобнее, т.к. тёте Маше из Мухосранска не надо будет объяснять, что надо запустить вот это и нажать туда-то...

>Ведь нужно не просто побайтно сравнивать, а искать вставленные и вырезанные блоки.

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


lipskiy   (2002-03-19 02:03:00) [10]

Тут самый сложный момент - корректно найти различия. Нет ли где описаний каких-нибудь по этой теме? Ведь нужно не просто побайтно сравнивать, а искать вставленные и вырезанные блоки. Как это делается? (чисто алгоритмически).


lipskiy   (2002-03-19 01:59:00) [11]

2 Suntechnic
Черт, до меня недоперло сразу - то есть отслеживать компилированный код тут совсем не нужно (как я вначале почему-то подумал), а просто написать маленькую утилитку, вернее две, одна мне сравнит два ехешника и выдаст никий блочек разницы (блочки разниц) и некие адреса этих блочков, а другая утилитка, что у юзера, возьмет эти блочки и перепишет в ехешнике. Мудро! Действительно интересная задачка, обязательно попробую такую фишку сделать.


Suntechnic   (2002-03-19 01:49:00) [12]

>lipskiy © (19.03.02 01:04)
>А нельзя ли поподробнее?
Ды что подробнее то? Возьми, например, старую версию своей программы, и новую. И посмотри разницу с помощью любой утилиты(например той что идёт вместе с WinCom). В зависимости от того, что менялось разница будет измерятся в байтах. Вот тебе и надо написать утилиту, которая просто напросто уберёт из старой версии ненужные байта, и добавит необходимые. Конечно задача не настолько тривиальная, как я описал, но вполне выполнимая. Естественно сама утилита должна быть на API, чтобы не жрать драгоценные байты при пересылке.


lipskiy   (2002-03-19 01:04:00) [13]

2 Suntechnic
!!! Очень интересная мысль! Я об этом раньше никогда не слышал (в смысле - о правке самого ехешника, слышал только о подмене модулей (dllек)).
А нельзя ли поподробнее?


Suntechnic   (2002-03-19 00:31:00) [14]

Как я понял основными проблемами "больших" программ является необходимость обновления. А почему никто патчами не пользуется? Под патчами я понимаю программку, которая будет править старый exe и переделывать его в новый. Зачем тянуть 10 метров по сети, если в программе ничего не поменялось, за исключением 10 байт? Насколько я знаю существуют специальные приложения по созданию патчей(этим у нас билд инженер занимается, так что названий я не знаю, знаю только что имеются) или можно самому написать. Задача не очень сложная, зато интересная. И не надо будет тётенькам из Забулдыгино объяснять что такое ZIP.

А использовать всякие упаковшики я бы не рекомендовал. Тут это тема уже неоднократно подымалась, так что желающие смогут найти почему.


KvORubin   (2002-03-18 21:10:00) [15]

> Andrey007
Как работать с ДЛЛ ками, я с ними не сталкивался, если у кого есть желание, объясните ПЛИЗ !!!


Andrey007   (2002-03-18 17:12:00) [16]

А ещё можно разбить свою программу на несколько маленьких dll. И посылать пользователям только то, что нужно обновить. Или программу, которая делает тоже самое если пользователи неграмотные.


KvORubin   (2002-03-18 17:07:00) [17]

Нет, это слишком много времени и нервов.


Андрей Сенченко   (2002-03-18 15:48:00) [18]

Нет... Ну если не лениво или размер настолько критичен, что это необходимо - просто пройди по объявленным в программе модулям ( Windows, SysUtils и т.п. ) и скопируй оттуда все необходимые Тебе функции и процедуры в свой проект.
Предупреждаю сразу, что работа сия подобна цепной реакции ( одни функции потнут за собой другие ) и очень кропотливая, но если надо ...


KvORubin   (2002-03-18 15:07:00) [19]

> Косильщик_Лужаёв ©
Спасибо, но мне нужно то, о чём > lipskiy © говорит..
Но вижу этому не суждено быть, раз 300 значит 300 ;((


lipskiy   (2002-03-18 00:53:00) [20]

> есть ли какой-то способ: создать форму вручную, етс она
> будет весить очень мало и при этом лепить интерфейс так
> как на обычной 300 килобайтной форме ???

IMHO, если на API, то так и будет. А если просто динамически крейтить формы используя класс TForm, то чтобы его использовать уже придется подкомпилировать все его ресурсы (Forms, Controls,...) и получатся те же 300кб.


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо