Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2003.09.11;
Скачать: [xml.tar.bz2];

Вниз

Форма - это круто! и очень много...   Найти похожие ветки 

 
МАКСИК   (2003-08-21 08:00) [0]

Почему прога, написанная на Делфи так много занимает? Слышал что forms там добавляет страшно многа мусора. Как его убрать? Может можно сделать "уменьшеный" по функциональности и объему (все равно 90% этих помой я не использую) TForm? Я еще сам попробую эт замутить, но если у кого есть готовое решение - help!!!


 
Palladin   (2003-08-21 08:04) [1]

краем уха слышал, краем глаза чувствовал...


> готовое решение - help!!!

WinAPI


 
МАКСИК   (2003-08-21 08:22) [2]

WinAPI - это тоже много... Еще больше, чем TFORM, тока там большая прога, а здесь - исходник :)
Хочеца ж всего и сразу, шоб не колбасица с АПИ


 
Palladin   (2003-08-21 08:37) [3]

Был бы модератором - засандалил бы тебя на год в RO за такие взгляды на жизь...
Подрастай.


 
Verg   (2003-08-21 08:39) [4]

http://kol.mastak.ru/


 
Palladin   (2003-08-21 08:44) [5]


> Verg © (21.08.03 08:39) [4]

Да ты чего, егож заколбасит от этого больше чем от WinAPI


 
МАКСИК   (2003-08-21 09:09) [6]

Столько написано, блин, и хоть бы одно что-то путное...


 
VAleksey   (2003-08-21 09:15) [7]

В потрепаЦа !

PS
Очередной орех.


 
Prov   (2003-08-21 09:19) [8]

а ты один раз напиши шаблон окошка на ВинАпи, а потом уже немного меньше придётся писать... Что же ты так сразу: "Апи мне не подходит..." и т.д. Нету такого выхода, чтобы ничего не писать и программы сами писались... Помнишь пословицу: Без труда не вытянешь и прогу из компа.. :))

Нужно стараться... Удачи..


 
Calm   (2003-08-21 09:22) [9]


> Что же ты так сразу: "Апи мне не подходит..."

А что тут такого? Многим людям API не подходит. Еще большему количеству людей не подходит программирование вообще, а то бы каждый программером был. Так что может и не подходит. Не подходит, не подходит... А чего оно должно подходить?
Помните пословицу: Сено к лошади не ходит, лошадь к сену подойдет.


 
МАКСИК   (2003-08-21 09:26) [10]

От вас никакого толку! Я то думал, что зарегистрированные посетители этого сайта настоящие гуру... А похоже они могут только пословицы цитировать и писать что-то типа "это те не подходит... а это подходит... напиши шаблон..." Если бы я знал, как написать шаблон, я бы щас ЭТО И ДЕЛАЛ, а не трепался с вами...


 
Кулюкин Олег   (2003-08-21 09:29) [11]

А можно нанять программера, который будет писать программы.
И никакой возни м ТФормс


 
Calm   (2003-08-21 09:31) [12]

2 МАКСИК
Ключевое слово поста [10] - трепался

Уверяю тебя, подавляющее большинство зарегистрированных гуру пользуются TForm и вполне довольны своей судьбой.
Те, что не входят в подавляющее большинство, используют WinAPI и тоже довольны.

Некоторые программеры, самозабвенно стремящиеся пройти по пути, отличному от большиства, пользуются KOL http://kol.mastak.ru/
Но, как сказал Паладин, от этого тебя заколбасит еще больше, чем от WinAPI.


 
МАКСИК   (2003-08-21 09:32) [13]

А можна ВАЩЕ ЗАСТРЕЛИЦА! И никакой возни ни с ТФормс, ни с программером...


 
МАКСИК   (2003-08-21 09:36) [14]

ЛЮДИ! Пожалуйста, пишите здесь только в том случае если у вас есть на мой конкретный вопрос свой конкретный ответ! А просто так - посоветовать нанять программера или пословицу написать - НЕ НАДО, ОК?


 
Anatoly Podgoretsky   (2003-08-21 09:37) [15]

МАКСИК (21.08.03 09:32) [13]
Это самое правильное решение


 
Calm   (2003-08-21 09:38) [16]

Посты 1, 4, 8, 12 вполне конкретны. Зря ты так.


 
BorisMor   (2003-08-21 09:42) [17]

Флейм однако... Но всетаки...


> Некоторые программеры, самозабвенно стремящиеся пройти по
> пути, отличному от большиства, пользуются KOL http://kol.mastak.ru/
> Но, как сказал Паладин, от этого тебя заколбасит еще больше,
> чем от WinAPI.

Ничего, никого, не коглбасит....
Если пользоватся MCK то программирование очень сильно смахивает на работу с VCL. Ну разве что базы данных писать почти невозможно :)


 
Кулюкин Олег   (2003-08-21 10:02) [18]

2 МАКСИК
Конкретно:
Вы уже написали что-то архиценное?
Хотите его продавать за большие деньги, да одна беда, на дискетку не влазит?
Нет? Я ошибся?

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

А пока либо "ЗАСТРЕЛИЦА", либо смешить народ вот такими "канкретными" вопросами.


 
MXA   (2003-08-21 10:05) [19]

2 МАКСИК
ты задал вопросы на который 10 умных людей не смогли ответить,
ну и кто ты после этого? :)


 
Anatoly Podgoretsky   (2003-08-21 10:07) [20]

Значит умнее этих 10 и намного, про крайней мере в 10 раз.


 
Pindos   (2003-08-21 10:54) [21]

МАКСИК, ты ХАМ!!!
Появился ниоткуда, да ещё тут читать всё не хочет.
Что бы чему то научится- нужно читать! или хотябы людей слушать.
В WinApi есть неплохое решение этого вопроса. Я попробовал сделать и всё получилось, ну что, что много писать, по клаве надо уметь стучать, ! при чём стучать надо быстро и с умом.
А прога сама создаёт форму, в Uses использует только Windows, и занимает всего 15кб!!!


 
Pindos   (2003-08-21 10:58) [22]

Ну в Uses ещё надо было Message. Вот пример такой маленькой проги:

program winmin;

uses
windows, messages;

{"модули windows и messages самые необходимые — они обязательно должны быть
объявлены в начале каждой Вашей программы!}
var
wc : TWndClassEx; //Переменная шаблона класса окна
MainWnd : HWND; //Описатель главного окна
Mesg : TMsg; //Переменная для цикла сбора сообщений
{ Далее следует оконная процедура главного окна. Обратите внимание на служебное
слово stdcall оно вынуждает компиллятор генерировать особый вид кода, который

может быть вызван любой windows-программой, без этого служебного слова
программа не сможет работать вообще!}

function WindowProc(wnd:HWND; Msg : Integer; Wparam:Wparam; Lparam:Lparam):Lresult;
stdcall;
Begin
{Далее происходит цикл обработки сообщений}
case msg of
wm_destroy : //Сообщение посылаемое при уничтожении окна
Begin
postquitmessage(0); exit;

Result:=0;
End
else Result:=DefWindowProc(wnd,msg,wparam,lparam);
end;
End;

{Переменные xPos,yPos,nWidth,nHeight в принципе не нужны, однако я их завел
(и вам рекомендую) для лучшей читабельности программы}

var
xPos,yPos,nWidth,nHeight : Integer;
begin //Тело программы
{ Далее идет заполнение шаблона класса окна}

wc.cbSize:=sizeof(wc);
wc.style:=cs_hredraw or cs_vredraw;
wc.lpfnWndProc:=@WindowProc;
wc.cbClsExtra:=0;

wc.cbWndExtra:=0;
wc.hInstance:=HInstance;
wc.hIcon:=LoadIcon(0,idi_application);
wc.hCursor:=LoadCursor(0,idc_arrow);
wc.hbrBackground:=COLOR_BTNFACE+1;
wc.lpszMenuName:=nil;
wc.lpszClassName:="WinMin : Main";
RegisterClassEx(wc); //Регистрация нового класса в системе

{"заполнение переменных xPos,yPos,nWidth,nHeight}

xPos:=100;
yPos:=150;
nWidth:=400;

nHeight:=250;

{ Создание главного окна}
MainWnd:=CreateWindowEx (
0, //флаги расширенных стилей
"WinMin : Main", //имя класса окна, данное при заполнении структуры wc
"Win Min", //заголовок окна
ws_overlappedwindow, //флаги стилей окна
{подробнdее о стилях см. после текста программы}
xPos, //горизонтальная позиция окна
yPos, //вертикальная позиция окна

nWidth, //ширина окна
nHeight, //высота окна
0, //описатель родительского окна (parent) или окна-владельца (owner)
0, //описатель меню окна (меню нет, нет и описателя)
Hinstance, //описатель приложения
nil //address of window-creation data
);
ShowWindow(MainWnd,CmdShow); //Отображаем окно

//Цикл обработки сообщений
//он может слегка видоизменяться, но эти строчки присутсвуют всегда

While GetMessage(Mesg,0,0,0) do
begin
TranslateMessage(Mesg);
DispatchMessage(Mesg);
end;
end.



 
Игорь Шевченко   (2003-08-21 11:05) [23]

Pindos © (21.08.03 10:58)

Очень ценная программа.


 
wl   (2003-08-21 11:23) [24]

>Игорь Шевченко © (21.08.03 11:05) [23]
просто шаблон для МАКСИК (21.08.03 09:26) [10]


 
KSergey   (2003-08-21 12:19) [25]

Игорь Шевченко © (21.08.03 11:05)
Pindos © (21.08.03 10:58)
Очень ценная программа.


Да ладно, нормальная (надеюсь, что компилится, не проверял ;)

Pindos © (21.08.03 10:54)
А прога сама создаёт форму, в Uses использует только Windows, и занимает всего 15кб!!!


Поправочки: не форму, окно (не надо путать, это не эквивалентные термины), и не 15, а 16кБ.

МАКСИК (21.08.03 08:00)
Почему прога, написанная на Делфи так много занимает? Слышал что forms там добавляет страшно многа мусора. Как его убрать? Может можно сделать "уменьшеный" по функциональности и объему (все равно 90% этих помой я не использую) TForm? Я еще сам попробую эт замутить, но если у кого есть готовое решение - help!!!


Так, собачку добили, переходим к компу ;)
Ну много - понятие относительное. Я счмтаю - не много, т.к. мои программы по размеру меньше дистрибутива Win, написанного на поганом Cи (если кто не понял - ;))
TForm мусора не добавляет. Если ты даже чего и не используешь - TForms сама использует, не беспокойся.
И главное. Плюнь пока на размер, не, серъезно. На винт влазит прога - ну и ладушки.
А вот когда нечем будет заняться, кроме как на объем смотреть- можешь и его пооптимизировать. Только боясь к тому времени TForm не будет казаться таким уж большим, поверь ;)


 
default   (2003-08-21 12:37) [26]

пиши на асме


 
Zhenka   (2003-08-21 13:04) [27]

да какой размер в крайнем случае можно исходник сжать спецпрогами


 
KSergey   (2003-08-21 15:31) [28]

default © (21.08.03 12:37)
пиши на асме

Есть у меня подозрение, что это мало поможет при программировании под Win. Те же множественные вызовы ф-ций API, которые выглядят везде одинаково ;)


 
default   (2003-08-21 15:40) [29]

KSergey © (21.08.03 15:31) [28]
да, но всё же меньше чем в Delphi размер выйдёт
просто автора сабжа WinAPI предложили - не подходит
вот я ему и предложил уже "крайний" уровень


 
KSergey   (2003-08-21 15:48) [30]

default © (21.08.03 15:40)
KSergey © (21.08.03 15:31) [28]
да, но всё же меньше чем в Delphi размер выйдёт

Для программы типа "создать пустое окно" - возможно выйдет меньше.
Вот только я бы не стал хвастаться при этом, что создал приложение круче, чем смогла дельфи. Т.к. если попробовать на асме создать достаточно большой проект (например, редактор типа MS Word), то еще большой вопрос, какой код будет меньше. Дельфи оптимизирует код так, что надо научиться еще так самому писать ;)


 
olookin   (2003-08-21 16:00) [31]

Полностью согласен с KSergey - незачем тратить время на уменьшение размера программы... При современных размерах винтов и памяти это становится несущественной проблемой... Разумеется, не стоит игнорировать то что пишет компилятор в uses при создании, например, нового модуля. Многое оттуда надо удалять, что автоматически скажется на размере программы.

А что касается размера - моя прога весит почти 2 Мб, содержит при этом 34 формы и 48 модулей (хм.. не поленился - посчитал)... По мнению автора вопроса - это (размер т.е.) много или мало для такого количества форм?


 
kostas   (2003-08-21 16:23) [32]


> Zhenka ©

Я думаю сжатие в данном случае самый подходящий вариант!!!
Есть хор. прога для тебя МАКСИК - ASPack! Сжимай ей и не парься!


 
KSergey   (2003-08-21 16:34) [33]

olookin © (21.08.03 16:00)
Полностью согласен с KSergey - незачем тратить время на уменьшение размера программы... При современных размерах винтов и памяти это становится несущественной проблемой... Разумеется, не стоит игнорировать то что пишет компилятор в uses при создании, например, нового модуля. Многое оттуда надо удалять, что автоматически скажется на размере программы.

А что касается размера - моя прога весит почти 2 Мб, содержит при этом 34 формы и 48 модулей (хм.. не поленился - посчитал)... По мнению автора вопроса - это (размер т.е.) много или мало для такого количества форм?


За поддержку спасибо, но токо не надо понимать мои слова как однозначный призыв "хаваем ресурсы на полную катушку!".
Я же специально написал "до поры, до времени". Все от ситуации зависит: если есть компонент, который жрет, заоаза, память, но его функциональность меня устраивает полностью, в отличии от аналогов - ну и пусть хавает. Значит так надо. Но если выбирать между двумя алгоритмами (подходами к построению конкретной задачи), при этом одн алгоритм есть в 10 раз больше второго - возьмем второй. Хотя это тоже спорно: возможно первый работает в 100 раз быстрее, и в данном конкретном случае это критичнее - тогда уже решение в его пользу.
Так что все не так однозначно: взял ужал, взял разжал...

kostas © (21.08.03 16:23)
Я думаю сжатие в данном случае самый подходящий вариант!!!
Есть хор. прога для тебя МАКСИК - ASPack! Сжимай ей и не парься!


Не надо ничего сжимать!!!! Это все еще только усугубит на самом деле!!!
Если подумаете - поймете почему. Или ищите статью Криса Касперски на сей счет - там все разжевано.
(Кроме того, если внимательнее приглядеться, то в упомянутом посте речь шла о каком-то сжатии исходников, что я себе уже вообще не представляю...)


 
olookin   (2003-08-21 18:25) [34]

to KSergey

Разумеется, я не имел в виду, что надо отказаться от оптимизации вообще (хм.. я так и писал - "Разумеется, не стоит игнорировать то что пишет компилятор в uses при создании, например, нового модуля. Многое оттуда надо удалять, что автоматически скажется на размере программы"). С другой стороны, я как пользователь стандартных контролов не вижу для себя лично необходимости переписывать их на АПИ. Вот другое дело, когда вас не устраивает в чем то работа полезного контрола - тогда имеет смысл его переписать. Это, однако ж, уже из другой оперы так сказать, и к поставленному вопросу не относится...


 
Pindos   (2003-08-21 22:40) [35]

а чё-то затейник вопроса, тобиш МАКСИК, молчит, странно?


 
KSergey   (2003-08-22 07:20) [36]

Pindos © (21.08.03 22:40)
а чё-то затейник вопроса, тобиш МАКСИК, молчит, странно?


А это стандартная ситуация.
В лучшем случае он, надеюсь, прочитал. А может ему это и нафиг не надо ;)


 
cancel   (2003-08-22 10:27) [37]

UPX!!!


 
Санек   (2003-08-22 10:55) [38]

МАКСИК походу дела того, застрелился.... [13] :))



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2003.09.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.55 MB
Время: 0.01 c
1-33578
yuliya
2003-08-28 13:59
2003.09.11
проблема


1-33542
Элл
2003-08-29 09:49
2003.09.11
Интернет и Дельфи


1-33673
race1
2003-08-29 16:23
2003.09.11
enhlistview


3-33521
изм
2003-08-19 13:53
2003.09.11
MIDAS


1-33617
Layner
2003-09-01 08:59
2003.09.11
Как по ESC закрыть форму, причем не важно, где находится курсор





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский