- •Оглавление Оглавление
- •Теоретические основы Визуального программирования.
- •Лабораторная работа №1 Знакомство со средой Dеlphi.
- •Лабораторная работа №2. Объекты: Кнопка. Label
- •Лабораторная работа № 3. Свойства Объектов.
- •Лабораторная работа № 4. Программирование линейной структуры
- •Лабораторная работа №5. Оператор ветвление в дельфи..
- •Лабораторная работа №6. Оператор ветвление в дельфи.
- •Лабораторная работа № 7 Программа "Квадратное уравнение"
- •Лабораторная работа № 8 «Программы с циклами в Delphi»
- •Лабораторная работа № 9 «Программа "Вклад"»
- •Лабораторная работа № 10 «Целочисленный Калькулятор».
- •Лабораторная работа № 11 «Графика в Дельфи».
- •Вывод текста
- •Лабораторная работа № 1? «Графика в цикле».
- •Лабораторная работа № 1? «Графика в цикле». ?????????
- •Лаб работа . Дополнительный материал по теме графика.
- •Лабораторная работа №12. Обработка событий в графике.
- •Лабораторная работа № 13 «Графика в Дельфи».
- •Лабораторная работа № 14 «Графика в Дельфи». Продолжение
- •Лабораторная работа № Светофор
- •Лабораторная работа № Летающий шарик.
- •Лабораторная работа Вывод графиков функций в Delphi
- •Лабораторная работа Построение графиков в среде Delphi.
- •Лабораторная работа № Метод базовой точки. Кораблик
- •Лабораторная работа № Метод базовой точки. Машина
- •Лабораторная работа Битовые образы
- •Самостоятельные программы
- •1. События и обработка событий
- •14. Работа с графикой в окне формы
Лабораторная работа № 3. Свойства Объектов.
Итак, мы научились изменять свойства компонентов во время проектирования программы. Но иногда бывает нужно что-то изменить уже в процессе работы программы. Например, поменять название на кнопке, изменить размер и цвет формы и т.п.?
1. Свойства компонентов можно изменять во время работы приложения, т.е. программно. Для этого надо написать строку, в которой свойству с помощью оператора := присваивается нужное значение.
р |
Два раза щелкните по кнопке Button2 и между строками begin ... end введите: button1.Left :=250;
Составное имя button1.Left необходимо для указания компилятору, о каком объекте идет речь: в нашем примере используются 3 компонента (форма и 2 кнопки) и каждый из них имеет свойство Left; префикс Button2 заставляет изменить это свойство у кнопки с именем Button2.
Запустите программу. Так изменяются свойства объекта не с помощью Инспектора Объектов, а в режиме выполнения, программно.
Закройте программу. Вы вернетесь в режим проектирования. Откройте модуль программы- это то окно, которое находится позади формы, щелкнув по нему мышью или нажав F12.
Д
авайте
внимательно посмотрим на это окно —
код вашей программы. Наш файл, пока не
сохраненный называется Unit1:
В программе используются 3 объекта: форма с именем Form1 и 2 кнопки с именами Button1 и Button2.
В
программе используется только одна
процедура- процедура обработки щелчка
второй кнопки.
Текст самих процедур записывается после раздела implementation и заключается в конструкцию begin...end.
Самостоятельно:
измените программу так, чтобы при нажатии на первую кнопку форма приобретала красный цвет, а при нажатии на вторую кнопку: синий и посмотрите как меняется окно кода.
Написать программу "Нажималка".
2. Создать программу, на экране которой изображена кнопка. При нажатии на нее кнопка должна перепрыгивать на 100 пикселов вправо.
Откройте Delphi. Поместите на форму кнопку.
Теперь давайте рассуждать. Надо чтобы при нажатии на кнопку она перемещалась на 100 единиц вправо, т. е. реагировала на щелчок. Следовательно, надо написать обработчик нажатия клавиши.
В Object Inspector (инспекторе объектов) перейдите на вкладку Events (События) и щелкните 2 раза напротив поля OnClick (при нажатии).
З
а
положение компонента на форме отвечает
свойство Left. Следовательно, его и
необходимо изменить: В процедуре:
procedure TForm1.Button2Click(Sender: TObject)
Между begin и end напишите: button1. Left := 100;
Напомню в информатике приходится иметь дело с выражениями типа: x := x+1; С точки зрения математики тождество ложное, в информатике же это значит, что нужно взять из переменной х число, прибавить к нему 1 , и результат опять поместить в эту переменную. (Переменная играет роль ящика, в который складывают или берут числа).
Запустите программу, проверьте, работает ли кнопка.
Оказывается, работает, если нажать один раз. Во второй раз она уже не двигается. Чтобы передвинуть кнопку еще на 100 пикселов надо написать button1.Left := 200;
Попробуйте. Запустите программу, проверьте. Кнопка переместилась сразу на 200 пикселей. Программа сделает эти два оператора, но ВЫ не увидите, потому что скорость выполнения огромна. Нужно придумывать что-либо другое.
Сотрите предыдущие операторы и на их месте наберите: Button1.left:= Button1.left+200;
Программа должна взять из переменной button1.left число, прибавить к нему 200 и результат опять поместить в эту переменную.
Запустите программу, попробуйте. Программа должна работать как надо.
Запомните этот прием. Он применяется очень часто.
3. Одно из самых используемых свойств любого компонента- видимость. С помощью него можно до поры спрятать какой-либо элемент. Задача: написать программу, в которой кнопка при нажатии на нее скачет по периметру формы, перемещаясь по часовой стрелке.
Наша задача создать такую же программу.
рис 1. |
На форму поместите 8 кнопок, как на рис.1
Надпись и размеры кнопок должны быть одинаковыми. Для этого нужно выделять кнопки по очереди и изменять их свойство Caption. Но придется 8 раз делать одно и тоже. Процедура займет некоторое время. Есть другой способ. Выделите все кнопки и измените необходимые значения. Нажмите клавишу SHIFT и щелкайте мышкой по очереди все кнопки.
Выберите в Object Inspector свойство Caption и измените его на такое: Нажми меня.
Свойство Visible для всех кнопок поставьте равным False (Их не будет видно в начале).
Снимите выделение со всех кнопок, щелкнув на любом месте формы.
Выделите 1-ую кнопку, щелкнув по ней мышью, и свойство Visible этой кнопки поставьте True. Именно первая кнопка будет видна после загрузки.
Запустите программу. Если на вашей форме видна только одна первая кнопка, значит все сделано верно.
Закройте программу и вернитесь в режим проектирования.
Теперь дело за программированием.
Создадим имитацию прыжка. Сделаем видимой кнопку 2, а кнопку 1 спрячем.
Двойным щелчком по кнопке 1 войдите в обработчик события.
Допишите между begin … end; следующее:
procedure TForm1.Button1Click(Sender: TObject);
begin
button1.Visible:=false;
button2.Visible:=true;
end;
Запустите программу. Проверьте. После щелчка на кнопке, кнопка 1 исчезает, а 2-ая кнопка появляется, а создается ощущение, что прыгнула 1-ая кнопка.
Для второй кнопки обработчик такой: 2-ую кнопку прячем, 3-ью показываем. И т.д…
Сделайте это самостоятельно.

ис
1.