Delphi - С чего начать?

Автор темы #1

AVTOXA

ADMINS TEAM
Команда форума
ADMINS TEAM
UNIQUE TEAM
Сообщения
20
Симпатии
0
Баллы
1
Первое знакомство с Delphi
Язык программирования Delphi достаточно прост для освоения, но очень эффективный и мощный. Самое первое, с чем надо познакомиться — это комментарии.

Комментарии — это любой текст, который абсолютно не влияет на код программы. Он никогда не компилируется и не вставляется в исполняемый файл, а используется только для пояснений кода.

Комментарии могут оформляться двумя способами:
  1. все, что идет после двойного слеша //, воспринимается как комментарий
    (так можно оформить только одну строку комментария);
  2. все, что заключено в фигурные скобки { и }, тоже является комментарием
    (в этом случае можно включить в комментарий сколько угодно строк).
Пример комментария
Код:
// Это комментарий.



Это уже не комментарий



{ Это снова комментарий

И это тоже }
В данной статье постоянно будут использоваться комментарии для пояснения кода описываемых программ. Именно поэтому до начала разбора кода мы должны были познакомиться с ними.

Теперь вы готовы к изучению языка программирования Delphi. Создайте новый проект. После этого перейдите в редактор кода. Здесь для вас уже написана заготовка будущей программы.

Давайте досконально рассмотрим, что тут написано. Ниже приведены подробные комментарии для каждой строчки созданного шаблона. Однако здесь кое-что упущено в целях удобства изучения программного кода.
Сгенерированный оболочкой Delphi шаблон
Код:
unit Unitl; //Имя модуля



interface



uses //После этого слова идет перечисление подключенных модулей.

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs;



type //После этого идет объявление типов

  TForml = class(TForm) //Начало описания нового объекта TForm. Здесь описываются компоненты и события Формы

  private //После этого слова можно описывать закрытые данные объекта

    { Private declarations }//Подсказка, которую сгенерировал Delphi. Здесь можно описывать переменные и методы,

                              доступные только для объекта TForml

  public //После этого слова можно описывать открытые данные объекта

    { Public declarations }//Подсказка, которую сгенерировал Delphi. Здесь можно описывать переменные и методы,

                             доступные из любого другого модуля

  end; //Конец объявления типов



var //Объявление глобальных переменных

  Forml : TForml; //Это описана переменная Forml типа объекта TForml



implementation



{$R *.dfm} //Подключение .dfm файла (файл с данными о визуальных объектах)



end. // end с точкой - конец модуля
Если что-то осталось еще непонятным, то в процессе создания реальных программ все встанет на свои места. Не старайтесь запомнить все сразу, потому что это нереально. Слишком много новой информации, не подкрепленной практикой. Старайтесь понять только смысл написанной программы.

Практически все строчки заканчиваются знаком ";" (точка с запятой). Этот знак показывает конец оператора. Он ставится только после операторов и никогда не используется после ключевых слов типа

uses, type, begin, implementation, private, public

и т.д. Впоследствии вы познакомитесь со всеми ключевыми словами, большинство которых выделяется жирным шрифтом. Сразу видно исключение — последнее в модуле end, после которого ставится точка, а не точка с запятой.

Итак, разберем структуру кода. В самом начале стоит имя модуля. Оно может быть любым, но таким же, как и имя файла (без учета его расширения). Изменять имя модуля вручную нежелательно. Если все же надо изменить, то сохраните сначала модуль со старым именем. Для этого нужно выбрать команду меню: File | Save As (Файл | Сохранить как).

Желательно давать модулям понятные имена. В этом случае по имени можно определить, что находится внутри одноименного модуля. Трудно догадаться, что находится в файле под именем Unitl.pas. Файлам также желательно давать такие имена, которые связаны с их содержимым. Например, главную форму программы лучше сохранять в файле с именем MainUnit.pas или MainModule.pas. В этом случае модуль и файл будут иметь имя MainUnit или MainModule, и вы можете сразу определить, что это главная форма.

Далее идет подключение глобальных модулей. Все процедуры, функции, константы описаны в каком-нибудь модуле, и прежде чем эти процедуры использовать, нужно его подключить. Вы можете знать о существовании какой-нибудь функции. Но чтобы об этом узнал компилятор, вы должны указать модуль, где описана эта функция, понятным для компилятора языком. Например, вам надо превратить число в строку. Для этого в Delphi уже есть функция IntTostr. Она описана в модуле Sysutils. Если вы хотите воспользоваться этой функцией, вам надо подключить этот модуль к своему модулю Формы (напечатать название Sysutils в разделе uses).

Далее идёт описание типов данных, используемых в данном модуле. Сейчас здесь уже описан тип TForm1. Описание типа содержит разделы, определяющие структуру данных этого типа.

Существуют четыре типа разделов:
  1. Private — свойства и методы из этого раздела доступны только этому объекту. Другие объекты не могут вызывать эти методы и читать/записывать свойства;
  2. Protected — эти свойства и методы доступны только этому объекту и потомкам (объектам, которые происходят от нашего и наследуют его свойства). Сторонние объекты не могут получить доступ к хранящимся здесь свойствам и методам;
  3. Public — все, что описано здесь, доступно всем;
  4. Published — когда будут писываться собственные компоненты приложения, в этом разделе мы будем описывать свойства и события, которые должны быть отображены в объектном инспекторе. Эти свойства доступны всем.
Надо заметить, что если два объекта объявлены в одном и том же модуле, они считаются дружественными и видят абсолютно все методы и свойства, даже если объявление произведено в разделе private.

После объявления объекта и его составляющих идет описание глобальных переменных. Оно начинается после ключевого слова var и идет всегда после объявления типов. Это надо запомнить уже сейчас, потому что сначала идет раздел type, где описываются типы, а затем var, где описываются переменные.

Глобальные переменные — это переменные, которые хранятся в стеке, создаются при запуске программы и уничтожаются при выходе из программы. Это значит, что они доступны всегда и везде, пока запущена программа.

пример объявления глобальных переменных
Код:
var //Объявление глобальных переменных
  Forml: TForml; //Это описана переменная Forml типа объекта TForml
В этом примере объявлена переменная Forml типа объекта TForml. Когда будет создан объект TForml, то его указатель будет записан в переменную Form1. Данная переменная глобальная и существует, пока программа выполняется, а значит, к ней всегда можно получить доступ.

Ключевое слово implementation тоже пока трогать не будем, а оставим на будущее, когда наши знания о Delphi немного расширятся. Последнее, что осталось рассмотреть в этой главе, — ключ {$R * dfm}.

В фигурных скобках могут быть не только комментарии, но и ключи для компилятора. Они отличаются тем, что выглядят как {$Буква Параметр]. Буква — указывает на тип ключа. В нашем случае используется буква R. Этот ключ указывает на то, что надо подключить файл ресурсов, в данном случае .dfm файл (файл с данными о визуальных объектах) с тем же именем, что и имя модуля. Если имя модуля Mainunit, то нужно изменить этот ключ на {$R MainUnit.dfm}. Ключ R — это единственный ключ, который пока понадобится.

Любой программный код в Delphi заключается между begin и end. Ключевое слово begin означает начало кода, a end — конец. Например, когда вы пишете процедуру, то сначала нужно написать ее имя (как это делать, мы поговорим позже), а потом заключить ее код между операторными скобками begin и end.
 
Сверху