Среда визуального программирования Delphi
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Лабораторная работа № 34

Среда визуального программирования Delphi.

Использование компонентов отображения и редактирования

Цель работы: изучить среду визуального программирования Delphi. Дать понятие визуального конструирования формы с использованием компонентов отображения и динамическое изменение свойств компонентов

Ход работы

Создание графического интерфейса объекта. Создать приложение, в котором после запуска на форме печатается некоторый текст, например, «Первый проект на языке Delphi».

Создадим заготовку проекта, для этого свойству Caption (заголовок) формы Form1 присвоим значение “Первый проект’. Для этого активизировать форму Form 1 щелчком мыши (чтобы вокруг компонента появились черные квадратики – маркеры для изменения размера). В окне Object Inspector (Инспектор объектов) → Properties (Свойств объекта) выбрать свойство С aption и присвоить ему значение «Первый проект» (написать в ячейке справа от Caption Первый проект).

Выведем на форму текстовое сообщение. Это можно сделать различными способами:

· С помощью элемента управления Label (Метка)

· С помощью элемента управления Edit (Одна строка)

· С помощью элемента управления Memo (Несколько строк)

Разместим на форме метку Label 1 и присвоим свойству С aption (Надпись) значение выводимого текстового сообщения

1.Выбрать на Панели инструментов класс управляющих элементов T Label и разместить экземпляр метки Label 1 на форме Form 1

2.Активизировать метку Label 1 щелчком мыши. В окне Object Inspector (Инспектор объектов)Properties (Свойства объекта) выбрать свойство Caption (заголовок) и присвоить ему значение ‘Первый проект на языке Delphi’.

Разместим на форме текстовое поле Edit 1 и присвоим свойству Text значение выводимого сообщения (сделать самостоятельно)

Событийные процедуры. Любой объект можно связать с набором процедур, исполняемых при наступлении определенных событий, такие процедуры называют событийными процедурами

Двойной щелчок мышью по объекту вызывает окно Программного кода (Unit) с пустой заготовкой событийной процедуры (метода). Если осуществить двойной щелчок по метке Memo 1, то появится заготовка событийной процедуры TForm 1. Memo 1 Change (…); (эта надпись появляется автоматически!)

procedure TForm1.Memo1Change(Sender: TObject);

begin

… end;

В теле процедуры (между служебными словами begin и end) должен быть записан метод, т.е. последовательность операторов, которые будут выполняться при наступлении событий (нажатии на Memo 1)

Выбрать на Панели инструментов класс управляющих элементов TMemo и разместить экземпляр многострочного редактора Memo 1 на форме Form 1. В свойстве Lines удалить существующую надпись Memo 1. (щелкнув по многострочному полю Memo 1, кликнуть напротив свойства Lines и удалить там надпись Memo 1).

Активизировать Memo 1 двойным щелчком мыши, тем самым вызвать окно Программного кода с пустой процедурой TForm 1. Memo 1. Change (…); (эта надпись появляется автоматически)

В теле процедуры записать

Memo 1.Text:='Второй проект на языке Delphi';

т.е. при запуске программы, щелкнув по Memo 1, появится надпись «Второй проект на языке Delphi»

Использование кнопок. Обычно, при работе с событийными процедурами используют Кнопки (TButton). Логично, что при нажатии на кнопку с определенным именем происходит какое-либо действие. Теперь необходимо решить предыдущую задачу, но с помощью Кнопки. В дальнейшем большинство задач будет решаться при обработке события OnClick – двойной щелчок по кнопке.

Выбрать на Панели инструментов класс управляющих элементов Button и разместить экземпляр кнопки Button 1 на форме Form 1

Выбрать на Панели инструментов класс управляющих элементов T Label и разместить экземпляр метки Label2 на форме Form1

Активизировать кнопку Button1. В окне Свойств объекта выбрать свойство Caption и присвоить ему значение Моя кнопка (щелкнув по кнопке Button1, написать в колонке Properties Моя Кнопка в ячейке справа от Caption).

Активизировать Button1 двойным щелчком мыши, тем самым вызвать окно Программного кода с пустой процедурой TForm1.Button1Click(Sender: TObject); (эта надпись появляется автоматически)

В теле процедуры записать Label2. Caption :='Третий проект на языке Delphi';

т.е. при запуске программы, щелкнув по Моей кнопке, появится надпись на метке Label2 «Третий проект на языке Delphi»

Выход из программы легко осуществлять записывая в событийной процедуре оператор Close;

Установка цвета формы и параметров шрифта. Сделаем внешний вид более привлекательным и для этого изменим свойства объектов, определяющих их внешний вид.

Активизировать форму Form1. В окне свойства объекта выбрать свойство Сolor (цвет фона) и двойным щелчком открыть диалоговое окно с цветовой палитрой. Выбрать цвет, например желтый.

Активизировать метку Label1. В окне свойства объекта установить значения Color – синий, FontArial, жирный, 26 размер, травяной цвет символов.

Поэкспериментировать с объектами Memo1, Edit1, Label2

Для того, чтобы менять параметры шрифта с помощью кнопки при запуске программы необходимо в событийной процедуре указать, например Label2.Font.Size:=30; Label2.Font.Сolor:=clWhite; Т.е. при нажатии на кнопку размер шрифта метки 2 станет равным 30, а цвет - белым.

Для изменения начертания шрифта пишем

· Label2.Font.Style:=fsbold; {полужирный},

· Label2.Font.Style:=fsitalic; { курсив },

· Label2.Font.Style:=fsunderline; { полужирный }.

Если необходимо поменять шрифт пишем Label2.Font.Name:=’Arial’; {Arial} или Label2.Font.Name:=’Times New Roman’; {Times New Roman}

Задание для самостоятельной работы:

1. Создать проект «Вывод сообщений», в котором на форму выводится текстовое сообщение «Первое задание выполнено!» с помощью метки, одной строки и многострочного редактора, а выход из программы осуществляется щелчком по кнопке Выход. Придумать графический интерфейс программе.

2. Создать проект «Вывод сообщений в строку», в котором два различных варианта текста выводятся в строку Edit1 по щелчку по двум кнопкам. Предусмотреть возможность выхода из программы по третьей кнопке.

3. Создать проект «Печать на форме», в котором в нескольких метках при нажатии на кнопки тексты будут со следующими параметрами:

· «Times New Roman, 18, курсив, красный»

· «Courier New, 40, полужирный, зеленый»

· «Arial, 22, подчеркнутый, синий»

· «Webdings, 12, подчеркнутый курсив, желтый»

· «Monotype Corsiva, 32, полужирный»

Ход работы

1. На вашей форме после запуска должна появиться следующая информация: Заголовок формы – «Лабораторная работа 15». На форме – ваши ФИО, группа и кнопка Выход.

Заметки:

? – нельзя менять Form1 в параметре Name. Значение свойства Name для любых компонентов является идентификатором и используется для обращения к объекту в коде программы. Вам пока не надо менять стандартные значения.

 

 

 


 

? – цвет фона и шрифта не изменяется для компонента Button вкладки Standard.

 

Close не обязательно писать с заглавной буквы. Delphi понимает команды – английские слова, в любом сочетании, например: заглавная, прописная, заглавная … и т.д.



Сохранение проекта

Возможны как минимум три варианта:

  1. Меню File, строка Save All с подсказкой горячих клавиш Shift+Ctrl+S;
  2. Щёлкнуть по иконке двух дискет ;
  3. Shift+Ctrl+S.

После любого из этих вариантов в первый раз Delphi попросит вас сохранить с начала форму – Unit1 c расширением pas, а затем проект – Project1 c расширением dpr ( D elphi pr oject ). В дальнейшем запросов на ввод имени проекта и формы не будет. Кнопка двух дискет будет недоступной, если не было никаких изменений ни в проекте, ни на/в форме. Если кнопка двух дискет будет доступна, следовательно, перед запуском нужно сохранить изменения – это хороший стиль отладки.

? – Сохраняйте каждый свой проект в отдельной папке.

? – Не переименовывайте пока стандартные названия проекта и форм.

Код программы

 

Рассмотрим код процедуры Click для кнопки “определить”:

procedure TForm1.Button1Click(Sender: TObject);

Var

a , b : integer ;

Begin

// В переменные a и b заносим целочисленные

//значения

 a := StrToInt(Edit1.Text);

 b := StrToInt(Edit2.Text);

 Label5.Caption := IntToStr(a + b);

End;

Код программы

 

Процедура Click для кнопки ОПРЕДЕЛИТЬ с дополнительным заданием

procedure TForm1.Button1Click(Sender: TObject);

Begin

 a := strtofloat(edit1.Text); { получаем число }

if a < 0 then { не полная форма оператора ветвления }

a := -a;

 Label5.Caption := floattostr(a);

end;

Индивидуальные задания:

6. Создать проект «Оптимальный вес». Ответ должен выводиться в окне сообщения.

 

7. Создать проект «Стоимость поездки на дачу». После щелчка на кнопке «Вычислить» должно появляться окно сообщения с вопросом «Туда и обратно?». Ответ вывести в поле Edit.

8. Дмитрию задали на дом решить несколько примеров по математике. Помогите ему проверить свои вычисления:

a) 28,1 – 36,8 : (50,08 + 49,92)

b) 54 x 3465 – 9025 : 95 + 360 272 : 712

c) (32,24 x 0,32 + 366,032 x 0,1) : 23

d) 62,92 : 5,2 – 4,2 x (7 – 6,3)

 

  1. Марианну попросили составить программу вычисления следующих математических выражений:

a)

b)

c)

d)

  1. Язык программирования позволяет проще вычислять математические выражения. Для этого сложную конструкцию (дроби, корни и т.д.) нужно представить в виде строчного математического выражения, используя для этого круглые скобки. Попробуйте вычислить следующие математические выражения, округлив данные до трёх цифр в дробной части:

a)

 

b)

 

c)

 

d)

 

11. Катя нашла A грибов, а Слава B. Среди этих грибов оказалось C несъедобных. Сколько съедобных грибов было собрано?

Контрольный пример:

А = 64, В = 89, С = 17, ответ: 136

12. Монгольский воин за 7 секунд выпускает обычную стрелу, а за 10 – зажженную. За какое время воин выпустит А обычных и В зажженных стрел?

Контрольный пример:

4 обычных, 5 зажженных – 78 секунд

13. У фермера дяди Вася в загоне паслись коровы и гуси. Каждый час дядя Вася заходил в загон и подсчитывал количество голов и общее количество ног и лап, не считая людские головы и конечности. После этого он сверял результаты со своими цифрами. Помогите подсчитать фермеру дяде Васе количество голов и количество ног и лап, если известно, что на данный момент в загоне А коров и В гусей.

Контрольный пример:

12 коров, 4 гуся, ответ: 16 голов и 56 ног и лап.

 

14. Для созревания картофеля нужно 90 дней. Прошло N дней после посадки. Можно ли выкапывать картофель?

Контрольный пример:

N – 67, ответ: рано.

N – 90, ответ: можно выкапывать.

*Усложним задачу.

До 85 – “рано”, от 85 до 89, “в принципе можно”, от 90 – 110 дней – “время выкапывать”, более 110 дней – “можешь все проспать”.

15.  Молодой богатырь Данило Забияка решил мир посмотреть и себя показать. Взял с собой он сумму в A рублей (не менее 50). Вот подъезжает он к перекрестку и видит камень, на котором написано, – “налево пойдешь – пол суммы потеряешь и еще 20 рублей, направо пойдешь – утроишь свою сумму”. Данило подумал, что это вранье, да и не пристало добру молодцу кого-то бояться и поехал налево. Все случилось пописанному. Вернулся Данило к перекрестку и решил поехать направо. Снова все получилось, как написано на камне. Интересно – в проигрыше ли оказался Данило?

Контрольный пример:

A = 60     Ответ: в проигрыше

A = 200   Ответ: в выигрыше

16. Сестры подсчитали свои денежные накопления, у них оказались разные суммы. Какая сестра должна дать другой денег и сколько, чтобы у обеих сестер суммы стали равными?

Контрольный пример:

24,50 13, 48 ответ: первая сестра 5,51

20, 30            ответ: вторая сестра 5

17. Коля, Вася и Маша решили купить в столовой комплексный обед (фиксированный набор продуктов, следовательно, фиксированная цена одного обеда) стоимостью A рублей. Смогут ли они купить обед на каждого, если у Коли B рублей, Васи С рублей, а у Маши D рублей?

Контрольный пример:

A = 19,50; B = 4,8;   C = 23,1; D = 20,1 Ответ: нет

A = 19,50; B = 14,8; C = 23,1; D = 20,1 Ответ: да

18. Коля, Вася и Маша собирали ягоды. После окончания сбора Маша решила отдать свои ягоды тому, кто меньше собрал ягод. Если же мальчики собрали одинаковое количество (в литрах), то разделить ягоды поровну. Сколько стало ягод у Коли и Васи, если ребята соответственно собрали A, B и C литров ягод?

Контрольный пример:

3 4,5 4 ответ: 7 4,5

4,5 4,5 6 ответ: 7,5 7,5

 

19. Кролик и бобер участвовали в одной команде по переноске воды из одного блюда в другое, используя соответственно чашку и кружку. Их команда проиграла. Кролик обвинил бобра в том, что тот медленно бегал. На это бобер ответил, что в кружке он за один раз переносил больше воды. Помогите им определить, кто из них прав, если кролик A раз вылил воду из чашки, бобр B раз из кружки? В кружку входило по C мл, а в чашку по D мл.

Контрольный пример:

A = 5 B = 3 C = 50 D = 70 – прав кролик

A = 5 B = 4 C = 50 D = 70 – прав бобёр

A = 7 B = 5 C = 50 D = 70 – оба ошиблись

20. Спроектировать приложение для перевода шкалы температур из Фаренгейта в Цельсия. Использовать для пересчета формулу (x-32) * 5/9 0C

Содержание отчета:

1. Наименование, тема, цель работы.

2. Таблица идентификаторов.

3. Блок-схема алгоритма.

4. Скриншоты выполнения программы на контрольном примере.

5. Код программы.

6. Выводы по работе.

 

Контрольные вопросы:

1. Какая функция переводит строковые данные в вещественные? Какая функция переводит строковые данные в целые? Какая функция переводит вещественные данные в строковые? Какая функция переводит целые данные в строковые?

2. Для запуска формы нужно …? Для сохранения формы и проекта нужно …? Где нельзя ставить символ “;” в операторе ветвления?

3. Сколько операторов можно записать после ключевых слов then и else?

4. Изменяя какой параметр можно вывести различные надписи?

5. Как назначить действие клик – щелчок по кнопке?

6. Для изменения параметров шрифта (цвет, размер, начертание, гарнитура) нужно …

7. Какой математической операции нет в Delphi? Как изменить порядок выполнения операций Delphi? В каком порядке выполняются операции одного приоритета?

8. Назовите стандартные математические функции в Delphi для извлечения квадрата из числа и получения квадрата числа.

9. Какие данные хранит компонент Edit?

10. Как поменять цвет шрифта в Label и Edit? Как создать процедуру Click (щелчок по кнопке)?

 

Лабораторная работа № 34

Среда визуального программирования Delphi.

Дата: 2019-05-28, просмотров: 564.