
- •Основы программирования
- •Введение
- •Основы delphi
- •Общая технология программирования
- •Язык программирования
- •Объектно-ориентированное программирование
- •Визуальное программирование
- •Событийно управляемое программирование
- •Windows-приложение
- •Среда программирования
- •Первоначальные сведения о проекте приложения
- •Встроенный отладчик
- •Использование встроенных классов
- •Иерархия классов
- •Использование палитры компонентов и инспектора объектов
- •Использование графики
- •Основные инструменты
- •Основные характеристики шрифтов
- •Графические данные и палитра
- •Некоторые общие свойства компонентов
- •Сохранение проекта
- •Построение простейшего проекта
- •Понятие исключительной ситуации
- •Введение в object pascal
- •Структура приложения
- •Структура программы-проекта
- •Структура модуля
- •Пример 1
- •Описания программных элементов
- •Программные элементы и адреса памяти
- •Области видимости
- •Правила записи имен
- •Время жизни идентификаторов
- •Использование локальных переменных в примере 1
- •Использование глобальных переменных в примере 1
- •Простые типы
- •Целые типы
- •Целые типы
- •Некоторые операции с целым типом
- •Символьные типы
- •Логические типы
- •Тип перечень
- •Интервальный тип
- •Вещественный тип
- •Вещественные типы
- •Некоторые операции с вещественным типом
- •Тип дата-время
- •Выражения
- •Константы
- •Типизированные константы.
- •Переменные
- •Операции
- •Унарная операция not (отрицание)
- •Логические операции and, or, xor
- •Функции
- •Порядок вычисления выражений
- •Виды операторов
- •Простые операторы
- •Составной оператор
- •Операторы условного перехода
- •Оператор if
- •Пример 2
- •Оператор case
- •Пример 3
- •Использование enter в примере 3
- •Операторы цикла
- •Оператор цикла for
- •Пример 4
- •Оператор цикла while
- •Пример 5
- •Оператор цикла repeat
- •Пример 6
- •Использование процедур break и continue
- •Пример 7
- •Массивы
- •Статические массивы
- •Динамические массивы
- •Пример 8
- •Пример 9
- •Записи (объединения)
- •Оператор with
- •Пример 10
- •Совместимость и преобразование типов данных
- •Идентичность типов
- •Совместимость типов
- •Совместимость по присваиванию
- •Преобразование типов
- •Операторы обработки исключительных ситуаций
- •Пример 11
- •Множества
- •Операции над множествами
- •Пример 12
- •Вариантный тип данных
- •Процедуры и функции
- •Процедура
- •Функция
- •Рекурсия
- •Формальные и фактические параметры
- •Параметры-значения
- •Параметры-переменные
- •Параметры-константы
- •Параметры без типа
- •Массивы открытого типа
- •Парамеры по умолчанию
- •Процедура exit
- •Директивы подпрограммы
- •Соглашения по передаче данных
- •Директива forward
- •Директива external
- •Директива assembler
- •Перегруженные подпрограммы
- •Пример 13
- •Инкапсуляция
- •Класс как объектный тип
- •Наследование
- •Области видимости
- •Операции is и as
- •Виды методов
- •Методы virtual и полиморфизм
- •Методы dynamic
- •Методы message
- •Методы abstract
- •Методы override
- •Методы class
- •Пример 14
- •Динамическое создание компонентов
- •Использование класса со счетчиком объектов
- •Отслеживание разрушения объектов
- •События
- •Указатели на методы
- •Пример 15
- •Типы ссылки на класс
- •Свойства
- •Свойства simple
- •Свойства enumerated
- •Свойства set
- •Свойства object
- •Свойства array
- •Задание начальных значений свойствам
- •Пример 16
- •Файловые типы
- •Текстовые файлы
- •Типизированные файлы
- •Файлы без типа
- •Дополнительные процедуры и функции
- •Пример 17
- •Компонент tmainmenu
- •Указатели
- •Пример 18
- •Динамические структуры данных
- •Однонаправленные списки
- •Двунаправленные списки
- •Стеки, очереди
- •Бинарные деревья
- •Пример 19
- •Процедурный тип
- •Программные единицы dll
- •Пример 20
- •Технологии программирования
- •Потоки данных
- •Пример 21
- •Пример 22
- •Интерфейс drag and drop
- •Пример 23
- •Технология drag and dock
- •Пример 24
- •Использование функций windows api при работе с файлами
- •Пример 25
- •Использование отображаемых файлов
- •Пример 26
- •Программные потоки
- •Приоритеты потоков
- •Класс tthread
- •Пример 27
- •Использование блокировки в примере 27
- •Многопоточное приложение в примере 28
- •Проблемы синхронизации потоков
- •Список используемых в примерах компонентов
- •Список используемых компонентов и других классов
- •Библиографический список
- •Оглавление
Тип дата-время
Стандартный тип дата-время TDateTime, определенный в модуле System, совпадает с типом Double. Например, если определена константа типа дата-время 35065.75, то это число означает 1 января 1996г., 18.00. Способ преобразования этого числа в дату-время встроен в тип. Целая часть числа типа TDateTime задаёт число дней, прошедшее с 30 декабря 1899 года, а дробная часть - прошедшую долю текущих суток. Символьное представление типа дата-время определяется установками Windows. Различные функции преобразования находятся в модуле SysUtils.
Выражения
Многие операторы содержат в своём составе конструкции, называемые выражениями. Выражение - это синтаксическая единица языка, определяющая способ вычисления некоторого значения. В выражении выполняются некоторые действия над параметрами. Рассмотрим множество операций и параметров, используемых в выражениях.
Константы
Константами называют параметры, значения которых не могут изменяться в процессе выполнения программы. В выражениях возможно двоякое использование констант:
непосредственное использование значения константы;
использование имени константы.
В качестве констант могут использоваться значения различных типов. Представление числовых констант возможно не только десятичное, но и шестнадцатеричное, например $F5, где первый символ указывает, что далее следует шестнадцатеричная константа.
Для задания имени константы используется следующее описание: const <имя> = <значение>; - например,
const a = 5; s = ’Pascal’;. В описании const можно использовать константные выражения: const b = Pi/4;. Все вычисления константных выражений выполняются на стадии компиляции. Код программы не увеличивается при использовании поименованных констант.
Типизированные константы.
Данное название не совсем удачное, т.к. типизированная константа представляет собой фактически переменную. Название это появилось потому, что типизированная константа определяется ключевым словом const, например,
Const Maximum: integer = 100;
Не будет ошибки, если вместо данной строки записать:
Var Maximum: integer = 100;
Maximum является переменной типа integer, а число 100 определяет начальное значение для этой переменной. Таким образом, типизированные константы используются для задания начального значения переменных.
Использование типизированных констант зависит от директивы компилятора {$J}. Если она выключена {J-}, типизированные константы становятся просто константами, если она включена {J+} (устанаовлено по умолчанию) – типизированная константа представляет собой инициализированную переменную.
Переменные
Переменными называют параметры, значения которых могут изменяться в процессе выполнения программы. Запишем следующие примеры объявления переменных:
Var a: integer;
x,y: single;
operat: (plus, minus, mult, divide);
m: 1..12;
В данном случае объявлены пять переменных: a – целого, x, y – вещественного, operat – перечень и m – интервального типов.
Операции
Можно выделить следующие операции:
арифметические;
логические;
операции над битами;
операции отношения;
операции со строками;
операции с множествами;
операции над объектами;
адресная операция @.
Арифметические операции для вещественных чисел определяются с помощью символов: +, -, *, /. Для целых чисел определены пять операций:+, -, *, div (деление нацело), mod (остаток от деления), например,
A div B; {если A = 7, а B = 3, то результат равен 2}
C mod 3; {если C = 10, то результат равен 1}
Логические операции применяются к операндам логического типа, как, например, приведено в табл. 7.
Таблица 7