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

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

Жанры

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.

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

Убийца

Бубела Олег Николаевич
3. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.26
рейтинг книги
Убийца

Адвокат Империи 16

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

Камень. Книга 4

Минин Станислав
4. Камень
Фантастика:
боевая фантастика
7.77
рейтинг книги
Камень. Книга 4

Неучтенный элемент. Том 3

NikL
3. Антимаг. Вне системы
Фантастика:
фэнтези
5.00
рейтинг книги
Неучтенный элемент. Том 3

Палач

Зайцев Сергей Григорьевич
4. Викс
Фантастика:
фэнтези
7.27
рейтинг книги
Палач

Маленькая женщина Большого

Зайцева Мария
5. Наша
Любовные романы:
эро литература
современные любовные романы
5.00
рейтинг книги
Маленькая женщина Большого

Первый среди равных. Книга IV

Бор Жорж
4. Первый среди Равных
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Первый среди равных. Книга IV

Старый, но крепкий

Крынов Макс
1. Культивация без насилия
Фантастика:
рпг
уся
попаданцы
5.00
рейтинг книги
Старый, но крепкий

Тринадцатый XI

NikL
11. Видящий смерть
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Тринадцатый XI

Имперец. Том 5

Романов Михаил Яковлевич
4. Имперец
Фантастика:
попаданцы
альтернативная история
аниме
6.00
рейтинг книги
Имперец. Том 5

Аспирант

Поселягин Владимир Геннадьевич
3. Рунный маг
Фантастика:
боевая фантастика
4.50
рейтинг книги
Аспирант

Тринадцатый V

NikL
5. Видящий смерть
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Тринадцатый V

Ученик

Листратов Валерий
2. Ушедший Род
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Ученик

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

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