Программирование - вопрос/ответ



         

Программирование - часть 34


Если в DOS программа представлялась единым целым и опрашивала в цикле клавиатуру, мышь, порты и пр., и в зависимости от того, нажата ли клавиша, передвинулась мышь, выполняла определенные действия, то в Windows этот процесс опроса берет на себя сама система и если произошло какое-то действие (событие), то сообщает (посылает вашей программе сообщение) об этом.

А Ваша программа фактически состоит из отдельных функций, каждая из которых обрабатывает определенные (клавиатура, мышь) сообщения и соответствующим образом реагирует на них (т.е. реагирует на событие). Очевидно, что события могут быть разными — это не только клавиатура и мышь, а например закрытие окна, изменение его размеров, завершение работы Windows, появление новых данных в буфере обмена и пр. Причем Ваша программа может реагировать только на определенные сообщения, а остальные, которые Вы не обрабатываете в своей программе, будут обработаны системой.

Знание WinAPI очень полезно, но в случае использования соответствующих систем программирования не является обязательным. Если использовать Borlan Pascal или Borland С++, то знание API просто необходимо. В случае использования т.н. RAD-систем (системы быстрой разработки приложений), таких как Delphi, С++ Builder, Visual Basic, Visual C++ и им подобных, знание WinAPI особо не требуется (но приветствуется). Все вышеперечисленные системы (а также множество других) являются ответом на вопрос «И где это делают?».

Goltsov Dmitry

1. Конечно можно двигать кнопочки в делфи и понятия не имея о том как все это работает, но тогда не забудьте поменятьь название своей профессии с программиста на разработчика.
2. Попробуйте написать простую прогу, которая считает, скажем, кол-во каких то букв в файле — если файл размером в (хотя бы) 30 МБ. Я посмотрю сколько у нее это займет времени(без нескольких потоков и проецирования файла в память)! Я не против библиотек типа ВЦЛ и МФЦ (если что большое, я пишу с МФЦ), но надо заглянут под корку!

Дополнить этот ответ | Задать свой вопрос




Содержание  Назад  Вперед