ТОП 10:

Базовые понятия программирования в Delphi



Программирование в Delphiсостоит в разработке процедур (подпрограмм) обработки событий при разработке проектов, при этом Delphiорганизовывает взаимодействие подпрограмм.

Проект и его состав

Рис. 2.2.3.Структура проекта Delphi

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

Программные файлы

Delphi создает множество файлов для одного приложения с различными расширениями. Часть из них имеет имя проекта, другая – имя модуля. При этом, первоначально файлам присваиваются имена Project1 и Unit1 c указанными в схеме расширениями, При сохранении их следует изменить на имена по смыслу разрабатываемого проекта. Файл проекта имеет расширение dpr и хранит код головной программы. С его помощью создается объект главной формы программы и обеспечивается связь программы с ядром Windows. Файлы с расширениями exe, res, сfg, dsk, dof имеют имя проекта. Пусть первоначальное имя проекта Project1 сохранено под именем ProjecUrok1, тогда файлы c указанными расширениями, имеет следующие значки файлов:

 

 

Рис. 2.2.4. Пиктограммы файлов проекта


Файлы с расширениями, Рис. 3.: dpr – читаемый файл (Рис. 3.), с exe - загрузочный (исполняемый), с res – создается автоматически для каждого проекта, содержит значок программы, ее версию и прочие данные. Этот файл подсоединяется к исполняемому файлу на этапе компоновки с помощью директивы {$R *.res}, которая содержится в головной программе. Файлы (текстовые) с расширениями сfg, dsk, dof сохраняют параметры настройки: сfg(компиляции), dsk(проекта), dof(среды). При внесении в проект изменений создаются файлы резервных копий, начинающихся со значка “тильда” –“ ~”?, см. значок ProjecUrok1.~dsk.

Файл проекта - это главная программа, автоматически создаваемая Delphi и написанная на языке Delphi. Она содержит всегда несколько строк и не допускает редактирования. Именно она обрабатывается компилятором.

В Delphi (как и в любом языке программирования) началом программной единицы выступает заголовок, а концом ее записи слово end.

Структура главной программы проекта с именем Project1

program Project1;

Uses

Forms,

Unit1 in ‘Unit1.pas’ {Form1};

{$R *.res}

Begin

Application.Initialize;

Application.CreateForm(TForm1, Form1);

Application.Run;

End.

Выделенные зарезервированные (служебные) слова Program, uses, in, begin, Endслужат информацией компилятору о начале и конце обработки программы сверху вниз. При этом End.(т. н. - терминатор) указывает на то, что все, расположенное за End с точкой, игнорируется.

Информация, расположенная в фигурных скобках, представляет комментарий, например - {Form1}.В качестве комментария могут выступать следующие знаки: {фрагмент текста от скобки и до скобки },(* фрагмент текста *), // фрагмент текста до конца строки.Как видим, каждое предложение заканчивается знаком точка с запятой.

После заголовка программы следуют строки,

Uses

Forms,

Unit1 in ‘Unit1.pas’ {Form1};

Они указывают на то, что в данной программе будут использованы модули Forms(известный компилятору) и Unit1(новый), поэтому указывается файл с текстом модуля in 'Unit1.pas' и имя связанного с модулем файла описания формы Form1.

Директива {$R *.res} не является комментарием. Она указывает компилятору о необходимости подключения файла ресурсов. Директивы начинаются со знака $, стоящего вслед за фигурной скобкой.

Далее следует тело процедуры, заключенное в операторные скобки (слова begin –начало и End. - конец):

begin

Application.Initialize;

Application.CreateForm(TForm1, Form1);

Application.Run;

End.

Тело процедуры – исполняемые операторы с обращением к трем методам объекта Application. Delphi автоматически создает объект – программу Application для каждого нового проекта. Первый оператор выполняет переход к некоторому фрагменту подпрограммы Delphi, позволяющий осуществить переход к строке Application. CreateForm(TForm1, Form1);

Метод CreateForm показывает на экране окно главной формы, метод Run выдает сообщения Windows о действиях пользователя.

Модуль и его структура

Модуль (модули) - автономно компилируемая программная (ые) единица(ы) с включением различных компонентов интерфейсного раздела. Основная работа программы в соответствии с заданным алгоритмом управляется кодом в модуле (модулях).

Состав модуля:

· Заголовок;

· Интерфейсные объявления;

· Реализация;

· Окончание

Заголовок. Определяется зарезервированным словом Unit и следующим за ним именем модуля. Первоначально имя –Unit1, при сохранении модуля имя следует определить по смыслу. Если предусмотрено несколько модулей, то заголовок имеет вид - Unit <список модулей>, в котором имена разделяются запятыми. На первом этапе программирования в Delphi мы будем использовать один модуль простейшей структур:

Unit <имя>;

Interface –

<интерфейсный раздел>

Implementation

<исполняемая часть>

End.

Раздел interface. Сюда помещаются списки подключаемых модулей, объявления типов, констант, переменных, процедур и функций, к которым будет доступ из других модулей. Подключение модулей отображается в предложении Uses. Если алгоритм разрабатываемого проекта предусматривает обращение к статистическим, математическим функциям или, например даты/времени, тогда в предложение Usesнеобходимо подключить соответственномодуль Math,а для дат – DateUtilsи др.

В разделеImplementation располагается код программы, он может включать в себя процедурыобработки событий (одну или несколько), процедуры общего вида, а также процедуры – функции.

End. - зарезервированное слово (признак конца модуля) с точкой – терминатор.

Модули

Форма – модуль, интерфейсная часть которого включает объявление нового класса, объявление объекта для соответствующего оконного класса.

Файлы модулей -имеют расширения: dfm, pas, ddp, dсu. Файлы с текстами модулей имеют расширения pas. Откомпилированный файл машинного кода получает расширение dсu. Файл с расширением dfm создается на диске после сохранения модуля. В нем сохраняются все свойства компонентов окна. Файл с расширением ddp сохраняет сведения обо всех диаграммах окна. Среди указанных файлов модулей файлы с расширениями dfm и pasявляются для проекта наиболее важными. Ниже представлены значки файлов модуля с именем UnUrok1 и представленными выше расширениями.

Рис. 2.2.5. Пиктограммы файлов модуля


Структура программ

В Delphi,как и вОbject Pascal,основной программной единицей является подпрограмма.Различают два вида подпрограмм: процедуры и функции. Отличие состоит в том, что с именем функции связано значение, поэтому имя функции можно использовать в выражениях. В соответствии с заданным алгоритмом могут использоваться как процедуры общего вида, так и процедуры обработки событий.

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

Program <Имя программы>

Блок содержит описательную и исполнительную части. В описательной части содержатся описание элементов программы, а в исполнительной части указываются действия над элементами программы, выполнение которых должно привести к нужному результату. Общий случай описательной части содержит следующие разделы:

· Подключение модулей

· Объявление меток

· Объявление констант

· Описание типов данных

· Объявление переменных

· Описание процедур и функций

Каждый из указанных разделов заканчивается точкой с запятой.

Структура процедуры

Procedure Имя(СписокПараметров);

Const

(объявление констант);

type

(объявление типов);

var

(объявление переменных);

begin

(последовательность исполняемых инструкций);

end;

 

При создании приложений и записи программ важное значение имеет соблюдение основных правил.

2. 2. 5. Правила оформления приложений и программ:

· Под каждое приложение должна быть выделена отдельная папка, в которой размещаются все файлы приложения, при этом, имена модуля и проекта должны быть осмысленными словами английского языка (как и все другие элементы процедур).

 

Правила записи программ

· Каждая исполняемая инструкция (оператор) может быть записан в одной или нескольких строках без повторения знаков при переносе. Концом оператора является знак точки с запятой «;» Целесообразнее же располагать с строке только один оператор.

· В операторе присваивания левая часть от правой отделяется знаком «:=»(присваивания).

· Весьма важным инструментом выступает составной оператор, который представляет последовательность операторов, заключенных в операторные скобки – begin … end, внутри которых могут использоваться вложенные операторные скобки, например в циклах, в условных переходах, множественном выборе. Использование составных операторов позволяет структурно строить программу.

· При записи текста процедур должна быть соблюдена ступенчатая структура текста.

 

begin …….. end; repeat ……… until….; while..do begin …….   end; for…to..do begin ……   end; if…then else begin ……. end; case…of ……… ……… end;

 

· Повторяющийся код программы в большинстве случаев должен быть оформлен в виде отдельной процедуры или функции.

· Текст программы должен быть снабжен подробными комментариями и начинаться с них. Комментариями считается:

Ø любой текст, заключенный символами // и концом строки.

Ø любой текст, заключенный между символами {..} в одной строке или в - нескольких строках {

§ ….

§ }.

Ø любой текст между открывающими и закрывающими символами языка (*..(..)..*), ('..').

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

Элементы программы

Элементы программы – ее неделимые части, распознаваемые компилятором это(как и в прочих языках программирования).

Зарезервированные (служебные) английские слова, определяющие начало какого либо действия (оператора, команды).Онидают информацию компилятору о назначении той или иной синтаксической конструкции. Их можно представить следующими группами:

· Заголовки – program, unit, procedure, function.

· Блоки описания –const, var, label, type.

· Создание новых типов – array, string, record…end, file, file…of.

· Операторные скобки – begin…end.

· Операторы - if…then…else…; case…of…end; for…to…do…; for…downto…do…; repeat…until…; while...do…; with…do…

· Директивы– export, Public, published, virtual, protected, index…Их список достаточно широк.

· Слова со специальным назначением – at, on .

Внимание. Не использовать имена, совпадающие с зарезервированными (служебными) словами.

Имена(идентификаторы), как известно, имена в программе используются для обозначения переменных, констант, процедур, функций, типов и самих программ. Это последовательность, начинающаяся с латинских символов с возможностью включения цифр и знака подчеркивания «_», при этом длина имени не ограничена (одна из возможностей современных ОС), но распознается по первым 255 символам. Перед использованием имени в программе оно должно быть объявлено (описано).

Константы.Могут быть с использованы в выражениях, операторах программы в виде констант (именованные) и константных выражений. Именованные - объявляются с помощью ключевого слова const и имеют следующий синтаксис:

const <идентификатор константы>=< константное выражение >;

Пример. Const S=’ Моя группа’+’ 3-МД-10’ ;

Или просто выражение – 234.

Примечание. Типы. Приложение 1

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

Var

<список идентификаторов переменных, разделенных запятыми>:<тип>;

Пример. Var

i, j, n: integer;

c,f :real;

Выражения –строка, состоящая из последовательности операндов.

Операнды – это константы, переменные, указатели различных дозволенных в языке функций. Тип выражения определяется типом входящих в него операндов.

Основные сведения:

· операции над операндами в выражении выполняются в строго определенном порядке;

· значение каждого операнда имеет определенный тип;

· значение каждого выражения имеет определенный тип.

Выражения составляют неотъемлемую часть операторов.

Delphi отличается большим разнообразием различного рода функций (математических, статистических, даты и времени, строковых), используемых в выражениях, часть из которых обеспечивается модулем Match. Для подключения этих функций необходимо сослаться на их имя со списком параметров в выражении инструкции, а в предложении Uses Разрабатываемого модуля указать его имя.

 

Основные стандартные арифметические функции:

ABS(аргумент) – абсолютное значение аргумента, Sqrt(аргумент) – квадратный корень аргумента, Sqr(аргумент) –квадрат аргумента, Sin(аргумент), Cos(аргумент), Arctan(аргумент),

Exp(аргумент) – экспонента аргумента,Ln(аргумент) – натуральный логарифм аргумента. Через указанные функции можно выразить такие функции как:Tan(аргумент), ArcSin(аргумент), ArCos(аргумент),Loga(аргумент). Кроме стандартных функций Delphi обеспечивает множеством иных функций, таких как функции преобразования: Trunc(n) – целая часть от n, Frac(n) – дробная часть вещественного n, Int(n) – целая часть вещественного n , Round(n) – целое, ближайшее к n,Random()…

Chr(n) – символ ANSI с номером n, IntToStr(n) – строка, являющаяся изображением целого n, FloatToStr(n) – строка, являющаяся изображением вещественного n, StrToInt(s) – целое, изображением которого является строка s, StrTofloat(s) – вещественное, изображением которого является строка s, FloatToStrF(n) –вещественное число в строку с форматированием.

Функции даты и времени. YearsBetween, YearSpan возвращают число лет между двумя значениями даты и времени.

Функции преобразования

Chr(n) – символ ANSI с номером n, IntToStr(n) – строка, являющаяся изображением целого n, FloatToStr(n) – строка, являющаяся изображением вещественного n, StrToInt(s) – целое, изображением которого являетя строка s, StrTofloat(s) – вещественное, изображением которого является строка s, Round(n) – целое, ближайшее к n , Trunc(n) – целая часть от n, Frac(n) – дробная часть вещественного n, Int(n) – целая часть вещественного n.

 

Операции

Арифметические -), *, /,div, mod, +,-, sh1, shr. ТипIntegerили Real.

Логические –not, or, xor, and . Тип Boolean.

Операторы отношения ­ -, =, >, >=, <, <=, <>.Boolean.

Операторы строк .Для строк применимы также операторы отношений. Две строки могут быть соединены знаком « +». Тип результата String.

@, not, ^(унарные), *, /,div, mod, and, sh1(сдвиг налево), shr(сдвиг направо), as, +,-, or, xor, =, >, >=, <, <=, <>, in, is

Операторы. Классификация:

Присваивания - <имя >:=<выражение>; В качестве имени может выступать имя переменной, элемент массива, имя процедуры-функции.

Условного перехода - if;

Оператор выбора - Case ;

Операторы цикла: While; Repeat; For.







Последнее изменение этой страницы: 2016-04-08; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.94.202.172 (0.017 с.)