- •1.1 Оформление программы
- •1.2 Переменные и константы
- •1.2.1 Типы
- •1.2.2 Записи (структуры)
- •V: real; // 2-я переменная, скорость
- •Var // Служебное слово для обозначения
- •1.2.3 Массивы
- •Implementation // Определяет внешнюю видимость этого
- •I: integer; // объявление локальной внутри процедуры
- •Int s[10]; // Определение массива с
- •1.2.4 Локальные и глобальные переменные
- •I:integer; // переменных, в том числе «I»
- •Void __fastcall tForm1::Button1Click(tObject *Sender)
- •Int I; // объявление локальной внутри процедуры
- •1.3 Указатели
- •I:integer;
- •Inc(k,2); // перемещение указателя вперед на 2 длины
- •1.4 Команды
- •1.5 Пользовательские процедуры и функции
- •Void __fastcall tForm1::Button1Click(tObject *Sender)
- •Int n1,n2; // объявление локальных переменных
- •1.6 Объекты программы
- •Void __fastcall tForm1::Button1Click(tObject *Sender)
- •1.7 Пример программы пользователя
- •1.7.1 Постановка задачи
- •1.7.2 Подготовка формы
- •1.7.3 Алгоритм программы
- •1.7.4 Последовательность разработки программы
- •1.7.5 Программа в Delphi
- •Interface // Определяет внешнюю видимость этого модуля
- •Implementation
- •2Перемещение объектов по форме
- •2.1 Общие сведения
- •2.1.1 Изменение положения объектов на форме
- •2.1.1.1Подготовка формы
- •2.1.1.2Блок-схема программы
- •2.1.1.3Листинг программы в среде Delphi:
- •Interface
- •Implementation
- •Void __fastcall tForm1::Button1Click(tObject *Sender)
- •Void __fastcall tForm1::Timer1Timer(tObject *Sender)
- •2.1.2 Расчет положения объекта на форме по физическим координатам моделируемого объекта
- •2.1.3 Расчет координат связанных объектов
- •2.2 Дифференциальные уравнения
- •2.2.1 Дифференциальные уравнения движения
- •2.2.2 Методика решения дифференциальных уравнений движения
- •2.2.3 Алгоритмы управления движущимся объектом
- •Xmax, Ymax, Dx, Dy: real;
Void __fastcall tForm1::Button1Click(tObject *Sender)
{ // начало функции
Button1->Font->Size = 10;
...
}; // конец функции
Методы, которые можно применить по отношению к объекту, являются по сути процедурами, находящимися в «теле» объекта, и которые выполняют наперед заданные функции. Например, к таким методам можно отнести функции создания и разрушения объекта, виртуального нажатия на кнопку, и т.д.
При действии над объектами появляются те или иные события (Events), которые вызывают подпрограммы, написанные пользователем, если есть такая необходимость. В этом случае подпрограммы называют «обработчиком события».
Некоторые события, которые появляются при действии с объектом типа «TButton» приведены в таблице 1.3.
Таблица 1.3 – Некоторые события объекта «TButton»
Событие |
Когда происходит событие |
OnClick |
При нажатии правой клавишей мыши на кнопке и последующем отпускании (Клик) |
OnMouseDown |
В момент нажатия любой клавишей мыши на кнопке |
OnMouseUp |
В момент отпускания любой клавиши мыши |
OnMouseMove |
При перемещении курсора над поверхностью кнопки |
Доступные свойства и события перечислены в инспекторе объекта при выборе соответствующего объекта на форме.
а) Свойства б) События
Рисунок 1.1 – Список свойств и событий в инспекторе объекта типа «TButton»
1.7 Пример программы пользователя
Разработаем простейшую программу – форму, которая выполняла бы следующие действия.
1.7.1 Постановка задачи
На форме располагаются три кнопки и круг. При нажатии на первую кнопку круг становится красным, на вторую – желтым и третью – зеленым. Первоначальный цвет при запуске программы – красный.
1.7.2 Подготовка формы
Необходимо поместить три объекта типа «TButton» и один объект типа «TShape» (вкладка «Additional» палитры компонентов) на форму. Затем необходимо уменьшить размер формы по контуру помещенных объектов. Форма должна выглядеть следующим образом:
Рисунок 1.2 – Форма с объектами
Свойства объектов необходимо поменять в инспекторе в соответствии с таблицей 1.4.
Таблица 1.4 – Измененные свойства объектов
Свойство |
До изменения |
После изменения |
Объект «Form1» |
||
Caption |
Form1 |
Светофор |
Объект «Button1» |
||
Caption |
Button1 |
Красный |
Объект «Button2» |
||
Caption |
Button2 |
Желтый |
Объект «Button3» |
||
Caption |
Button3 |
Зеленый |
Объект «Shape1» |
||
Name |
Shape1 |
Led |
Shape |
stRectangle |
stCircle |
Brush.Color |
clWhite |
clRed |
Форма после изменения свойств должна выглядеть следующим образом:
Рисунок 1.3 – Измененная форма
1.7.3 Алгоритм программы
Поставленная задача достаточно простая, и ее можно выполнить очень просто путем изменения цвета в подпрограммах, вызываемых при соответствующих событиях нажатий кнопок.
Но с целью облегчения понимания структуры последующих более сложных программ представим светофор в виде некого объекта, состоящего из компонентов, представленных в таблице 1.5.
Таблица 1.5 – Компоненты объекта «Светофор»
Компонент |
Тип |
Назначение |
Led |
TShape |
Индикация на форме |
LedColor |
Integer |
Индекс цвета индикатора (1,2,3) – глобальная переменная |
SetColor |
Function |
Функция установки цвета индикатора |
Алгоритм программы следующий:
1) при первой загрузке программы устанавливается индекс цвета, равным 1, и вызывается функция SetColor. Используется событие формы «Form1.OnCreate»;
2) при нажатии соответствующих клавиш устанавливается глобальная переменная LedColor и вызывается функция SetColor.
