Сегодня мы узнаем, из чего состоит программа в Delphi и как она работает,
как происходит создание и компиляция программы.
Весь основной код, который нужен для создания программы,
записывается в виде текста, в специальный файл с расширением dpr (Delphi Project). Далее с помощью специальной программы (компилятора)
файл переводится в машинные коды (прямые команды процессору) и записывается в
специальный бинарный файл с расширением exe.
А сейчас рассмотрим все более подробно и напишем
нашу первую программу. Для этого открываем Delphi, перед вами появилось окно редактора кода, который
содержит текст модуля Unit1,
и главную форму Form1,
будущего приложения. (см. рисунок)
Но сейчас они нам не понадобятся, так, как мы пишем
простую программу без использования компонентов. Переходим в окно редактора кода и нажимаем комбинацию клавиш
Ctrl + F12, в появившемся окне View Unit выбираем
модуль с названием Project1,
затем два раза щелкаем по нему мышью или нажимаем OK.
В окне редактора кода, появился главный модуль Project1.
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R*.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
Главный модуль начинается с ключого слова program и сообщает
компилятору, что дальше будет следовать название и, собственно, весь код
программы. Дальше мы видим название программы Project1. Затем идет ключевое слово Uses, которое говорит компилятору о
том, что ниже описаны названия подключаемых модулей. Но о них я расскажу
немного позже. Идем дальше. В следующей строке мы видим директиву {$R *.res},
которая сообщает компилятору о подключении файла ресурсов программы (название
файла ресурсов совпадает с названием главного модуля программы и имеет
расширение res). И вот, мы подошли к самому
главному – телу программы. Начинается
оно ключевым словом begin и заканчивается ключевым словом end. Между
этими ключевыми словами прописывается вся логика программы.
Начнем писать нашу программу. Для этого нам нужно
немного упростить главный модуль Project1. Как я уже сказал, форма Form1 и модуль Unit1 нам не нужны. Удаляем их из раздела uses и прописываем там
модуль Windows (для
чего, объясню позже). Затем, удаляем весь код между begin и end и вписываем вместо него функцию
MessageBox, которая будет выводить сообщение в стандартном диалоговом окне. В
MessageBox вписываем, через запятую, следующие параметры: hWnd – дескриптор окна (устанавливаем в
ноль), ipText – текст сообщения (вводим известное всем 'Hello World!' или 'Привет Мир!'), ipCaption – текст заголовка сообщения (пишем 'My Program' ), uType – флаги кнопок (устанавливаем в MB_OK). Все это должно выглядеть, примерно, вот так.
MessageBox(0, 'Привет Мир!', 'My Program', MB_OK);
Находится функция MessageBox (а точнее, ее заголовок) в модуле Windows. Вот, собственно, почему нам нужен этот модуль.
В результате, у нас должно получиться следующее:
program Project1;
uses
Windows;
{$R *.res}
begin
MessageBox(0, 'Привет Мир!', 'My Program', MB_OK);
end.
Теперь нам нужно сохранить нашу программу, для этого лучше
создать отдельную папку в рабочем каталоге Projects. Нажимаем Ctrl + S или выбираем из меню File пункт Save. В открывшемся диалоговом окне вводим
название программы "MyProgram". Нажимаем кнопку "Сохранить". В результате, в
модуле напротив ключевого слова program будет записано не стандартное Project1, а MyProgram.
program MyProgram;
uses
Windows;
{$R *.res}
begin
MessageBox(0, 'Привет Мир!', 'My Program', MB_OK);
end.
Как следует из вышесказанного, название программы записывается в текст модуля
автоматически. При этом его нельзя менять в редакторе кода так, как Delphi просто не будет компилировать такую
программу. При сохранении программы в папку записываются файлы MyProgram.dpr и MyProgram.res – это минимум того, что необходимо
для компиляции программы. Теперь осталось скомпилировать исполняемый файл нашей программы и
запустить его на выполнение. Запускаем компилятор с помощью клавиши F9 или выбираем из меню Run >
Run, наслаждаемся результатом работы нашей первой программы. Теперь в папке с файлами MyProgram.dpr и MyProgram.res появился файл MyProgram.exe. Кликаем этот файл и он запускается, как и любой
исполняемый файл. Важно: не запускайте программу из среды разработки и её
исполняемый файл одновременно.
И напоследок для закрепления пройденного материала
рассмотрим структуру главного модуля программы.
program _Program_; |
Начало главного модуля |
uses |
Раздел подключения модулей |
ladel |
Раздел описания меток безусловного перехода |
const |
Раздел описания констант |
type |
Раздел описания типов данных |
var |
Раздел описания переменных |
|
Раздел описания подпрограмм (процедур и функций) (обычно используют, если не используется визуальная среда разработки) |
begin |
Начало раздела описания логики |
|
Раздел описания логики |
end. |
Конец раздела описания логики, конец программы |
|