- •Вострокнутов и.Е. Саблукова н.Г. Программирование в среде delphi
- •Часть I
- •Содержание
- •Введение
- •§1 Основные этапы разработки проектов
- •§2 Среда программирования Delphi
- •2.1 Главное окно программы
- •2.2. Окно формы
- •2.3. Окно Инспектора объектов
- •2.4. Окно программного кода
- •2.5. Структура проекта Delphi
- •2.6. Основные понятия визуального программирования
- •§3 Проектирование графического интерфейса
- •3.1. Форма и ее основные свойства
- •1. Свойство Name (Имя).
- •Задания
- •3.2 Компоненты tEdit, tLabel, tButton
- •Задания
- •3.3 Графическое оформление окна
- •Создание графического интерфейса проекта в Delphi
- •Задания
- •3.4 Реакция на события
- •3.5 Изменение свойств компонентов через программный код
- •Задания
- •§4 Элементы языка программирования Delphi
- •4.1 Алфавит
- •4.2 Зарезервированные слова и идентификаторы
- •4.3 Типы данных
- •4.4 Константы
- •4.5 Структура программного модуля
- •§5 Основные операторы языка программирования Delphi
- •5.1 Оператор присваивания
- •Задания
- •5.2. Логический тип данных. Создание проектов с использованием оператора присваивания и логических типов данных
- •Задания
- •5.3 Математические операции Delphi
- •5.4 Линейная алгоритмическая структура. Ввод и вывод информации в Delphi.
- •5.5 Создание проектов с использованием ввода/вывода информации
- •Задания
- •5.6 Алгоритмическая структура «Ветвление». Условный оператор.
- •5.7 Создание проектов с использованием условного оператора и генератора случайных чисел
- •Задания
- •Оператор выбора
- •Задания
- •5.9 Создание проекта «Калькулятор» с использованием условного оператора и оператора выбора
- •5.10 Реализация условного оператора и оператора выбора компонентами tRadioButton и tRadioGroup
- •Реализация условного оператора и оператора выбора компонентом tCheckBox
- •Задания
- •Создание проекта «Тест» с использованием условного оператора и переключателей
- •Задания
- •5.13 Алгоритмическая структура «Цикл». Операторы повторений.
- •Задания
- •5.14 Компонент tTimer
- •5.15 Создание проектов с использованием таймера
- •Задания
- •Литература
5.7 Создание проектов с использованием условного оператора и генератора случайных чисел
Пример. Создать проект «Ромашка», в котором при щелчке на выбранном лепестке в надписи отображается случайное предсказание, и данный лепесток становится невидимым. |
Рис. 83 Графический интерфейс проекта «Ромашка»
Создадим графический интерфейс проекта по образцу (рис. 83). Лепестки ромашки поместим в компоненты Image1-Image5.
В данном проекте необходимо ввести переменную целого типа, которая будет принимать случайные значения в определенном диапазоне.
Для задания случайных величин в Delphi используется генератор случайных чисел, который запускается процедурой Randomize. Эта процедура делает выбор случайных чисел еще более случайным. Случайное число в диапазоне от 0 до (Х-1) возвращает функция Random (Х). При этом сама граница в диапазон не входит. Например, функция Random(10) может выдать случайное число в интервале от 0 до 9, а число 10 не выдаст никогда.
Генератор случайных чисел запустим при открытии формы. Для этого на вкладке Events (События) Инспектора объектов у компонента Form1 выберем событие OnCreate и дважды щелкнем по нему. В появившемся обработчике события TForm1.FormCreate включаем генератор случайных чисел процедурой Randomize.
procedure TForm1.FormCreate(Sender: TObject); |
begin |
Randomize; |
end; |
Введем переменную х, которая будет принимать одно из пяти случайных значений (по количеству лепестков ромашки). Чтобы эта переменная могла принимать пять случайных значений, ей необходимо выполнить следующее присвоение:
х:= random(5);
Если переменная х окажется равной 0, то в надписи должно появиться первое предсказание:
if x=0 then Label1.Caption:='Счастье';
Аналогично задаются остальные предсказания.
Чтобы затем сделать компонент Image1 невидимым нужно добавить оператор:
Image1.Visible:=false;
Обработчик события щелка OnClick у компонента Image1 будет следующим:
procedure TForm1.Image1Click(Sender: TObject); |
var x:integer; |
begin |
х:=random(5); |
if x=0 then Label1.Caption:='Счастье'; |
if x=1 then Label1.Caption:='Любовь'; |
if x=2 then Label1.Caption:='Удача'; |
if x=3 then Label1.Caption:='Богатство'; |
if x=4 then Label1.Caption:= 'Здоровье'; |
Image1.Visible:=false |
end; |
У остальных лепестков обработчики событий будут подобными.
Так как в данном проекте во всех процедурах используется одна и та же переменная х, то ее можно описать уже не как локальную, а как глобальную. Для этого уберем строку Var x:integer; из каждой процедуры и укажем тип переменной х в уже имеющемся разделе описания переменных, где пока имеется лишь описание формы.
var |
Form1: TForm1; |
х: integer; |
|
Рис. 84 Окно работающего приложения
