![]() |
|
|
#1
|
|||
|
|||
![]() Здравствуйте...
Изучив по книге паскаль я решил пойти дальше и изучить делфи... Скачал книгу Н.Б.Культин - Основы программирования в Delphi 7 - 2007 Второй день читаю книгу... Вроде бы всё понятно... Но возник вопрос куда же всё таки писать писать основную программу? В Unit1 или в Project1? Если я правильно понял то основная программа компонуется в Project1 а Unit1 служит для процедур и событий компонентов программы? Я правильно понял? Так же хотелось бы узнать алгоритм выполнения программ... В паскале всё ясно... С верху идёт вниз пока не встретится Readln или ReadKey или KeyPressed для ввода данных... А в делфи как? В книге об этом ничего не написано(( |
#2
|
||||
|
||||
![]() Цитата:
![]() Цитата:
|
#3
|
|||
|
|||
![]() В твоем случае лезть в Project1 пока не нужно. Дельфа сама знает что с ним делать. Копайся в Unit1 (или как он там будет обзываться) - для тебя пока это главный модуль, пока не научишся большему. Изучи саму IDE, сочетания клавиш, настройки и т.д. Она в общем-то дружелюбна и сама тебе поможет в трудную минуту
![]() |
#4
|
||||
|
||||
![]() Цитата:
Если же создавать приложение с использованием VCL (Visual Component Library), то тут несколько иной подход. Грубо говоря, делфа сама пишет "основной" код программы приблизительно следующим образом: Код:
initEverything(...); CreateWindow(...); while GetMessage(...) do begin TranslateMessage(...); DispatchMessage(...); end; Далее начинаем гуглить про WinAPI и работу окон в Windows. Узнаем, что к окну привязана процедура, которая обычно называется WindowProc (или WndProc). Вот эту процедуру DispatchMessage внутри вызывает с нужными параметрами, передавая ей сообщение, присланное Windows, и его параметры. Примеры сообщений: Создание окна, удаление окна, движение мыши по окну, нажатие кнопки. Код WndProc программисту в делфи тоже не доступен, он опять же генерируется делфой в виде каскада вызовов обработчиков (грубо говоря, один проверяет сообщения от 0 до 100, другой от 100 до 200, третий от 200 до 300,... это связано с объектной ориентированностью, не суть важно). Когда сообщение распознано, оно обрабатывается. В ходе обработки вызываются те самые события, редактируемые в делфи: Timer1onTimer, Button1onClick, Form1onKeyDown. И вот программист делфи в 90% случаев пишет именно эти конечные функции для обработки событий, то есть описывает поведение программы в зависимости от присылаемых системой уведомлений. jmp $ ; Happy End! The Cake Is A Lie. Последний раз редактировалось Bargest, 21.11.2012 в 01:16. |