Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.28;
Скачать: CL | DM;

Вниз

Какой средой лучше пользоваться, программируя на API ?   Найти похожие ветки 

 
Comp ©   (2004-11-07 16:43) [0]

Вот собственно вопрос. А вопрос очень серьезный. Считается, что раз это Майкрософтовские штучки, то пользоваться надо Visual C++.

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

 А все произошло так:
 
Однажды посетил некую страницу этого сайта, FAQ, где задавали вопрос "Как уменьшить размер файла программы?" прочитал самый первый ответ:

1) Программировать на API.
...
После этого долго не мог смириться с этим, вообще что это такое, но любопытство победило и вконце концов скачал простенький пример - окно с кнопкой, которая его закрывает.
Конечно это был один файл *.dpr. Никаких DFM. PAS, RES  и др. И работало же! И размер был всего 15 кб.
Но потом, что бы совсем не расстраиваться забил на все это.
Это было 2 года назад.
Но вот 2 месяца назад вспомнил. Поискал немного инфы и понял, что программируя на API возможностей намного больше, чем в VCL.

Так вот как быть? С++ знаю только поверхностно - достаточно чтобы понять мало-мальски простенькие примеры и перевести их на Pascal.

 Далеко ли можно уйти, используя Pаscal? Стоит ради этого потом покупать Delphi, заведомо зная, что большую часть ее ты не будешь использовать, а лишь некоторые модули.
 Или лучше изучать С++?
Посоветуйте пожалуйста.


 
Гаврила ©   (2004-11-07 16:49) [1]


> Поискал немного инфы и понял, что программируя на API возможностей
> намного больше, чем в VCL.


неправильно понял. программируя на VCL, ты можешь отдельные функции реализовывать с помощью api.

Если же ты решаешь писать "на чистом API", то совершенно без разницы, на чем - delphi или С++


> Или лучше изучать С++?


Хороший программист должен знать оба продукта


 
Ihor Osov'yak ©   (2004-11-07 16:50) [2]

Возможности инструментария от Борланд и от Майкрософт, да и самих языков  (делфийский паскаль vs сpp с майрософтовскими библиотеками) в части программирования для win32 практически одинаковы. Но вот трудоемкость разработки на D в большинстве случаев будет существенно ниже. Да и среда несколько удобнее (это имхо).
Си знать желательно, хотя бы в режиме чтения только, так как оригинальная документация (от ms) сопровождается примерами на си.


 
Comp ©   (2004-11-07 17:04) [3]


>  [1] Гаврила ©   (07.11.04 16:49)



> Хороший программист должен знать оба продукта


Согласен. Но есть вещи любимые и нелюбимые, как и везде...


>  [2] Ihor Osov"yak ©   (07.11.04 16:50)



> Да и среда несколько удобнее


Тоже согласен. Лично я привык к ней уже.


 
KilkennyCat ©   (2004-11-07 17:41) [4]


> Или лучше изучать С++?


лучше изучать фундаментальные вещи.


 
SPeller ©   (2004-11-07 17:50) [5]

А можно юзать KOL чтобы размер был меньше. И на Дельфи, и размер меньше чем с использованием VCL.


 
Ihor Osov'yak ©   (2004-11-07 17:53) [6]

> лучше изучать фундаментальные вещи.

это само собою. Возможно даже в первую очередь.


 
Игорь Шевченко ©   (2004-11-07 17:54) [7]


> Какой средой лучше пользоваться, программируя на API ?


Какой удобно, такой и пользоваться.
И прислушиваться надо к KilkennyCat ©   (07.11.04 17:41) [4],
а не заниматься супер-пупер мелкими программами.


 
Сергей Суровцев ©   (2004-11-07 17:57) [8]

>Сomp ©   (07.11.04 16:43)  
>А вот как быть, если на изучение Pascal ты отдал 3 года из пяти
>своей студенческой жизни, ни ел, ни гулял, ни пил (почти),
>большую часть свободного времени проводил за компом, за Delphi,
>познавал свойства компонентов и потом буквально в одночасье
>понял (для себя), что это просто было потраченное зря время.

Действительно зря потраченое время. D как раз и сущестаует для того, чтобы есть, пить, гулять и при этом создавать продуты ПО уровня как минимум не хуже тех, над которыми программисты от MS вынуждены сидеть не отрываясь кучу времени. Одну и ту же яму можно выкопать лопатой и эксковатором. Выбирай сам.


 
KilkennyCat ©   (2004-11-07 17:57) [9]


> Ihor Osov"yak ©   (07.11.04 17:53) [6]


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


 
Ihor Osov'yak ©   (2004-11-07 19:09) [10]

2 [9] KilkennyCat ©   (07.11.04 17:57)

а я, что, возражал?


 
KilkennyCat ©   (2004-11-07 19:11) [11]


> Ihor Osov"yak ©   (07.11.04 19:09) [10]


нет :) но сказал "возможно".


 
Ihor Osov'yak ©   (2004-11-07 19:31) [12]

2 [11] KilkennyCat ©   (07.11.04 19:11)

а я почти всегда избегаю высказываться в категоричной форме.. особенно в вопросах философии и близких к гуманитарной сфере.


 
kaZaNoVa ©   (2004-11-07 19:31) [13]

Delphi+Api+сжатие = проги от 3 кб :))
имхо супер !


 
Ihor Osov'yak ©   (2004-11-07 19:35) [14]

а вот за сжатие - пороть нужно. и очень больно.


 
KilkennyCat ©   (2004-11-07 19:58) [15]


> Ihor Osov"yak ©   (07.11.04 19:31) [12]


согласен. причем в этом случае - категорично :)


 
Игорь Шевченко ©   (2004-11-07 21:03) [16]

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


 
KilkennyCat ©   (2004-11-07 21:24) [17]


> Игорь Шевченко ©   (07.11.04 21:03) [16]


если в трактовке единиц килобайт - возможно, просто моральное удовольствие?


 
Сергей Суровцев ©   (2004-11-07 22:18) [18]

>Игорь Шевченко ©   (07.11.04 21:03) [16]
>А что за радость от мелких программ ? Ведь понятно, что мелкая
>программа ничего особо полезного не сделает (имеются в виду
>единицы килобайт, к которым тут так некоторые стремятся).

-Хорошо что Вы такой зеленый и плоский!
-Это почему?
-А Вы можете лежать на газоне и Вас не будет видно! (с)


 
Knight ©   (2004-11-07 22:41) [19]


> [16] Игорь Шевченко ©   (07.11.04 21:03)
> А что за радость от мелких программ ? Ведь понятно, что
> мелкая программа ничего особо полезного не сделает (имеются
> в виду единицы килобайт, к которым тут так некоторые стремятся).

Не знаю как вы, а я был в шоке увидев игру на 96к и демки с падающими на город обломками метеоритов и т.п. на 64к... в которых нет и намёка на гигабайты бесполезной инфы.


 
Игорь Шевченко ©   (2004-11-07 22:53) [20]

Knight ©   (07.11.04 22:41) [19]


> Не знаю как вы, а я был в шоке увидев игру на 96к и демки
> с падающими на город обломками метеоритов и т.п. на 64к


Так на delphiGFX были такие демки, Ян Хорн их писал.


 
Думкин ©   (2004-11-08 05:49) [21]

> [19] Knight ©   (07.11.04 22:41)
> Не знаю как вы, а я был в шоке увидев игру на 96к и демки
> с падающими на город обломками метеоритов и т.п. на 64к...
> в которых нет и намёка на гигабайты бесполезной инфы.

Обсасывалось уже. Вывод - кажется, креститься надо. :)


 
Knight ©   (2004-11-08 16:32) [22]


> [21] Думкин ©   (08.11.04 05:49)
> Обсасывалось уже. Вывод - кажется, креститься надо. :)

Так я и говорю именно о тех прогах, которые тут "обсасывались"... поэтому не выставляю никаких ссылок для нового обсуждения... а вам, батенька, креститься надо :)


 
SPeller ©   (2004-11-08 16:55) [23]

Игорь Шевченко ©   (07.11.04 21:03) [16]
Ведь понятно, что мелкая программа ничего особо полезного не сделает (имеются в виду единицы килобайт, к которым тут так некоторые стремятся)

Да, но она сделает то что будет делать то же самое что и 400 килобайт на VCL :) "Так зачем платить больше?" (с) :)


 
SPeller ©   (2004-11-08 16:58) [24]

ЗЫ: Хотя ни к чему очередные споры ЗА и ПРОТИВ, всё-равно каждый при своем мнении останется :)


 
Rem ©   (2004-11-08 17:03) [25]

>>Да, но она сделает то что будет делать то же самое что и 400 килобайт на VCL :) "Так зачем платить больше?" (с) :)

И вправду, 400 кбайт VCL за 1 день - пустой звук перед 64 кбайт истинного ;) кода вручную за месяц...


 
Knight ©   (2004-11-08 17:15) [26]


> И вправду, 400 кбайт VCL за 1 день - пустой звук перед 64
> кбайт истинного ;) кода вручную за месяц...

Я, честно говоря, всегда думал, что компилятор на то и компилятор, чтобы отбрасывать при обработке исходника, всё лишнее, а не трамбовать в него всё что надо и не надо... зачем забивать в исполняемый файл данных на 400кб, если и 64 прекрастно работают, причём, на любой машине...


 
Piter ©   (2004-11-08 18:10) [27]

SPeller ©   (08.11.04 16:55) [23]
Да, но она сделает то что будет делать то же самое что и 400 килобайт на VCL :)


логично, поддерживаю. Другой вопрос - во сколько раз сложнее будет написать такую программу...

Knight ©   (08.11.04 17:15) [26]
Я, честно говоря, всегда думал, что компилятор на то и компилятор, чтобы отбрасывать при обработке исходника, всё лишнее


а компилятор так и делает, вообще-то.

зачем забивать в исполняемый файл данных на 400кб, если и 64 прекрастно работают

а ты напиши аналог VCL, чтобы он занимал 64 Kb - да и пользуйся на здоровье. И я буду пользоваться тогда :)

P.S. Посмотри код инициализации модуля Forms и побегай по ссылкам - поймешь откуда такой размер.


 
DiamondShark ©   (2004-11-08 18:19) [28]


> Ведь понятно, что мелкая программа ничего особо полезного
> не сделает

Зато вредного много может сделать ;)


 
DVM ©   (2004-11-08 19:11) [29]


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

Почему программа на API обязательно должна быть маленькая?


 
DiamondShark ©   (2004-11-08 19:20) [30]


> DVM ©   (08.11.04 19:11) [29]
>
> Почему программа на API обязательно должна быть маленькая?

Тогда встречный вопрос: а зачем ей тогда быть на API?


 
Сергей Суровцев ©   (2004-11-08 19:30) [31]

Вот народ халявы хочет! Аш жуть! Поймите вы - объемом exe вы платите за увеличение на порядок скорости разработки. Это как минимум. Второе - возможность использовать уже готовые огромные куски благодаря компонентной модели. И в скорости компиляции тоже выигрываете в несколько раз. И за все это вы платите ТОЛЬКО лишними несколькими сотнями килобайт в exe - ну неужели это так много? Ну а в серьезных программах эту разницу никто даже не увидит. Нафига, спрашивается весь разговор?


 
DiamondShark ©   (2004-11-08 19:37) [32]


> Нафига, спрашивается весь разговор?

Типа, крута. Ну и всё такое...


 
Knight ©   (2004-11-08 22:09) [33]

> [27] Piter ©   (08.11.04 18:10)
> а компилятор так и делает, вообще-то.
Если бы он откидывал ВСЁ то от VCL после компиляции проекта, состоящего из одной пустрой формой, не осталось бы ничего, а полученный исполняемый файл не привысил бы размера аналогичной программы на API...

ЗЫ: но мне это не особо мешает... не хай с ним, с размером :)


 
Плохиш ©   (2004-11-08 22:17) [34]


> Сергей Суровцев ©   (08.11.04 19:30) [31]
> Нафига, спрашивается весь разговор?

У них спортивный интерес, пусть занимаются, всё равно им больше делать нечего ;-)


 
Piter ©   (2004-11-08 23:53) [35]

Knight ©   (08.11.04 22:09) [33]
> а компилятор так и делает, вообще-то.
Если бы он откидывал ВСЁ то от VCL после компиляции проекта, состоящего из одной пустрой формой, не осталось бы ничего, а полученный исполняемый файл не привысил бы размера аналогичной программы на API...


слушай.. я ведь тебе объяснил - ты читаешь или как?

Компилятор откидывает ВСЕ, что не используется. И это действительно так. Если ты не вызываешь какую-то функцию, и другие вызываемые тобой функции не вызывают эту функцию - то эта функция никогда не будет включена в EXE"шник!
А теперь почему подключение Forms занимает столько места - потому что у Forms есть раздел Initialization - можешь посмотреть! И в этой инициализации столько всего делается и используется, что код становится весомым.
А без инициализации этого модуля формы, увы, работать не смогут.

Так что не надо на компилятор бочки толкать.


 
vecna ©   (2004-11-09 00:24) [36]

в чем смысл экономить на килобайтах, жертвуя удобством и быстротой разработки ?


 
GanibalLector ©   (2004-11-09 00:40) [37]

>в чем смысл экономить на килобайтах, жертвуя удобством и быстротой разработки ?

Прежде всего в ЗНАНИЯХ.


 
Knight ©   (2004-11-09 01:07) [38]


> [35] Piter ©   (08.11.04 23:53)
> Так что не надо на компилятор бочки толкать.

Давайте катить бочку на других Борландов, которые пишут такие модули из-за которых бедному компилятору приходится в exe-шник разный хлам трамбовать... %)


 
Comp ©   (2004-11-09 02:34) [39]


>  [16] Игорь Шевченко ©   (07.11.04 21:03)


Размер программы - НЕ САМОЕ ГЛАВНОЕ.

В вопросе я указал эту причину, которая пробудила интерес к API. И на этом все.

А сейчас интерес - в том, что это нудное кропотливое программирование на API и есть та изюминка, которую может извлечь НЕ КАЖДЫЙ. Это построение приложение с "нуля" причем так, как "указано" самой Microsoft.

 Если бы автором Windows была Borland, то ответ был бы очевиден. Но так как это не так, то API - это самое лучшее решение при разработке программ под Windows. И этому нет опровержений.

---
(KOL тоже написан с помощью API)

---
(KOL тоже написан с помощью API)


 
GuAV ©   (2004-11-09 02:41) [40]

Comp ©   (09.11.04 2:34) [39]
Но так как это не так, то API - это самое лучшее решение при разработке программ под Windows. И этому нет опровержений.


API - это единственно правильное решение при разработке программ под Windows.

---
(VCL тоже написан с помощью API)


 
Comp ©   (2004-11-09 02:43) [41]

И вообще это может быть пост для всех.

Я повторяю - так как Борланд не хозяин Windows, то можно сделать вывод о оптимальности и рациональности выбранного решения.

А на главный вопрос, ребята, я так и не получил ответа.
 Стоит ли покупать Delphi?


 
Comp ©   (2004-11-09 02:45) [42]

.
>  [40] GuAV ©   (09.11.04 02:41)



> API - это единственно правильное решение при разработке
> программ под Windows.


Я это и хотел сказать.

Может ты и будешь хоть одним челом, который меня понял...


 
Comp ©   (2004-11-09 02:54) [43]

к [41]

"Стоит ли покупать Delphi?"

Я хотел точнее спросить, есть ли еще решения кроме Delphi? FreePascal пойдет. Это вообще что такое? Кто нить пользовался? Там можно на API программировать?


 
Comp ©   (2004-11-09 02:57) [44]

Все таки Delphi как никак у нас тут 105$-иков стоит...

 Я просто хочу выяснить, стоит ли игра свечь?


 
Поручик ©   (2004-11-09 03:26) [45]

Comp ©   (09.11.04 2:34) [39]
Если бы автором Windows была Borland, то ответ был бы очевиден. Но так как это не так, то API - это самое лучшее решение при разработке программ под Windows. И этому нет опровержений.


Нет опровержений, но если следовать твоей логике, то есть дополнение: ...API в среде от Microsoft - это самое лучшее решение...

Нужен маленький размер, пиши на Asm, пиши свой архиватор, который быдет при запуске проги разархивировать ее, а затем запускать. Думаю пустое окно можно сжать до 10-9kb, если не меньше.

Comp ©   (09.11.04 2:54) [43]
Я хотел точнее спросить, есть ли еще решения кроме Delphi? FreePascal пойдет. Это вообще что такое? Кто нить пользовался? Там можно на API программировать?


Я не спец по FreePascal, но по-моему, в нем по умолчанию только на API можно программировать.

Comp ©   (09.11.04 2:57) [44]
Все таки Delphi как никак у нас тут 105$-иков стоит...


Зачем тебе лицензия, если ты программировать не умеешь?


 
KSergey ©   (2004-11-09 07:59) [46]

>  [40] GuAV ©   (09.11.04 02:41)
> API - это единственно правильное решение при разработке
> программ под Windows.

Вы знаете другой способ написания прог под Windows??! Поделитесь, плиз ;)
По-моему - это вообще единственный путь по определению.

> [44] Comp ©   (09.11.04 02:57)
> Все таки Delphi как никак у нас тут 105$-иков стоит...
>
>  Я просто хочу выяснить, стоит ли игра свечь?

Какие Вы рассматривали альтернативы? Познать можно лишь в сравнении. Если же альтернатив нет - то какой тогда смысл разговора?
Про FreePascal -увы не знаю. К стати, за время потраченное тут в пустых разговорах можно было вполне на него посмотреть ;)


 
TUser ©   (2004-11-09 11:11) [47]


> программируя на API возможностей намного больше, чем в VCL

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

Очень странно, что вы 3 года изучали Delphi и не сталкивались с АПИ.


 
TUser ©   (2004-11-09 11:11) [48]

А поскольку вопрос про среду, то ответ очевиден - при писании на чисто-АПИ среда имеет очень небольшое значение.


 
wicked ©   (2004-11-09 11:23) [49]

> Comp [43]

> Я хотел точнее спросить, есть ли еще решения кроме Delphi?
> FreePascal пойдет. Это вообще что такое? Кто нить пользовался?
> Там можно на API программировать?

вот, например, здесь (http://www.free-soft.org/guitool/) и здесь (http://www.thefreecountry.com/sourcecode/gui.shtml) собраны ссылки на наиболее известные решения "чтоб-не-писать-на-АПИ"... большинство из них также более-менее кроссплатформенны...
наиболее яркие из тех, что я видел:
wxWidgets - http://www.wxwidgets.org/ (кто знает, почему они резко переименовались с wxWindow?)
FLTK - http://www.fltk.org/
VCF - http://vcf.sourceforge.net/
FOX - http://www.fox-toolkit.org/fox.html
SmartWin - http://smartwin.sourceforge.net/
WinGTK - http://wingtk.sourceforge.net/
Lazarus - http://www.lazarus.freepascal.org/
WOL - http://wol.sourceforge.net/

выбирай....


 
wicked ©   (2004-11-09 11:35) [50]

в догонку к wicked [49]:
.NET windows forms забыл упомянуть...


 
Danilka ©   (2004-11-09 11:37) [51]

[49] wicked ©   (09.11.04 11:23)
Дык, автору ветки как-раз наоборот - винАПИ подавай, а кросс-платформеность нафиг не нужна. :))

[43] Comp ©   (09.11.04 02:54)
> Я хотел точнее спросить, есть ли еще решения кроме Delphi?

Речения чего? Задачи-то разные бывают. Как правило, это выполнить какой-то определенный проект в определенный срок.
Но есть и бестолковые - пальцы погнуть, ничего полезного не сделав, так, рюшечки безполезные, зато ой какие маненькие. :))


 
Danilka ©   (2004-11-09 11:43) [52]

[50] wicked ©   (09.11.04 11:35)
точно.
в догонку к Comp ©, а нафига тебе ВинАПИ, если через несколько лет, про него все позабудут?


 
Pentium133 ©   (2004-11-09 11:53) [53]

Вопорос: Какой средой лучше пользоваться, программируя на API?
Ответ: Любой. Какая тебе больше нравится.
Тему закрыть.


 
Fay ©   (2004-11-09 11:54) [54]

2 Danilka ©   (09.11.04 11:43) [52]
И эти несколько лет необходимо (и обязательно) работать охранником в поликлинике?


 
GuAV ©   (2004-11-09 11:57) [55]

KSergey ©   (09.11.04 7:59) [46]
По-моему - это вообще единственный путь по определению.


Я именно это и имел ввиду. Просто побоялся сказать об этом так категорично.

По сабжу.
Comp ©   (09.11.04 2:34) [39]
А сейчас интерес - в том, что это нудное кропотливое программирование на API и есть та изюминка, которую может извлечь НЕ КАЖДЫЙ.

На самом деле изюминки программирования не в этом.

API - это как asm. Знать его полезно даже если пишешь на Дельфи (хоть и не абсолютно необходимо), но писать что-то большое на этом не следует - лучше взять более производительное решение.

Да и знать API не получится вобщем-то. Можно только знать основные принципы, и уметь искать в MSDN.


 
Danilka ©   (2004-11-09 13:16) [56]

[54] Fay ©   (09.11.04 11:54)
Кому как больше нравицца. Если очень хочется охранником в поликлиннике - милости просим. Там, иногда, такие сестрички встречаются - загляденье.
А так, мое скромное мнение - работай с VCL наздоровье, скорость разработки на порядок выше чем то-же самое, но на ВинАПИ. Все-таки, сейчас более критичен не размер бинарника, а именно скорость и качество разработки.


 
Странник ©   (2004-11-09 13:35) [57]


> Вопорос: Какой средой лучше пользоваться, программируя на
> API?

Far, Norton Commander, Notepad, ........


 
[lamer]Barmaglot ©   (2004-11-09 13:52) [58]

Ну добавлю я и свое мнение...

1. Пишут на WinAPI для того чтобы понять как это работает в нутри... Так же как в институту изучают Asm для того что-бы показать как ЭТО работает, в желании писать как можно ближе к системе нет ничего плохого, наоборот по моему мнению любое желание опустится ближе к железу надо приветствовать. Например у человека появится понимание что такое PChar и с чем его едят. Так же он узнает, что для него оказывается надо выделять память и т.д. Кроме того переносимость программ из одного языка программирования в другой очень высокая... Программа написанная в WinAPI на Delphi практически не отличается от той же программы на С++...
2. Теперь второе ИМХО учить Си надо и ты действительно потерял(грубо говоря - поскольку никакие знания не бывают лишними) три года, чтобы тебе здесь не говорили... И дело даже не в том, что Си лучше или быстрее, а в СВОБОДЕ. В любой момент перед тобой лучший мануал всех времен и народов MSDN и PSDK, перед тобой ЛУЧШИЕ писатели (догадайся, тот Рихтер на которого здесь все ссылаются на каком языке писал? А Фень Юань? и т.д.) перед тобой возможность выбирать компилятор (какой мне взять от микрософта, от интела или чей - нибудь стороний?) и наконец перед тобой возможность выбирать ось (как это не странно) Язык Си является практически стандартом. Поэтому если ты со знанием Си перейдешь на Линукс, особых проблем у тебя не возникнет он там давно (с самого начала) все исходные тексты линукса на Си... А вот все твои знания Delphi там не понадобятся, поскольку покупать Kylix, когда под боком есть бесплатный компилятор, по меньшей мере глупо...


 
Григорьев Антон ©   (2004-11-09 13:55) [59]


> Piter ©   (08.11.04 23:53) [35]
> Knight ©   (08.11.04 22:09) [33]
> > а компилятор так и делает, вообще-то.
> Если бы он откидывал ВСЁ то от VCL после компиляции проекта,
> состоящего из одной пустрой формой, не осталось бы ничего,
> а полученный исполняемый файл не привысил бы размера аналогичной
> программы на API...
>
> слушай.. я ведь тебе объяснил - ты читаешь или как?
>
> Компилятор откидывает ВСЕ, что не используется. И это действительно
> так. Если ты не вызываешь какую-то функцию, и другие вызываемые
> тобой функции не вызывают эту функцию - то эта функция никогда
> не будет включена в EXE"шник!
> А теперь почему подключение Forms занимает столько места
> - потому что у Forms есть раздел Initialization - можешь
> посмотреть! И в этой инициализации столько всего делается
> и используется, что код становится весомым.
> А без инициализации этого модуля формы, увы, работать не
> смогут.
>
> Так что не надо на компилятор бочки толкать.

Во-первых, выкидывает не компилятор, а компоновщик (линкер), который работает уже после компилятора. Во-вторых, компоновщик не умеет выкидывать виртуальные методы, т.к. в общем случае нельзя определить, будут ли они использованы или нет. Поэтому 400 кб - это не код инициализации модулей, а, в основном, код неиспользованных виртуальных методов.


 
Игорь Шевченко ©   (2004-11-09 13:58) [60]


> Поэтому 400 кб - это не код инициализации модулей, а, в
> основном, код неиспользованных виртуальных методов.


А посмотреть ?


 
Danilka ©   (2004-11-09 14:05) [61]

[58] [lamer]Barmaglot ©   (09.11.04 13:52)
> Теперь второе ИМХО учить Си надо и ты действительно потерял(грубо
> говоря - поскольку никакие знания не бывают лишними) три
> года

...

> В любой момент перед тобой лучший мануал всех времен и народов
> MSDN и PSDK

Однако, чтобы разобраться с примерами MSDN необязательно 3 года изучать Си, достаточно более менее сносно с ним разбираться.

Далее, на счет линусков, интелов и прочее. Все зависит от места и характера работы. Если у кого-то на работе Дельфи плюс какая-нибудь СУБД, то зачем ему все это, всякие линуксы и прочее? Вообще, как говорицца, "надо лезь в одну гору".


 
KilkennyCat ©   (2004-11-09 14:08) [62]

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


 
Pentium133 ©   (2004-11-09 14:11) [63]


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

Телячий. Очень вкусный говорят.


 
[lamer]Barmaglot ©   (2004-11-09 14:12) [64]

то KilkennyCat ©   (09.11.04 14:08) [62]

Что бы сразу круто и все такое, лучше на мерсе ездить и с бабушек на рынке деньги вытрясать :-).

то Danilka ©   (09.11.04 14:05) [61]

>Далее, на счет линусков, интелов и прочее. Все зависит от места
>и характера работы. Если у кого-то на работе Дельфи плюс какая-
>нибудь СУБД, то зачем ему все это, всякие линуксы и прочее?
>Вообще, как говорицца, "надо лезь в одну гору".

То есть ты признаешь, что Delphi это узко специализированный язык предназначенный для совершенно определенной задачи?


 
Comp ©   (2004-11-09 14:38) [65]


> Поручик ©   (09.11.04 03:26) [45]



> Зачем тебе лицензия, если ты программировать не умеешь?


Откуда такое убеждение?

 За свои слова принято отвечать.


 
Comp ©   (2004-11-09 14:39) [66]


> Поручик ©   (09.11.04 03:26) [45]



> Зачем тебе лицензия, если ты программировать не умеешь?


Откуда такое убеждение?

 За свои слова принято отвечать.


 
Danilka ©   (2004-11-09 14:48) [67]

[64] [lamer]Barmaglot ©   (09.11.04 14:12)
> То есть ты признаешь, что Delphi это узко специализированный
> язык предназначенный для совершенно определенной задачи?

Нет, для очень широкого круга задач.


 
Comp ©   (2004-11-09 15:00) [68]


> Danilka ©   (09.11.04 11:37) [51]
> Дык, автору ветки как-раз наоборот - винАПИ подавай, а кросс-платформеность
> нафиг не нужна. :))


Это что еще за реплика такая? Я ничего не требую себе подавать.

ВСЕМ

Ладно, ребята, спасибо за советы, подсказки, ссылки, "проучения", я так подумал и решил.
 Наверно стоит все-таки покупать Делфи. Никогда не знаешь, что потом произойдет. Каждый раз сидеть и программировать на API тоже мало продуктивное занятие. Иногда бывают моменты, когда требуется решить задачу в кратчайшие сроки. Ну например, какую нибудь программу для научной работы, для нового изобретенного устройства и т.д. Вплоть до какого-нить мало мальского, но срочного заказа какого нибудь ларька или магазинчика.
Если не иметь своей библиотеки (а я этого пока не имею) своих компонентов на API, то это дело очень долго будет делаться. Другое дело - это когда ты вооружен хотя бы как-то хотябы основными компонентами, тогда можно. А если нет, то увы...

 И к посту


> Danilka ©   (09.11.04 11:43) [52]
> [50] wicked ©   (09.11.04 11:35)
> точно.
> в догонку к Comp ©, а нафига тебе ВинАПИ, если через несколько
> лет, про него все позабудут?


Это тоже правильно. Может через лет 5-10 про Windows будут говорить как о чем-то второстепенном...

ВСЕ МОЖЕТ БЫТЬ...


 
Danilka ©   (2004-11-09 15:13) [69]

[68] Comp ©   (09.11.04 15:00)
> Это что еще за реплика такая? Я ничего не требую себе подавать.

Ну, извини, если тебя обидела эта реплика. Заголовок ветки: "Какой средой лучше пользоваться, программируя на API", причем здесь кросс-платформеность?

> Может через лет 5-10 про Windows будут говорить как о чем-то
> второстепенном...

Скорее, не позабудут про Микрософт, но при ВинАПИ позабудут наверняка - будет тотальный .NET


 
}|{yk ©   (2004-11-09 15:18) [70]

Можно взять бесплатные борландовские free commanline tools (C++ 5.5, но без оболочки), и скачать с sf.net нормальную оболочку под него (кстати, может работать и с mingw-gcc).


 
Comp ©   (2004-11-09 17:01) [71]


>  [69] Danilka ©   (09.11.04 15:13)


Не, я понял, что ты это насчет того, что переводят тему в другое русло.  
Просто слово "подавай ВинАПИ" как бы предполагает, что я что-то от кого-то требую...


 
Comp ©   (2004-11-09 17:04) [72]


> [70] }|{yk ©   (09.11.04 15:18)


Спасибо.


 
KilkennyCat ©   (2004-11-09 17:16) [73]


> [lamer]Barmaglot ©   (09.11.04 14:12) [64]

> То есть ты признаешь, что Delphi это узко специализированный
> язык предназначенный для совершенно определенной задачи?


а Delphi - это язык?


 
}|{yk ©   (2004-11-09 17:18) [74]

Delphi - это язык


 
Юрий Зотов ©   (2004-11-09 17:30) [75]

> Comp © (07.11.04 16:43)  
> Какой средой лучше пользоваться, программируя на API?

Классической.
То есть, Блокнотом.


 
}|{yk ©   (2004-11-09 17:33) [76]

А дебаггер (даже gdb) как к Блокноту (вы его так уважаете, что с большой бувы пишете :) как прицепить?


 
Игорь Шевченко ©   (2004-11-09 17:36) [77]

}|{yk ©   (09.11.04 17:33) [76]

td32 (свободный, от того же Borland"а) и цеплять никуда не надо. Надо приложение под ним запускать.


 
Jeer ©   (2004-11-09 17:54) [78]

KilkennyCat ©   (09.11.04 17:16) [73]
}|{yk ©   (09.11.04 17:18) [74]

>а Delphi - это язык?

Будем точны - это технологизм.
Недавно (2003 г.) Object Pascal стал называться по имени среды - Delphi.


 
Юрий Зотов ©   (2004-11-09 18:15) [79]

> }|{yk ©   (09.11.04 17:33) [76]

В данном случае Блокнот - название программы. То есть, имя собственное.

Имена собственные пишутся с большой буквы.
(с) Русский язык.

Дебаггер же никуда прицеплять не требуется. Компилятор тоже. И линковщик - тоже никуда прицеплять не надо.


 
}|{yk ©   (2004-11-09 18:18) [80]

Были б вы CIO Borland, давно бы фирма прогорела :)


 
SPeller ©   (2004-11-09 18:18) [81]

Григорьев Антон ©   (09.11.04 13:55) [59]
Линковщик не умеет выкидывать перекрытые методы (тот, кого перекрыли, и тот, который перекрыл). Можешь проверить. Плюс ко всему RTTI тоже не два десятка байт занимает. Теперь если учесть как построена VCL, то станет понятно почему в пустом проекте 400 КБ.


 
Юрий Зотов ©   (2004-11-09 18:29) [82]

> }|{yk ©   (09.11.04 18:18) [80]

Все просто. Если человек не владеет "классикой" и хочет жить исключительно под интегрированными средами - зачем тогда вообще говорить о чистом API?


 
}|{yk ©   (2004-11-09 18:35) [83]

Нет, я не против, что мелкие правки можно делать в блокноте, кроме того у нас для каждого проекта пишется bat-файл, которым компилируется проект. Но делать весь проект в блокноте - извините. Если для небольших (3-5 Кб) прог на асме это мне подходило, то для прог на Delphi это очень неудобно. Да и использовать td не очень удобно - ошибку то видишь, а исправить не можешь.


 
Юрий Зотов ©   (2004-11-09 18:42) [84]

> }|{yk ©   (09.11.04 18:35) [83]

Еще раз - если человек хочет жить исключительно под интегрированными средами, зачем тогда вообще говорить о чистом API?

Хочешь иметь маленькую программу - делай ее ручками. Не хочешь делать ручками - не говори о маленьких программах.


 
kaZaNoVa ©   (2004-11-09 18:44) [85]

я пробовал делать прогу (Win32 PE EXE) ASM-API-Сжатие - > получалось от 900 байт !!
вот это немного %)))))


 
}|{yk ©   (2004-11-09 18:44) [86]

Да ладно, берем masm32 и программки получаются маленькие, и ручками мало что делать нужно - даже для создания классов на асме (!!!) есть интерфейс.


 
GuAV ©   (2004-11-09 22:46) [87]

Н
Два символа выше этой строки, это очень небольщая программа.
Написана с помощью клиента этого форума и справки по asm.
Размер два байта. Пользы нуль - ничего не делает.
Для выполнения запишите в файл с расширением com и выполните этот файл.


 
vertal ©   (2004-11-09 23:33) [88]

Вот ссылка на еще один интересный компилятор и паскаля , и си для Win32
http://home.perm.ru/~strannik/
Я тоже думаю, что для вызова API-функций действительно без разницы , писать на паскале(delphi) или с(с++). Но вот на VB это будет гораздо более неудобно.


 
KilkennyCat ©   (2004-11-09 23:44) [89]


> GuAV ©   (09.11.04 22:46) [87]


вау, я всегда мечтал о такой программе! где можно скачать? и не сильно ли траффик сожрет?


 
GuAV ©   (2004-11-09 23:58) [90]

KilkennyCat ©   (09.11.04 23:44) [89]
Здесь. (это не ссылка а просто слово означающее что прога здесь)

Выделяешь букву Н и пробел за ней в начале поста [87] и копируешь текст. Записываешь его в файл proga.com Это можно сделать с помощью блокнота.

Трафик уже сожран. Бери и пользуйся чтобы он не был сожран впустую.


 
Поручик ©   (2004-11-10 01:11) [91]

Comp ©   (09.11.04 14:38) [65]
> Зачем тебе лицензия, если ты программировать не умеешь?

Откуда такое убеждение?
За свои слова принято отвечать.


Хоть и позно, но отвечу, за 2 месяца API не выучишь.


 
Piter ©   (2004-11-10 01:14) [92]

Comp ©   (09.11.04 2:45) [42]
> API - это единственно правильное решение при разработке
> программ под Windows.

Я это и хотел сказать.

Может ты и будешь хоть одним челом, который меня понял


эх, ты даже не понимаешь, что тебе говорят. Неужели ты до сих пор не понял, что все программы в конце концов используют WinApi??? Что VCL это лишь удобная прослойка между тобой и WinApi! И GuAV имеет в виду, что фактически нет других правильных способов программировать под винду, чем использовать WinApi (ну еще .NET). И VCL в том числе использует WinApi. До тебя это дойдет когда-нибудь И ТЫ, да, да, ИМЕННО ТЫ будешь восторгаться насколько продуманно и грамотно все сделано в VCL.

Поручик ©   (09.11.04 3:26) [45]
Думаю пустое окно можно сжать до 10-9kb, если не меньше


Да наверняка меньше килобайта можно...

TUser ©   (09.11.04 11:11) [47]
А на асме - еще больше


да неучто? Это неправда хотя бы потому, что в Дельфи возможны ассемблерные вставки...

wicked ©   (09.11.04 11:23) [49]
вот, например, здесь (http://www.free-soft.org/guitool/) и здесь (http://www.thefreecountry.com/sourcecode/gui.shtml) собраны ссылки на наиболее известные решения "чтоб-не-писать-на-АПИ"... большинство из них также более-менее кроссплатформенны...


ну ты же не хочешь сказать, что они вообще не вызывают API функции ОС? :)

[lamer]Barmaglot ©   (09.11.04 13:52) [58]
Теперь второе ИМХО учить Си надо и ты действительно потерял(грубо говоря - поскольку никакие знания не бывают лишними) три года, чтобы тебе здесь не говорили... И дело даже не в том, что Си лучше или быстрее, а в СВОБОДЕ. В любой момент перед тобой лучший мануал всех времен и народов MSDN и PSDK, перед тобой ЛУЧШИЕ писатели (догадайся, тот Рихтер на которого здесь все ссылаются на каком языке писал? А Фень Юань? и т.д.) перед тобой возможность выбирать компилятор (какой мне взять от микрософта, от интела или чей - нибудь стороний?) и наконец перед тобой возможность выбирать ось (как это не странно)


да, ты прав. Зато в Дельфи есть VCL - а это много.

Там ты имеешь потенциальные возможности переносимости кода (хотя опять же Kylix), более широким распространением, обширной документацией. Но все это надо уметь читать, писать, преобразовывать. И если ты этому научился - то тебе уже параллельно на чем писать.
Зато в Дельфи есть VCL и быстрая компиляция, что очень подходит для создания бизнес-приложений :)

Jeer ©   (09.11.04 17:54) [78]
Будем точны - это технологизм.
Недавно (2003 г.) Object Pascal стал называться по имени среды - Delphi.


Давайте совсем точными быть - он стал называться Delphi Language


 
KilkennyCat ©   (2004-11-10 01:17) [93]


> GuAV ©   (09.11.04 23:58) [90]


а нелп где? а регистрация нужна? и можно хелп на русском...


 
GuAV ©   (2004-11-10 01:27) [94]

Нелпа нет. есть ридми. скопируй [90] в файл ридми тхт. регистрации не нужно - абсолютно бесплатно. ответсвенность за время потраченное впустую не несу.


 
KilkennyCat ©   (2004-11-10 01:31) [95]

блин... как все сложно-то... не, мне такая прога не нужна. еще вирус подхвачу...


 
jack128 ©   (2004-11-10 01:32) [96]

Piter ©   (10.11.04 1:14) [92]
чем использовать WinApi (ну еще .NET).

А .NET, в текущей её реализации не использует WinAPI? ;-)


 
GuAV ©   (2004-11-10 01:55) [97]

Машинные коды рулят. Любой код даже код на .NET будет выполнятся процессором как последовательность машинных кодов.

При написании программы в машинных кодах возможности становятся максимальными. можно написать прогу, драйвер и даже ОС !


 
Поручик ©   (2004-11-10 02:02) [98]


> написать прогу, драйвер и даже ОС !

Assembler - прослойка между машинными кодами и программистом, знаешь Asm = можешь все.


 
KilkennyCat ©   (2004-11-10 02:04) [99]

знаешь 0 и 1 - можешь абсолютно все.


 
Поручик ©   (2004-11-10 02:16) [100]

KilkennyCat ©   (10.11.04 2:04) [99]
знаешь 0 и 1 - можешь абсолютно все.


Не думаю, что таких много.
Вспомнил фильм "Земное ядро", там чувак, как раз знал 10110100.


 
KilkennyCat ©   (2004-11-10 02:19) [101]


> Поручик ©   (10.11.04 02:16) [100]


на БК-0010 раньше мог.


 
Danilka ©   (2004-11-10 11:49) [102]

[92] Piter ©   (10.11.04 01:14)
> Да наверняка меньше килобайта можно...

Нельзя. По-моему, на тасм32 самое маленькое приложение создающее пустое окно получалось то-ли 4, то-ли 5 килобайт. :))
Там-же писанины дофига, надо вызвать несколько винАПИ функций с кучей параметров, а еще сам заголовок РЕ и т.д.


 
kaZaNoVa ©   (2004-11-10 20:17) [103]

Danilka ©   (10.11.04 11:49) [102]
MASM32 + FSG = 880 байт - один мессагебокс
с окном - 1.5 кб


 
Piter ©   (2004-11-11 10:20) [104]

jack128 ©   (10.11.04 1:32) [96]
А .NET, в текущей её реализации не использует WinAPI? ;-)


ну ты ведь понял, что я хочу сказать...

Danilka ©   (10.11.04 11:49) [102]
Там-же писанины дофига, надо вызвать несколько винАПИ функций с кучей параметров, а еще сам заголовок РЕ и т.д.


Заголовок нужен. Но вот куча функций? Регистрируешь класс + вызов CreateWindow + выборка сообщений. Я думаю, что можно уложиться... хотя фиг знает конечно, не проверял...


 
Comp ©   (2004-11-12 14:30) [105]


> Поручик ©   (10.11.04 01:11) [91]


А Я, ХОТЬ ЕЩЕ ПОЗДНЕЕ СКАЖУ - ВСЕ ЗНАТЬ НИ ОДИН ЧЕЛОВЕК НЕ МОЖЕТ. А Я И НЕ ГОВОРИЛ, ЧТО Я ЗНАЮ ВЕСЬ АПИ.

 ОСНОВЫ ЗНАЮ. ПОКА ЭТОГО ДЛЯ НАЧАЛА ДОСТАТОЧНО, ЧТО БЫ В ДАЛЬНЕЙШЕМ РАЗВИВАТЬ СВОЮ БАЗУ ЗНАНИЙ.


 
Comp ©   (2004-11-12 14:34) [106]


> Piter ©   (10.11.04 01:14) [92]


А я и не спорю, что VCL написана на АПИ. НО!!!

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

Вот KOL - да. Человек делал грамотно. Потому что сам умный. А насчет VCLb извини, поддержать не могу...


 
Danilka ©   (2004-11-12 16:18) [107]

[103] kaZaNoVa ©   (10.11.04 20:17)
Речь шла не о мессагебоксе, а о пустом окне.

[104] Piter ©   (11.11.04 10:20)
Угу, но но все это на ТАСМ32 заняло не меньше 4КБ откомпилированого кода. Возможно на МАСМ32 на самом деле меньше получается, судя по: [103] с окном - 1.5 кб

[106] Comp ©   (12.11.04 14:34)
На самом деле это не так. посмотри сам внимательнее, отказываясь от чего там достигается небольшой размер экзешника, и на сколько это удобно остальным. Впрочем, ответом на второй вопрос будет простой показатель: сколько серьезных проектов делается с использованием КОЛ и сколько с VCL. Кстати, КОЛ не единственная такая библиотека, есть еще и другие подобные.



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

Текущий архив: 2004.11.28;
Скачать: CL | DM;

Наверх




Память: 0.8 MB
Время: 0.028 c
1-1100165052
Dima
2004-11-11 12:24
2004.11.28
Как менять цвет модальной формы ?


8-1093835847
SNV-Soft
2004-08-30 07:17
2004.11.28
Как загрузить в Bitmap изображение из файлов jpeg, gif, и тд.


3-1098891213
AlexGof
2004-10-27 19:33
2004.11.28
Как сохранить файл (например word или exel) в БД ?


4-1097823638
AngelFire
2004-10-15 11:00
2004.11.28
Получение IP-адреса машины и имени залогинившегося пользователя


8-1093585257
Submarine
2004-08-27 09:40
2004.11.28
Просмотреть средствами Delphi многостраничный tif