Чтение онлайн

на главную - закладки

Жанры

Delphi. Учимся на примерах

Парижский Сергей Михайлович

Шрифт:

 {Локальные объявления констант, типов и переменных}

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.

Поделиться:
Популярные книги

Зубных дел мастер

Дроздов Анатолий Федорович
1. Зубных дел мастер
Фантастика:
научная фантастика
попаданцы
альтернативная история
5.00
рейтинг книги
Зубных дел мастер

Бывшие. Война в академии магии

Берг Александра
2. Измены
Любовные романы:
любовно-фантастические романы
7.00
рейтинг книги
Бывшие. Война в академии магии

Идеальный мир для Лекаря 7

Сапфир Олег
7. Лекарь
Фантастика:
юмористическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 7

Возвышение Меркурия. Книга 3

Кронос Александр
3. Меркурий
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 3

Кодекс Охотника. Книга X

Винокуров Юрий
10. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
6.25
рейтинг книги
Кодекс Охотника. Книга X

Хозяин Теней

Петров Максим Николаевич
1. Безбожник
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Хозяин Теней

Опасная любовь командора

Муратова Ульяна
1. Проклятые луной
Фантастика:
фэнтези
5.00
рейтинг книги
Опасная любовь командора

Друд, или Человек в черном

Симмонс Дэн
Фантастика:
социально-философская фантастика
6.80
рейтинг книги
Друд, или Человек в черном

Волхв

Земляной Андрей Борисович
3. Волшебник
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Волхв

Мастер Разума VII

Кронос Александр
7. Мастер Разума
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Мастер Разума VII

Всемирная энциклопедия афоризмов. Собрание мудрости всех народов и времен

Агеева Елена А.
Документальная литература:
публицистика
5.40
рейтинг книги
Всемирная энциклопедия афоризмов. Собрание мудрости всех народов и времен

Сумеречный Стрелок 5

Карелин Сергей Витальевич
5. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сумеречный Стрелок 5

Морской волк. 1-я Трилогия

Савин Владислав
1. Морской волк
Фантастика:
альтернативная история
8.71
рейтинг книги
Морской волк. 1-я Трилогия

Прогрессор поневоле

Распопов Дмитрий Викторович
2. Фараон
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Прогрессор поневоле