Помощь в написании студенческих работ
Антистрессовый сервис

Вечное движение. 
Программирование: delphi

РефератПомощь в написанииУзнать стоимостьмоей работы

Кнопка «Пуск» включает таймер: свойство Timerl. Enabled = False. Кнопка «Стоп» выключает таймер: свойство Timerl. Enabled = True. Начальное значение свойства, равное False, устанавливается в Инспекторе объектов. Тогда при запуске программы шарик двигаться не будет, так как нет сигналов от таймера. Объект Shape перемещается с помощью изменения координат фигуры на панели, т. е. изменения свойств… Читать ещё >

Вечное движение. Программирование: delphi (реферат, курсовая, диплом, контрольная)

Цель работы — создать проект, который иллюстрирует использование таймера для создания потока событий.

Поместим на Форму панель, добавим кнопки «Пуск» и «Стоп», таймер. Основным свойством объекта Timer является Interval — время срабатывания таймера в миллисекундах. По истечении этого промежутка времени возникает событие OnTimer. Таким образом, программа получает возможность периодически запускать процедуру обработки, в которой без вмешательства пользователя будут выполняться какиелибо действия.

Окно проекта.

Рис. 80. Окно проекта

Панель является контейнером, внутри которого может перемещаться объект. В качестве такого выберем объект Shape (Фигура), основными свойствами которого являются:

  • stCircle — крут;
  • stEllipse — эллипс;
  • stRectangle — прямоугольник;
  • stRoundRect — прямоугольник со скругленными углами;
  • stRoundSquare — квадрат со скругленными углами;
  • stSquare — квадрат.

Для задания цвета и способа заливки используется свойство Brush (Кисть).

Объект Shape перемещается с помощью изменения координат фигуры на панели, т. е. изменения свойств Left и Тор: к Left прибавляется величина смещения по оси Ох — dx, а к Тор — величина смещения по оси Оу — dy. Тогда фигура будет двигаться по прямой, по направлению вектора (dx, dy).

Чтобы фигура отражалась от границ панели, необходимо в момент соприкосновения фигуры с вертикальными границами менять знак dx, а при соприкосновении фигуры с горизонтальными границами — знак dy на противоположный. При написании процедуры следует учитывать, что правая и нижняя границы фигуры вычисляются по формулам Left + Width и Тор + Height соответственно.

implementation.

const.

dx: integer = 5;

dy: integer = 5; { значения должны сохраняться между вызовами }

{$R *.dfm}

procedure TForml. TimerlTimer (Sender: TObject);

begin.

with Shapel do begin.

if (Left = Panell. Width) then dx := -dx;

Left := Left + dx;

if (Top = Panell. Height) then dy := -dy;

Top := Top + dy; end;

end;

Кнопка «Пуск» включает таймер: свойство Timerl. Enabled = False. Кнопка «Стоп» выключает таймер: свойство Timerl. Enabled = True. Начальное значение свойства, равное False, устанавливается в Инспекторе объектов. Тогда при запуске программы шарик двигаться не будет, так как нет сигналов от таймера.

Движение начнется при нажатии кнопки «Пуск» и прекратится при нажатии кнопки «Стоп».

Окно разработанной программы.

Рис. 81. Окно разработанной программы

Показать весь текст
Заполнить форму текущей работой