1. Необходимо объявить глобальную переменную LedColor целого типа.
2. Написать функцию SetColor, которая по индексу LedColor с помощью команд «if» устанавливает цвет индикатора на форме Led.
2. Написать обработчик события формы «OnCreate». Для этого на пустом месте формы необходимо «кликнуть» правой кнопкой мыши, выбрать в инспекторе вкладку «Events», затем строчку OnCreate и два раза кликнуть правой кнопкой мыши. В появившейся заготовке обработчика события необходимо установить начальное значение LedColor и вызвать функцию установки цвета индикатора.
3. Последовательно написать обработчики событий кнок «OnCreate». Для этого на пустом месте формы необходимо «кликнуть» правой кнопкой мыши, выбрать в инспекторе строчку OnClick и два раза кликнуть правой кнопкой мыши. В появившейся заготовке обработчика события необходимо установить необходимое значение LedColor и вызвать функцию установки цвета индикатора.
Программа в Delphi
Листинг программы, написанной в среде Delphi приведен ниже. Выделены строчки, которые автоматически генерируются редактором. Не выделены строчки, которые необходимо прописать пользователю самостоятельно.
unit Unit1; // Название модуля
interface // Определяет внешнюю видимость этого модуля
uses // Используемые библиотеки
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type // Определяется класс текущей формы
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Led: TShape;
Button3: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1; // Объявление переменной типа формы
LedColor: integer; // Объявление глоб. переменной
// индекса цвета индикатора
implementation
{$R *.dfm}
// Функция установки цвета индикатора на форме
function SetColor ():integer;
begin
if LedColor = 1 then Form1.Led.Brush.Color:= clRed;
if LedColor = 2 then Form1.Led.Brush.Color:= clYellow;
if LedColor = 3 then Form1.Led.Brush.Color:= clGreen;
SetColor:=0;
end;
// Процедура, вызываемая при запуске программы
procedure TForm1.FormCreate(Sender: TObject);
begin
LedColor:= 1;
SetColor();
end;
// обработчик события нажатия кнопки 1
procedure TForm1.Button1Click(Sender: TObject);
begin
LedColor:= 1;
SetColor();
end;
// обработчик события нажатия кнопки 2
procedure TForm1.Button2Click(Sender: TObject);
begin
LedColor:= 2;
SetColor();
end;
// обработчик события нажатия кнопки 3
procedure TForm1.Button3Click(Sender: TObject);
begin
LedColor:= 3;
SetColor();
end;
end. // Конец программы
Запуском программы необходимо убедиться в ее работоспособности.
1.7.6 Программа в среде C++
//--------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//--------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int LedIndicator;
//--------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//--------------------------------------------------------------
int SetIndicator (void)
{
if (LedIndicator == 1) Form1->Led->Brush->Color = clRed;
if (LedIndicator == 2) Form1->Led->Brush->Color = clYellow;
if (LedIndicator == 3) Form1->Led->Brush->Color = clGreen;
};
//--------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
LedIndicator = 1;
SetIndicator ();
}
//--------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
LedIndicator = 1;
SetIndicator ();
}
//--------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
LedIndicator = 2;
SetIndicator ();
}
//--------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
LedIndicator = 3;
SetIndicator ();
}
//--------------------------------------------------------------
Перемещение объектов по форме
Общие сведения
Для плавного перемещения объектов по форме необходимо периодически изменять его положение. Чем чаще происходит изменение, тем плавней перемещение. Скорость же можно регулировать тем, на какую величину перемещается объект за один раз.
Для периодического исполнения одной и той-же процедуры применяется объект «Timer» во вкладке «System» палитры компонентов. Его свойства показаны в таблице 2.1.
Таблица 2.1 – Свойства объекта Timer
Свойство | Назначение |
Enabled | Включение таймера |
Interval | Интервал в миллисекундах срабатывания таймера |
Name | Имя, с помощью которого осуществляется доступ к объекту в программе |
Таймер имеет одно событие «OnTimer». Обработчик события при включенном таймере будет периодически вызываться с интервалом, задаваемым значением «Interval».