Пишем программы на Delphi. «Бегающая» кнопка
Многие начинающие программисты мечтают написать программу «шутку». В рунете есть очень много шуточных программ.
Например «Бегающая» кнопка. Сегодня я опишу как написать такую программу.
Создание формы
Для начала создадим форму для приложения:
File >> New >> Application
Далее создадим текст где и будет наш вопрос: Нажмите на кнопку «А».
Текстовую строку создали, отлично!
Сейчас создадим две кнопки:
Нам нужно изменить текст строки и текст кнопки. Нажмём на кнопку\текст. В окошке «Object Inspector» ищем вкладку «Caption». Там мы меняем текст кнопки\текстовой строки.
Создание формы окончено.
Написание кода программы
Мы начнём с кнопки «Да». Клацните два раза по кнопке. Там мы увидим форму, где можно ввести наш код. Там мы введём код:
1 | ShowMessage( 'Я знал что ты идиот' ); |
Когда приложение запуститься, при нажатии на «Да» выскочит сообщение: «Я знал что ты идиот».
Перейдём к кнопке «Нет». Клацните два раза по кнопке. В форме введём:
1 | ShowMessage( 'Ты действительно не идиот' ); |
Вы спросите: «А где код „убегающей“ кнопки?». А это самое интересное!.. Переходим в окошко «Object Inspector». Там будет вкладочка «Events». Во вкладке ищем: «On MouseMove» и клацаем по пустому полю два раза.
В этом поле вводим:
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 | 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» введите
1 | var index : Integer ; |
Ну и всё! Наша программа готова! Нажимаем кнопку «Play» которая находиться на панели, и радуемся!
Я приложил исходник этой программы в случае если что то не получиться: Скачать