Главная страница

Практич.22. Практическая работа 22. Задача об обмене валюты объекты поля редактирования, переключатели и их свойства


Скачать 87 Kb.
НазваниеПрактическая работа 22. Задача об обмене валюты объекты поля редактирования, переключатели и их свойства
Дата24.07.2018
Размер87 Kb.
Формат файлаdoc
Имя файлаПрактич.22.doc
ТипПрактическая работа
#48784

Delphi

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 22.

ЗАДАЧА ОБ ОБМЕНЕ ВАЛЮТЫ


Объекты: поля редактирования, переключатели и их свойства.

Программирование ветвлений.



Цель работы. Создать форму с названием «Обмен валюты» для моделирования соответствующих операций обменного пункта. Применить поля редактирования (Edit) и переключатели (RadioButton, радиокнопка), а также кнопки для выполнения вы­числений и выхода из программы (см. образец формы на рис. 2).

Теоретические сведения. Объект поле редактирования (Edit) используют для ввода строки символов с клавиатуры. В случае необходимости для преобразования полученной строки (свойство Text) в число и наоборот применяют стандартные функции языка Pascal Val и Str, или функции среды Delphi StrToFloat и FloatToStr. Кроме уже известных вам свойств, поля редактирова­ния Edit обладают такими:

Свойство

Описание свойства




Примеры значении


CharCase


Вид символов, которые будут вводить в поле редактирования


ecNormal (обычные),

ecUpperCase (прописные буквы),

ecLowerCase (строчные буквы)


Ctl3D


Объемное изображение объекта


True, False


Pass-wordChar


Символ для ввода пароля


#0 (обычное отображение текста), *(текст будет отображаться звездочками), 0 (текст будет отображаться нулями)


ReadOnly


Возможность менять текст (доступность поля)


True (текст нельзя менять),

False (текст можно менять)


Hint


Текст подсказки, ко­торый появляется при наведении указателя мыши


«Введите сумму» (произвольная строка символов)


ShowHint


Показывать/Не пока­зывать подсказку


True, False


Text


Текст в поле редакти­рования


«0,0001» (произвольная строка символов)



Объект переключатель (RadioButton) используют для выбора некоторого действия среди нескольких альтернатив. Рассмотрим такие свойства переключателей:

Свойство


Описание свойства


Примеры значений


Checked


Состояние пе­реключателя


True (выбранный). False (не выбранный)


TabOrder


Порядок вы­бора объекта клавишей Tab


0 (первый), 4 (пятый)


TabStop


Доступ к дан­ному объекту табулятором


True (доступный), False (не доступный)




Ход работы


1. Загрузите среду визуального программирования Delphi.

2.Откажитесь от возможности изменять размеры окна про­граммы, указав значение свойства формы BorderStyle - bsDialog.

Задав это значение, выполните программу и убедитесь, что нельзя изменить размер формы. Обратите внимание на отсутствие кнопок для минимизации и максимизации окна, а также системного меню. Завершите работу программы.

3. Вставьте в форму два объекта типа RadioButton (переклю­чатель), как показано на рис. 1.

Для этого щелкните на пиктограмме объекта типа RadioButton (переключатель), которая находится на закладке Standard палитры компонентов главного окна Delphi. После этого щелкните в точке вставки на форме. Повторите эти действия, чтобы вставить вторую радиокнопку.

4. Задайте начальное значение второго переключателя как активное.

Для этого щелкните на правом переключателе и задайте значе­ние его свойства Checked (контроль выбора) – True.

5. Вставьте в форму два поля редактирования — объекты Edit1 и Edit2.

Для этого щелкните на пиктограмме объекта типа Edit (редак­тирование), которая находится на закладке Standard палитры ком­понентов, а потом щелкните в нужном месте на форме. Вставьте вто­рой объект (рис. 1). Запустите программу и поупражняйтесь со вставленными объектами: щелкните в поле редактирования, введите некоторое число, удалите его. Закройте окно программы.

6. Разместите на форме два текстовых поля — объекты Label1и Label2 (рис. 1).

7. Вставьте в форму два поля редактированияобъекты Edit3 и Edit4 (рис. 1).

8. Вставьте две кнопки — объекты типа Button (рис. 1).

9. Вставьте в форму еще два текстовых поля - объекты Label3 и Label4 (рис. 1).

рис.1.





10. Сохраните созданную на данный момент форму в своей папке.

File ==> Save All. Файлы текста программы и проекта назовите разными именами. Имена запишите в отчет. В дальнейшем периодически, в частности перед очередными запусками проекта на выполнение, сохраняйте файлы программы (File ==> Save All, вводить имена файлов уже не нужно.Г

11. Поменяйте название формы с «Form1» на «Обмен валюты».д

Для этого замените значения свойства Caption формы. Щелкните на свойстве Caption окна Object Inspector. Введите название формы без кавычек. Обратите внимание на то, что для объектов многих типов (в частности. Label, Button, Form, RadioButton, CheckBox и других) значения свойств Caption и Name совпадают.

12. Измените подписи Caption на объектах типа RadioButton, Label и Button так, как показано на рис. 2.

Д
ля этого поочередно выбирайте объекты (щелкайте на них) и меняйте значения свойства Caption.
рис.2.

13. Задайте одинаковые размеры для всех текстовых полей, по­лей редактирования и кнопок и выровняйте их на форме.

Для этого одновременно выделите пять объектов в левом столб­це одним из способов:

• удерживая нажатой клавишу Shift, поочередно активизи­руйте объекты, щелкая на них левой клавишей мыши;

• обведите вокруг этих объектов контур, удерживая нажа­той левую клавишу мыши.

В окне Object Inspector задайте общие для этих объектов зна­чения в пикселях свойств Width (ширина), Height (высота) и Left (отступ от левой границы окна). После выбора некоторого свойст­ва группы объектов его значением является значения соответствующего свойства первого объекта в группе. Можете изменить стиль, цвет или размер шрифта одновременно для всех выделен­ных объектов (свойство Font). Снять выделение можно, щелкнув на свободном месте формы. Аналогично выполняется выравнива­ние правого столбца объектов.

Выровняйте вставленные поля попарно в горизонтальном на­правлении. Для этого поменяйте значение свойства Тор (отступ от верхней границы окна в пикселях) для соответствующих групп объектов. Сохраните работу (Save All).

14. Задайте значения курсов купли-продажи валюты, а также сколько валюты кантор покупает или продает.

Для этого задайте значение свойства Text объекта Edit1, на­пример, 5.25. Повторите это для объекта Edit2 (значение 5.45) и Edit3 (20).

15. Очистите поле редактирования Edit4.

Для этого удалите значение свойства Text объекта Edit4. Не путайте значения свойств Name и Text этих объектов.

16. Заблокируйте возможность ввода данных для поля Edit4, поскольку в это поле будет выводиться результат.

Для этого задайте значение свойства Enabled (доступность) - False. Изменять значение определенного свойства можно, дважды щелкнув на нём левой клавишей мыши. Сохраните работу (Save All). Выполните программу и убедитесь, что нельзя ввести или редактировать данные в поле Edit4.

17. Запрограммируйте радиокнопки так, чтобы направление стрелки менялось и указывало на вид операции: купля или продажа. Сделайте активным поле Edit3.

Щелкните дважды на правом переключателе RadioButton2 (Продажа). Получите заготовку процедуры RadioButton2Click. В теле этой процедуры опишите действия, которые должны быть выполнены в результате щелчка на правом переключателе RadioButton2:

procedure Tform1.RadioButton2Click(Sender: Tobject);

begin

{Меняем направление стрелки}

Label1.Caption := '=>';

Edit3.SetFocus {Активизируемполе Edit3}

end;

Аналогично запрограммируйте событие Click для переключателя RadioButtonl. Учтите, что стрелка должна показывать на ле­вое поле ('<='). 1

Фрагмент программного кода созданной процедуры, запишите в отчет.

18. Запустите программу и убедитесь, что переключатели вы­полняют предписанные им функции.

19. Запрограммируйте кнопку «Выход».

Воспользуйтесь процедурой закрытия окна программы Close:

procedure Tform1 .Button2Click(Sender: TObject);

begin

Close {Закрываем окно программы}

end;

20. Запрограммируйте кнопку «Вычислить».

Данное в поле редактирования - это значение свойства Text типа string. Для преобразования этого данного в числовой дейст­вительный тип (real) воспользуйтесь процедурой Val, а наоборот - про­цедурой Str. Опишите соответствующие основные (kurs, suma) и до­полнительные (cod, ed) переменные в разделе var.

procedure Tforml.ButtonlClick(Sender: TObject);

var kurs1, kurs2, summa : real;

cod : integer;

ed : string[9];

begin

{Получаем значения курса покупки}

Val (Edit1.Text, kurs1, cod);

{Получаем значения курса пробами}

Val (Edit2.Text, kurs2, cod);

{Получаем числовое значение суммы, в USD}

Val (Edit3.Text, summa, cod);

if RadioButton2.Checked = True then

summa: = summa * kurs2

else summa := summa * kurs1;

Str(summa:9:2, ed);

Edit4.Text := ed;

{Полученное число суммы, в гривнах преобразовываем в текстовый формат и результат, присваиваем свойст­ву Text поля вывода Edit4}

end;

21. Сохраните работу (Save All);

22. Выполните программу и поупражняйтесь с разными денеж­ными суммами и операциями купли — продажи. Закройте окно программы «Обмен валюты».

Для прерывания работы программы в случае неправильного ввода входных данных выполните пункт главного меню Run => Program Reset.

23. Измените размеры и цвета символов (в частности объектов Label1 и Edit3), расположение объектов, фон формы (свой­ство Color) так, чтобы форма выглядела как можно лучше.

24. Обеспечьте появление подсказки «Введите сумму в долла­рах» после перемещения указателя мыши к полю Edit3.

Выберите объект Edit3 и установите значение True для свойства ShowHint, а в поле значения свойства Hint введите текст подсказки. Сохраните работу, запустите программу и убедитесь, что подсказка появляется.

25. Поменяйте вид стрелки с => на '', а <= на ''.

Для этого выберите объект Label1и в поле значения свойства Caption введите русскую букву р, после чего, активизировав свой­ство Font, выберите название шрифта Wingdings. Дважды щелк­ните на правом переключателе и в его процедуре введите русскую букву р вместо =>. В процедуре для левого переключателя симво­лы <=: замените буквой п. Сохраните работу, запустите программу и убедитесь, что стрелка изменила свой вид.

26. Создайте ехе-файл Вашей программы.

Выполните пункт главного меню Project => Build All.

27. Закройте среду Delphi, запустите созданную программу и выполните вычисления для разных входных данных.

Запустите ехе-файл с именем проекта и пиктограммой из своей папки.

28. Продемонстрируйте созданную форму преподавателю. Закончите работу.

Замечание. Обратите внимание на использование запятой или точки во входных данных. В числах, которые указывают кур­сы валют, сумму гривней или долларов, для десятичной точки используйте символ, предусмотренный операционной системой вашего компьютера (см. Start (Пуск) ==> Settings (Настройка)=> Control Panel (Панель управления) => Regional Settings (Язык и стандарты) ==> закладка Number (Числа), строка Decimal symbol (Разделитель целой и дробной частей числа)).

Задача 2.1. Вставьте в созданную форму ещё одну кнопку для очистки полей денежных сумм. Выполните программу и убеди­тесь в правильности ее работы.

Подсказка. Для объектов Edit3, Edit4 в процедуре обработки события нажатия на кнопку очистки используйте команду при­сваивания их свойствам Text пустой строки (' ') .

Задача 2.2. Обеспечьте появление подсказки «Введите курс купли» и «Введите курс продажи» после перемещения указателя мыши к полям Edit1и Edit2 соответственно (см. п. 24).

Задача 2.3. В процедуре для кнопки «Вычислить» предусмот­рите 1% сбора в пенсионный фонд от операции продажи.

Задача 2.4. Модифицируйте программу, введя дополнитель­ную возможность: после щелчка мышью на стрелке изменяется тип операции (купля, продажа). Запишите в отчет фрагмент про­граммного кода, реализующий эту возможность. Выполните про­грамму.

Подсказка. Для этого дважды щелкните на текстовом поле стрелки. Откроется окно программного кода с заготовкой проце­дуры Label1Click (описание действий в случае щелканья на объек­те Label3). В теле этой процедуры можно воспользоваться коман­дами вида:

if RadioButtonl.Checked=True then

begin

 {Меняем направление стрелкина => для Label1.Caption}

 {Устанавливаем переключатель в правое положение,

меняя значение свойств Checked объектов

 RadioButton1 и RadioButton2}

end

else

begin

 {Устанавливаем направление стрелки <=}

 {Устанавливаем переключатель в левое положение,

меняя значения свойств Checked объектов

 RadioButtonI и RadioButton2}

end;
Задача 2.5. Упростите форму (удалите лишние объекты) и измените код кнопки «Вычислить» так, чтобы ее можно было использовать для перевода миль в километры или наоборот в зависимости от положения переключателя (1 миля = 1,609344 километров).
Задача 2.6. В созданную для задачи 2.5. форму вставьте объект Группу переключателей (RadioGroup) для выбора типа мили из двух возможных значений: морской или обычной (1 морская миля = 1,852 километров).

Подсказка. Чтобы ввести подписи к переключателям используйте свойство Items группы переключателей RadioGroup, а для контроля выбора определенного переключателя воспользуйтесь свойством Itemlndex (равняется -1, если ни один не выбран, 0 если выбран первый переключатель группы, 1 - если второй и т.д.)

НПК 2002

Юрченкова М.А.


написать администратору сайта