- •1. Структура модуля
- •2. Понятие класс. Составляющие класса: поля, свойства, методы. Объявление класса.
- •3. Конструкторы и деструкторы
- •4. Структура проекта и приложения в среде Delphi
- •5. Интерфейс программы Delphi
- •6. Палитра компонентов: вкладки Standard, Additional, Win32.
- •7. Компоненты Edit; Label; Button.
- •8. Компоненты CheckBox, RadioButton.
- •9. Функции ввода-вывода InputBox, InputQuery, Showmessage.
- •10. Функция MessageDlg.
- •11. Создание главного и контекстного меню
- •12. Функции диалога
- •13. Функции преобразования
- •14. Компонент tForm: свойства, методы и события.
- •Visible
- •15. Класс Exception. Блоки Try...Except и try...Finaly.
- •1 Случай:
- •16. Компоненты memo и RichEdit.
- •Insert()
- •17. Компоненты ListBox и ComboBox.
Visible
Если оно равно true, то форма/компонент видим. Иначе форма/компонент невидим.
Position
Позиция окна при старте приложения.
Hint
Текст подсказки, который будет появляться в строке состояния при наведении мышкой на форму/компонент.
Enabled – Тип свойства – логический. Доступность компонента. Если это свойство равно true, то пользователь может работать с этим компонентом. Иначе компонент недоступен и окрашен серым цветом.
BorderWidth
Ширина оборки окна.
AutoSize
Определяет, должны ли компоненты на форме автоматически корректировать размеры формы.
AlphaBlend
Означает, имеет ли форма прозрачность. Если это свойство равно true, то окно будет прозрачным.
AlphaBlendValue
Степень прозрачности формы. Здесь можно задавать числовое значение степени прозрачности от 0 до 255. Если поставишь 0, то форма будет абсолютно прозрачной. 255 означает полную непрозрачность.
Основные события формы:
OnActivate Когда приложение стало активным
OnClick Генерируется, когда пользователь щёлкнул по форме.
OnClose Генерируется, когда окно закрывается.
OnCreate Генерируется, когда окно создаётся.
OnDblClick Генерируется, когда пользователь дважды щёлкнул по окну.
OnDestroy Когда окно уничтожается.
OnHide Генерируется, когда окно исчезает из виду. Событие генерируется даже тогда, когда память, выделенная для окна, не уничтожается.
OnKeyDown Генерируется, когда нажата клавиша на клавиатуре.
OnKeyPress Генерируется, когда нажата и отпущена клавиша на клавиатуре.
OnKeyUp Генерируется, когда отпущена клавиша на клавиатуре.
OnMouseDown Генерируется, когда нажата кнопка мыши.
OnMouseMove Генерируется, когда двигается мышка.
OnMouseUp Генерируется, когда отпускается кнопка мыши.
OnMouseWheel Генерируется колёсиком мыши.
OnMouseWheelDown Генерируется, когда колёсико мыши прокручено вниз.
OnMouseWheelUp Генерируется, когда колёсико мыши прокручено вверх.
OnPaint Генерируется, когда надо перерисовать окно.
OnResize Генерируется, когда надо изменить размеры окна.
OnShortCut Когда нажата горячая клавиша.
OnShow Когда показывается окно, но до фактической прорисовки. В этот момент окно уже создано и готово к отображению, но ещё не прорисовалось на экране.
Методы
Для создания экземпляров форм служит метод Create.
Управлять видимостью форм на экране можно с помощью методов Show и Hide. Процедура Show отображает форму в немодальном режиме (ShowModal – модальный режим), при этом свойство Visible устанавливается в значение true, а сама форма переводится на передний план. Процедура Hide скрывает форму, устанавливая ее свойство Visible в значении False.
Для закрытия формы используется метод Close. Данный метод не уничтожает созданный экземпляр формы, и форма может быть снова вызваны на экран.
Уничтожение формы происходит с помощью методов Release, Free, Destroy.
15. Класс Exception. Блоки Try...Except и try...Finaly.
Класс Exception является прямым потомком базового класса тоь-ject. Вместе со своими потомками он предназначен для обработки исключительных ситуаций (исключений), возникающих при некорректных действиях программы: например, в случае деления на ноль, при попытке открыть несуществующий файл, при выходе за пределы выделенной области динамической памяти и т. п.
Класс Exception является родительским классом для всех классов-исключений. Этот класс объявляется в модуле sysUtils.
Конструкция
Try -> EXCEPT -> END
управляет поведением возможной исключительной ситуацией, которая может возникнуть в секции "TRY". Если такая возникает, то выполнение кода в секции "TRY" прекращается и моментально перепрыгивает в начало секции "EXCEPT" и код, находящийся там, выполняется до конца, т.е до "END". Рассмотрим пример обработки исключительной ситуацией "EZeroDevide"(деление на ноль)
...
var
a:integer;
...
begin
try
a := 1/0;
except
on EZeroDivide do showmessage('Divide by zero not allowed!'); // обработка КОНКРЕТНОЙ исключителной ситуации
end;
Также существует еще одна конструкция обработки исключительных ситуаций:
TRY -> FINALLY -> END
Данный блок функционирует немного иначе: если в секции "TRY" возникнет исключительная ситуация, то выполнение кода оставновится в этой секции и перепрыгнет в секцию "FINALLY". Но даже если никакой исключительной ситуации не возникнет, то в конце выполнения кода в "TRY", секция "FINALLY" все равно будет выполнена. Эту конструкцию уместно применять, если в конце работы надо произвести операции по, например, освобождению памяти. Пример:
