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

Вниз

От 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.55 MB
Время: 0.008 c
3-70086
mihei
2003-04-29 09:03
2003.05.22
Помогите с CheckBoxes


3-70183
Avreliy
2003-05-03 18:58
2003.05.22
DBLookupComboBox и DBCtrlGrid!


14-70498
Mike_666
2003-05-03 02:23
2003.05.22
C#


1-70389
Arch-vile
2003-05-10 22:39
2003.05.22
TList и свойства его Item ов


3-70177
jonymoto
2003-05-02 11:02
2003.05.22
Как запретить ввод руских букв в таблицу





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский