Как стать автором
Обновить

Пишем программы на Delphi. Часть 1. «Бегающая» кнопка

Многие начинающие программисты мечтают написать программу «шутку». В рунете есть очень много шуточных программ.
Например «Бегающая» кнопка. Сегодня я опишу как написать такую программу.

Создание формы

Для начала создадим форму для приложения:
File >> New >> Application

Далее создадим текст где и будет наш вопрос: Нажмите на кнопку «А».
image
Текстовую строку создали, отлично!

Сейчас создадим две кнопки:
image

Нам нужно изменить текст строки и текст кнопки. Нажмём на кнопку\текст. В окошке «Object Inspector» ищем вкладку «Caption». Там мы меняем текст кнопки\текстовой строки.
image

Создание формы окончено.

Написание кода программы

Мы начнём с кнопки «Да». Клацните два раза по кнопке. Там мы увидим форму, где можно ввести наш код. Там мы введём код:

ShowMessage('Я знал что ты идиот');.

Когда приложение запуститься, при нажатии на «Да» выскочит сообщение: «Я знал что ты идиот».

Перейдём к кнопке «Нет». Клацните два раза по кнопке. В форме введём:

ShowMessage('Ты действительно не идиот');.

Вы спросите: «А где код „убегающей“ кнопки?». А это самое интересное!.. Переходим в окошко «Object Inspector». Там будет вкладочка «Events». Во вкладке ищем: «On MouseMove» и клацаем по пустому полю два раза.
image.

В этом поле вводим:

begin
index := random(4); //присваиваем переменной случайное значение от 0 до 3
//в зависимости от значения переменной, выбираем действие
case index of
0: Button1.Left := Button1.Left + Button1.Width; //двигаем кнопку вправо, на значение ширины кнопки
1: Button1.Left := Button1.Left - Button1.Width; //кнопка влево, на значение ширины
2: Button1.Top := Button1.Top + Button1.Height; //кнопка вниз, на значение высоты
3: Button1.Top := Button1.Top - Button1.Height; //кнопка вверх, на значение высоты
end; //case
{Если кнопка вышла за пределы формы, вернем ее в положение 0}
if Button1.Left < 0 then Button1.Left := 0;
if Button1.Top < 0 then Button1.Top := 0;
if (Button1.Left + Button1.Width) > Form1.Width then
Button1.Left := Form1.Width - Button1.Width;
if (Button1.Top + Button1.Height) > Form1.Height then
Button1.Top := Form1.Height - Button1.Height;
end;


Внимание: Перед «begin» введите

var index : Integer;

image

Ну и всё! Наша программа готова! Нажимаем кнопку «Play» которая находиться на панели, и радуемся!
image

Я приложил исходник этой программы в случае если чтото не получиться: Скачать

Спасибо за прочтение статьи!
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.