
- •1.1 Оформление программы
- •1.2 Переменные и константы
- •1.2.1 Типы
- •1.2.2 Записи (структуры)
- •V: real; // 2-я переменная, скорость
- •Var // Служебное слово для обозначения
- •1.2.3 Массивы
- •Int s[10]; // Определение массива с
- •1.2.4 Локальные и глобальные переменные
- •Implementation // Определяет внешнюю видимость этого
- •I: integer; // объявление локальной внутри процедуры
- •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)
{
Int n1,n2; // объявление локальных переменных
float N3;
N1 = StrToInt (Edit1->Text); // определение значения N1
N2 = StrToInt (Edit2->Text); // определение значения N2
N3 = StrToFloat (Edit3->Text); // определение значения N3
// вызов функции MyFun и вывод результата в Edit3
Edit3->Text = FloatToStr(MyFun(N1,N2,N3));
}
Для определения значений, передаваемых разработанной функции, использовались встроенные функции преобразования строковых данных в числовые:
1. Функция StrToInt преобразования строки (например, '220') в целое для переменных типа integer;
2. Функция StrToFloat преобразования строки (например, '3.14') в десятичную дробь для переменных типа real (float).
Обратные функции предназначены для преобразования чисел в строки для последующего вывода на экран:
1. Функция IntToStr преобразования переменной типа integer в строку;
2. Функция FloatToStr преобразования переменной типа real (float) в строку.
1.6 Объекты программы
И Delphi, и C++ являются объектно-ориентированными языками. Это означает, что пользователь оперирует некими объектами, у которых есть индивидуальные свойства, методы и события.
Свойства (Properties) позволяют управлять текущим состоянием объекта. Практически все свойства доступны для считывания и записи. Для удобства все свойства объекта помещены в структуру с его именем. Например, в таблице 1.2 приведены некоторые свойства объекта Button (вкладка «Standard» палитры компонентов), который на форме программы выглядит как кнопка, нажимаемая мышью.
Таблица 1.2 – Некоторые свойства объекта Button
Свойство |
Назначение |
Caption |
Текст, помещаемый на кнопке |
Enabled |
Включение кнопки. Иначе она не нажимается |
Height |
Высота кнопки в пикселях |
Left |
Положение кнопки от левого края объекта, на котором находится кнопка, до левого края самой кнопки |
Name |
Имя кнопки, используемое для идентификации в программе |
Top |
Положение кнопки от верхнего края объекта, на котором находится кнопка, до верхнего края самой кнопки |
Visible |
Включение видимости кнопки на форме |
Width |
Ширина кнопки в пикселях |
Некоторые свойства также организованы в структуры. Например, группа свойств Font, которая управляет шрифтом надписи на кнопке, имеет конкретные свойства, например, «Color» - цвет шрифта, «Name» - имя шрифта, «Size» - размер шрифта в пикселях.
Доступ к свойствам объекта осуществляется аналогично как в структуре, организованной пользователем. Например, на языке Pascal:
Form1.Button1.Left := 30; // Изменение положения кнопки Button1
// по горизонтали
Form1.Button1.Font.Size := 10; // Изменение размера шрифта
Необходимо отметить, что название формы «Form1» писать не обязательно, если, например, подпрограмма описывает обработку конкретного события. В данном случае название формы уже имеется в заголовке подпрограммы:
// Процедура, вызываемая при нажатии кнопки Button1 на форме
procedure TForm1.Button1Click(Sender: TObject);
begin // начало процедуры
Button1.Font.Size := 10;
...
end; // конец процедуры
Для подпрограммы, написанной самим пользователем, для своих целей писать название формы обязательно. Или можно использовать следующую конструкцию:
with Form1 do // указывает где искать объекты и их свойства
begin // начало действия оператора with
Button1.Left := 10;
end; // Конец действия оператора with
Доступ к свойствам объектов на языке C++ осуществляется через указатели. В остальном организация структур аналогично Delphi:
Form1->Button1->Left = 30; // Изменение положения кнопки Button1
// по горизонтали
Form1->Button1->Font->Size = 10; // Изменение размера шрифта
...
// Функция, вызываемая при нажатии кнопки Button1 на форме