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

Вниз

От VCL к API   Найти похожие ветки 

 
Материнская зарплата   (2003-04-30 03:31) [0]

Подкиньте кто нибудь статейки и ссылки по WinAPI. Я решил сделать большой шаг - полностью перейти на WinAPI


 
Serious Sam   (2003-04-30 09:32) [1]

Н-да. "Смелый экперимент молодых троллей"
С зарплатой придётся попрощаться...


 
pasha676   (2003-04-30 10:07) [2]

Переход полностью на API такой же идиотизм, как заявление "хочу перейти полностью на машинный код". Имхо конечно.


 
Axis_of_Evil ©   (2003-04-30 10:18) [3]

Ежели VCL дано, пользуйся.


 
il   (2003-04-30 11:20) [4]

Хотя, если ты раньше вирусы на VCL писал, то это, пожалуй, здравый шаг :)


 
han_malign ©   (2003-04-30 11:22) [5]

Бей провокаторов...


 
Sergey13 ©   (2003-04-30 11:39) [6]

2Материнская зарплата (30.04.03 03:31)
>Подкиньте кто нибудь статейки и ссылки по WinAPI. Я решил сделать большой шаг - полностью перейти на WinAPI
Т.е. ты еще ничего не читал по теме, а перейти уже решился? Оригинально. 8-)


 
АлексейК   (2003-04-30 11:42) [7]

Бурные и громкие апплодисменты.....
Хотя дисассемблируется такой код IDE, просто прелесно, усе названия апишных ф-ий как на ладони.


 
Ru ©   (2003-04-30 12:01) [8]

www.atrussk.ru - если щас работает


 
DVM ©   (2003-04-30 12:22) [9]


> Переход полностью на API такой же идиотизм, как заявление
> "хочу перейти полностью на машинный код". Имхо конечно.

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



 
Игорь Шевченко ©   (2003-04-30 12:31) [10]


> И при этом считают себя крутыми программерами.


И имеют на то полное основание. Так как они свои задачи программируют, и поверь, делают это достаточно хорошо. А считать себя крутым программером, от того, что ты знаешь десяток или сотню функций WinApi - это больший идиотизм.


 
DVM ©   (2003-04-30 12:54) [11]


> Игорь Шевченко

При всем моем уважении к голубому значку, осмелюсь поспорить.
Я не о том, чтобы знаешь десяток или сотню функций WinApi, а о том, что надо понимать внутренне устройство той системы и той машины для которой пишешь программы. Современные языки программирования (особенно Delphi) навязывают такой стиль программирования (проектирования?), что программирующий в ней (а особенно новичок) порой не имеет даже представления о том как работает его программа, как работает система, как работает процессор. Теряются (не развиваются) алгоритмические навыки.
К тому же обходится только VCL можно до поры до времени. Так или иначе с WinApi человек придет при решении более сложных задач.
VCL ограничен в возможностях. Не все можно сделать используя VCL.

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

P.S. Себя я к программистам не отношу (и программистом не работаю), но программирование - это мое, что-ли хобби. Но с некоторых пор я стал сторонником программирования на "чистом" языке, без VCL/MFC - это тоже мое хобби.

Насчет идиотов я погорячился (ответ автору вопроса), ведь сам я тоже использую VCL :)


 
Danilka ©   (2003-04-30 12:55) [12]

Если не ошибаюсь, в форуме "ВинАПИ" наибольшее кол-во ответов у Игоря Шевченко...

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


 
DVM ©   (2003-04-30 13:04) [13]


> Danilka

Полностью согласен! Кроме одного:

> Изобретать велосипед, делать то, что уже давно сделано -
> глупо.

Можно изобрести ЛУЧШЕ!


 
Игорь Шевченко ©   (2003-04-30 13:12) [14]

Danilka © (30.04.03 12:55)

В любом случае, переходить на "чистый API" - это глупо.

> Но и незнание того, что происходит на самом деле, за пределами
> VCL-обертки, в этом тоже нет ничего хорошего.


А зачем ? Умный Borland специально придумал обертку вокруг функций и механизмов WinAPI, для того, чтобы программист мог сосредоточиться на своей задаче и своем алгоритме, а не писал дополнительный, не имеющий никакого отношения к его задаче, код для того, чтобы пользоваться возможностями Windows.


 
DVM ©   (2003-04-30 13:18) [15]


> А зачем ?

Рухнет Borland - и такой "программист" останется не у дел. Все таки Delphi - продукт одной компании, дела которой не так хороши как у Microsoft. Windows писана все таки на C (даже не ++ в большей своей части).


 
stone ©   (2003-04-30 13:20) [16]


> Рухнет Borland - и такой "программист" останется не у дел.
>

С какой стати? Программисты, они в разных областях работают, многие из этих областей никакого отношения к АПИ не имеют


 
DVM ©   (2003-04-30 13:27) [17]


> С какой стати? Программисты, они в разных областях работают,
> многие из этих областей никакого отношения к АПИ не имеют

Вот именно, В РАЗНЫХ ОБЛАСТЯХ! И программист должен знать (по крайней мере разбираться) не только в коконе VCL, который изолировал его от мира.


 
Иван Шихалев ©   (2003-04-30 13:29) [18]

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


Тот, кто понимает - полностью на WinAPI не переходит. Даже если не может воспользоваться VCL (как я на Free Pascal"е).


 
pasha676   (2003-04-30 13:30) [19]

2DVM

Не согласен. Конечно АПИ знать надо, и систему тоже. Но писать все проекты на чистом АПИ - это извращение и садомазохизм.
Я например знаю АПИ в необходимом мне объеме. Если чего не знаю, смотрю хэлпы и справочники. Пока хватало.


> Рухнет Borland - и такой "программист" останется не у дел.
> Все таки Delphi - продукт одной компании, дела которой не
> так хороши как у Microsoft. Windows писана все таки на C
> (даже не ++ в большей своей части).


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

ЗЫ Уже давно пришел к мнению, что чаще всего удобней связываться с внешними устройствами или железками через Си или API, а интерфейс делать на дельфи. И даже не пытайся меня убедить, что для проги решения квадратного уравнения окно, кнопки и др. элементы надо строго писать на API. Это маразм.


 
MalkoLinge ©   (2003-04-30 13:40) [20]


> > Изобретать велосипед, делать то, что уже давно сделано
> -

В основном так говорят люди, не способные этот велосипед изобрести :)



 
Игорь Шевченко ©   (2003-04-30 13:41) [21]

DVM © (30.04.03 13:27)

Вот был Windows 3.1, потом Windows 95. Всем, кто писал "на API" пришлось переучиваться гораздо больше, чем тем, кто писал на языках высокого уровня.


 
DVM ©   (2003-04-30 13:41) [22]


> Иван Шихалев

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


> pasha676


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

Разумеется. А разве ни кого не смущает тот факт, что все мы с вами поставлены в зависимость от одной корпорации (MS или Borland)?


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

Я и не буду пытаться. Но уметь сделать что-то без VCL надо!


 
Игорь Шевченко ©   (2003-04-30 13:44) [23]

DVM © (30.04.03 13:41)


> Я и не буду пытаться. Но уметь сделать что-то без VCL надо!


Зачем ? Реальный пример нужности такой задачи можешь привести ?


 
Mike Kouzmine ©   (2003-04-30 13:44) [24]

Уметь и делать - разные вещи. Я, например, умею стрелять из гаубицы....


 
DVM ©   (2003-04-30 13:47) [25]


> Игорь Шевченко



> Вот был Windows 3.1, потом Windows 95. Всем, кто писал "на
> API" пришлось переучиваться гораздо больше, чем тем, кто
> писал на языках высокого уровня.

К сожалению, здесь вы правы.


 
DVM ©   (2003-04-30 13:48) [26]


> Mike Kouzmine

А я крючком вязать салфетки.


 
Ru ©   (2003-04-30 13:49) [27]

>DVM © (30.04.03 13:18)

http://deep.webm.ru/forum/reply.php?num=1.2&id=4541


 
Ru ©   (2003-04-30 13:49) [28]

>DVM © (30.04.03 13:18)

http://deep.webm.ru/forum/reply.php?num=1.2&id=4541

http://deep.webm.ru/forum/reply.php?num=1.2&id=5129


 
Mike Kouzmine ©   (2003-04-30 13:51) [29]

DVM © (30.04.03 13:48) Счастливый.. А я так и не научился..


 
DVM ©   (2003-04-30 14:00) [30]


> Игорь Шевченко



> Зачем ? Реальный пример нужности такой задачи можешь привести
> ?

Пожалуйста. Любая задача, в которой не требуется развитый пользовательский интерфейс, или нет вообще ни одного окна в VCL особо не нуждается.

Или вот еще пример. Я утверждаю, что нельзя применяя VCL создать окно, подобное окну Progman. Ну не работает функция SetShellWindow c VCL формами - ну хоть тресни. Бился месяц.

function SetShellWindow(hWnd: HWND): dword; stdcall; external "User32.dll" name "SetShellWindow";


 
nikkie ©   (2003-04-30 14:02) [31]

>Игорь Шевченко
>> Я и не буду пытаться. Но уметь сделать что-то без VCL надо!
>Зачем ? Реальный пример нужности такой задачи можешь привести ?
например, надо разрабатывать на VC++.

>Вот был Windows 3.1, потом Windows 95. Всем, кто писал "на API" пришлось переучиваться гораздо больше, чем тем, кто писал на языках высокого уровня.
я под Win3.1 не писал, но мне почему-то кажется, что программирование на API практически не изменилось. расскажи, в чем проблема-то?

>pasha676
>Но писать все проекты на чистом АПИ - это извращение и садомазохизм.
ключевое слово здесь - "все". и согласиться можно только при условии, что есть выбор между VC++ и дельфи.

сам я на дельфи на чистом API не пишу. а на C - пишу. там это и легче делать, благодаря message crackers.


 
Игорь Шевченко ©   (2003-04-30 14:09) [32]

nikkie © (30.04.03 14:02)


> я под Win3.1 не писал, но мне почему-то кажется, что программирование
> на API практически не изменилось. расскажи, в чем проблема-то?


Win32.hlp, Porting Code from 16-bit Windows to 32-bit Windows - там много интересного.


> сам я на дельфи на чистом API не пишу. а на C - пишу. там
> это и легче делать, благодаря message crackers.


Там VCL нету - вот в чем беда :)


 
DVM ©   (2003-04-30 14:09) [33]


> nikkie


> благодаря message crackers.

да это точно.


 
DVM ©   (2003-04-30 14:20) [34]

Короче итог:
"Кому нравится поп, а кому попова дочь!"

Автор вопроса просил ссылки и инфу о WinApi:

Книжки

"Программирование для Windows 95". Автор Ч. Петзолд.
"Азбука программирования в Win32 API". Автор П. Румянцев.
"Работа с файлами в Win32 API". Автор П. Румянцев.
"Проектирование интерфейса пользователя средствами Win32 API". Автор Ганеев.

http://www.bcbdev.ru/winapi.htm

Сайт посвященный программированию на Api в Delphi:

http://web.ict.nsc.ru/~cancel/delphi/





 
Игорь Шевченко ©   (2003-04-30 14:25) [35]

И этого, Рихтера в список добавить. Windows для профессионалов.


 
Mystic ©   (2003-04-30 14:45) [36]

Как всегда не назвали самое основное :)
http://msdn.microsoft.com
без остального жить можно, а без этого --- никак! ;)


 
i-C3H7OH ©   (2003-04-30 15:01) [37]

на АПИ писать прикольно. как будто решаешь головоломку. как что с чем взаимодействует, чего перехватывать, чего возвращать.. и видеть РЕЗУЛЬТАТ. это как конструктор (для детей:). там нет ничего сложного, сверх естественного.. если знаешь основы, конечно.. основы я узнал не сразу.


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

я лично с ВинАпи начал ознакомится конкретно поиздевавшись над примером из книги Краснова ОпенГЛ в проектах Делфи. там в начале есть.. етого хватило, чтобы понять принцып, концепцию...


 
pasha676   (2003-04-30 15:36) [38]

2nikkie

> ключевое слово здесь - "все". и согласиться можно только
> при условии, что есть выбор между VC++ и дельфи.

Кажется мы говорим о Дельфи. И разумеется ключевое слово "все". Иногда надо и/или удобней писать на API. Мне, например, работать с портами удобней на API. Исторически так сложилось. И вообще с железками я считаю надо работать на API и/или Си, возможно работать на API для увелечения быстродействия, уменьшения объема exe или по организационным причинам. Но как написано в топике "полностью перейти на АПИ" - нафиг нафиг.

2DMV

> Короче итог:
> "Кому нравится поп, а кому попова дочь!"

Нет. Итог - каждую задачу необходимо решать рациональными средствами. Не надо писать СУБД на ассемблере для организации домашней телефонной книги. Наиболее универсальные и гибкие подходы лежат в использовании нескольких языков для разных задач или подзадач.


 
DVM ©   (2003-04-30 15:43) [39]


> pasha767


> в использовании нескольких языков для разных задач или подзадач.

Ну! А я о чем!


 
Юрий Зотов ©   (2003-04-30 21:57) [40]

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

А вот по этому пункту все же возражу:

> DVM © (30.04.03 12:54)
> Современные языки программирования (особенно Delphi)
> навязывают такой стиль программирования (проектирования?),
> что программирующий в ней (а особенно новичок) порой не имеет
> даже представления о том как работает его программа, как
> работает система, как работает процессор.

Delphi все же никому ничего не навязывает. Она экономит нам время, только и всего. Но при этом вовсе не заставляет пользоваться исключительно VCL. Хотите - пишите на чистом API, хотите - на Ассемблере. И все это в среде Delphi.

А новички... так на то они и новички, чтобы мало что понимать. Delphi здесь, вроде как, тоже ни при чем.



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

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

Наверх




Память: 0.58 MB
Время: 0.018 c
14-70510
Stan
2003-05-04 14:26
2003.05.22
Проблемы с модемом Genius GM56USB.


3-70146
rosl
2003-05-02 07:57
2003.05.22
автоматическое добавление номера


14-70436
zumo
2003-05-02 08:10
2003.05.22
Проигрывание avi


7-70545
ККВ
2003-03-25 09:12
2003.05.22
TryIcon


14-70513
Навичек
2003-04-30 03:25
2003.05.22
Ошибка при динамическом создание обекта