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

26 декабря 2009 г.

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

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

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

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

Текстовую строку создали, отлично!

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

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

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

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

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

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

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

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

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

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

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;


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

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

Теги:
рубрика Программирование
  • Похожие статьи
  • Предыдущие из рубрики