- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Delphi. Учимся на примерах - Сергей Парижский
Шрифт:
Интервал:
Закладка:
Application.Initialize;
//создание главной формы приложения
Application.CreateForm(TForm1, Form1);
//создание остальных форм
//…
//запуск приложения
Application.Run;
end.
Перед словом begin можно добавлять объявления констант, типов и переменных, а между словами begin и end — добавлять собственный программный код.
Файл программного модуля .pas
Файл программного модуля (формы или независимый) имеет следующую структуру:
unit имя_модуля;
//начало интерфейсной части модуля
interface
uses
{раздел ссылок на другие программные модули, классы, типы, переменные, процедуры или функции которых используются в данном модуле}
const
{описания констант}
type
{описание типов, в частности — класса формы}
var
{описание переменных, в частности – экземпляра формы}
//начало раздела реализации
implementation
uses
{раздел ссылок на другие программные модули}
{$R *.dfm} //директивы компилятора
const
{описания констант}
type
{описание типов }
var
{описание переменных }
{реализация процедур и функций модуля}
end.
В интерфейсном разделе (между ключевыми словами interface и implementation) указываются элементы программного модуля, доступные для других модулей и программ, а также ссылки на другие модули (раздел uses).
Все описания и операторы, помещаемые в раздел реализации (после ключевого слова implementation), доступны только внутри данного программного модуля.
Процедуры и функции
Процедура – это именованный программный блок, который не возвращает никакого значения. В отличие от нее, функция — это именованный программный блок, возвращающий некоторое значение в точку вызова. Обычно в виде функций или процедур выделяют часто используемые фрагменты программного кода. Синтаксис процедур:
procedure имя_процедуры(список_параметров);
{Локальные объявления констант, типов и переменных}
begin
//Тело процедуры
end;
Синтаксис функций:
function имя_процедуры(список_параметров): тип_возвращаемого_значения;
{Локальные объявления констант, типов и переменных}
begin
//Тело функции
Result:= возвращаемое_ значение;
end;
Параметры
Список параметров, передаваемых в процедуру или в функцию, имеет следующий синтаксис:
параметр1: тип; …; параметрN: тип
Если процедура или функция не принимает никаких параметров, то ее заголовок выглядит следующим образом:
procedure имя_процедуры;
function имя_процедуры: тип_возвращаемого_значения;
Те параметры, перед которыми при объявлении указано ключевое слово var, называются параметрами, передаваемыми по ссылке. Это означает, что к значению этого параметра сохраняется доступ и после выхода из функции или процедуры. Такие параметры можно использовать для возврата результата в процедурах или возврата более одного результата в функциях.
Для параметра, указанного в списке последним, можно определить значение по умолчанию. Это означает, что при вызове процедуры или функции эти параметры можно не передавать.
Если в качестве параметра передается массив, то размерность массива в заголовке процедуры или функции не указывается.
Вызов процедур и функций
Процедуры и функции вызываются по их названию с указанием в круглых скобках списка параметров, например:
s:= IntToStr(i); //вызов функции IntToStr
delete(s, 1, 2); {вызов процедуры delete, которая удаляет из строки s два символа, начиная с первого. В данном случае, переменная s является параметром, передаваемым по ссылке}
Если в процедуру или функцию не передаются никакие параметры (как во многих методах объектов), то вызов осуществляется только по ее имени, например:
Button1.Click; //вызов метода (процедуры) Click
s:= GetCurrentDir; //вызов функции GetCurrentDir
Досрочный выход из процедуры или функции
Для досрочного выхода из процедуры или функции в ее теле следует указать вызов процедуры Exit.
Операторы
Оператор — это конструкция языка Object Pascal, выполняющая определенную операцию. Все операторы можно разбить на несколько категорий.
Оператор присваивания
Слева от оператора присваивания := указывается переменная или свойство объекта, а справа — некоторое значение или выражение. Тип значения или результат выражения должен соответствовать типу переменной или свойства.
Арифметические операторы
Арифметические операторы возвращают значения, соответствующие типам числовых операндов:
• + — сложение;
• – — вычитание;
• * — умножение;
• / — деление чисел с плавающей запятой;
• div — целочисленное деление с отбрасыванием остатка;
• mod — получение остатка от целочисленного деления.
Булевы операторы
Булевы операторы возвращают значения типа Boolean:
• not — отрицание;
• and — логическое "И";
• or — логическое "ИЛИ";
• xor — логическое исключающее "ИЛИ".
Операторы сравнения
Операторы сравнения возвращают значение типа Boolean:
• = — равно;
• <> — не равно;
• < — меньше;
• > — больше;
• <= — меньше или равно;
• >= — больше или равно.
Побитовые операторы
Побитовые операторы выполняют действия с операндами с учетом их двоичного представления:
• not — побитовое отрицание (not 0 = 1; not 1 = 0);
• and — побитовое умножение (0 and N = 0; 1 and 1 = 1);
• or — побитовое сложение (1 or N = 1; 0 or 0 = 0);
• xor — побитовое исключающее сложение (0 xor 0 = 0; 0 xor 1 = 1; 1 xor 1 = 0);
• shl — побитовый сдвиг влево;
• shr — побитовый сдвиг вправо.
Строковые операторы
Строковые операторы применяются к операндам строкового или символьного типа:
• =, <>, <, >, <=, >= — операторы сравнения;
• + — оператор конкатенации (слияния операндов).
Операторы, применяемые к множествам
К множествам применяются следующие операторы:
• + — объединение (результат — множество);
• – — вычитание (результат — множество);
• * — пересечение (результат — множество);
• <= – подмножество (результат — множество);
• >= — супермножество (результат — множество);
• = — равенство (результат — значение типа Boolean);
• <> — неравенство (результат — значение типа Boolean);
• in — вхождение множества, указанного слева от оператора, во множество, указанное справа (результат — значение типа Boolean).
Операторы, применяемые с объектами
С объектами применяют следующие операторы:
• as — приведение к производному классу. Пример использования:
var Obj: TObject; //объект класса TObject
…
with Obj as TButton do //приводим к классу TButton
Caption:= 'Кнопка'; //то же, что Obj.Caption
• is — сравнение с классом. Пример использования:
var Obj: TObject; //объект класса TObject
…
if Obj is TButton then //если Obj – объект класса
//TButton, то…
Obj.Caption:= 'Кнопка';
• =, <> — операторы сравнения.
Группировка операторов
Операторы можно группировать, заключая их в круглые скобки.
Порядок выполнения операторов
В сложных выражениях операторы выполняются в следующем порядке:
1. ( ).
2. not.
3. *, /, div, mod, and, shl, shr, as.
4. +, –, or, xor.
5. =, <>, <, >, <=, >=, in, is.
Блоки программного кода
Два и более операторов присваивания, а также вызовов процедур или функций можно выделять в блоки программного кода при помощи ключевых слов begin и end. Такие блоки используются в конструкции with-do, а также в рассматриваемых ниже циклических конструкциях и конструкциях ветвления.

