Практич.22. Практическая работа 22. Задача об обмене валюты объекты поля редактирования, переключатели и их свойства
Скачать 87 Kb.
|
Delphi ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 22.ЗАДАЧА ОБ ОБМЕНЕ ВАЛЮТЫОбъекты: поля редактирования, переключатели и их свойства. Программирование ветвлений.Цель работы. Создать форму с названием «Обмен валюты» для моделирования соответствующих операций обменного пункта. Применить поля редактирования (Edit) и переключатели (RadioButton, радиокнопка), а также кнопки для выполнения вычислений и выхода из программы (см. образец формы на рис. 2). Теоретические сведения. Объект поле редактирования (Edit) используют для ввода строки символов с клавиатуры. В случае необходимости для преобразования полученной строки (свойство Text) в число и наоборот применяют стандартные функции языка Pascal Val и Str, или функции среды Delphi StrToFloat и FloatToStr. Кроме уже известных вам свойств, поля редактирования Edit обладают такими:
Объект переключатель (RadioButton) используют для выбора некоторого действия среди нескольких альтернатив. Рассмотрим такие свойства переключателей:
Ход работы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 Юрченкова М.А. |