Пишем программы на Delphi. «Бегающая» кнопка
Многие начинающие программисты мечтают написать программу «шутку». В рунете есть очень много шуточных программ.
Например «Бегающая» кнопка. Сегодня я опишу как написать такую программу.
Создание формы
Для начала создадим форму для приложения:
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» которая находиться на панели, и радуемся!
Я приложил исходник этой программы в случае если что то не получиться: Скачать