ПРОЕКТ ПРИЛОЖЕНИЯ№ 2. ЗАДАЧА ОБ ОБМЕНЕ ВАЛЮТЫ

 

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

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

Окно программы :

 

Код программы :   Комментарии к программе
unit Unit1; Заголовок модуля
interface Раздел декларации процедур и функций
uses Список использованных модулей
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;  
type Описание классов и типов объекта TFORM1
TForm1 = class(TForm)  
RadioButton1: TRadioButton; Компонента переключатель
RadioButton2: TRadioButton; Компонента переключатель
Label1: TLabel; Компонента метка
Label2: TLabel; Компонента метка
Button1: TButton; Компонента кнопка
Button2: TButton; Компонента кнопка
Label4: TLabel; Компонента метка
Label5: TLabel; Компонента метка
Edit1: TEdit; Поле ввода
Edit3: TEdit; Поле ввода
Edit2: TEdit; Поле ввода
Edit4: TEdit; Поле ввода
Button3: TButton; Компонента кнопка
Button4: TButton; Компонента кнопка
procedure RadioButton2Click(Sender: TObject); Заголовок процедуры-метода , которая выполняется при щелчке по компоненте переключатель RadioButton2
procedure Button2Click(Sender: TObject); Заголовок процедуры – метода, которая выполняется при щелчке по кнопке Button2
procedure Button1Click(Sender: TObject); Заголовок процедуры , которая выполняется при щелчке по кнопке Button1
procedure RadioButton1Click(Sender: TObject); Заголовок процедуры-метода , которая выполняется при щелчке по компоненте переключатель RadioButton1
procedure Button3Click(Sender: TObject); Заголовок процедуры , которая выполняется при щелчке по кнопке Button3
procedure Label4Click(Sender: TObject); Заголовок процедуры , которая выполняется при щелчке по метке Label4
procedure Button4Click(Sender: TObject); Заголовок процедуры , которая выполняется при щелчке по кнопке Button1
private Раздел частные объявления
{ Private declarations }  
public Раздел общедоступные объявления
{ Public declarations }  
end; Конец описания типа Tform1
var Описание глобальных переменных
Form1: TForm1; Основная форма
kurs1, kurs2, summa : real;   cod : integer;     ed : string[9]; Значение введенного курса 1-долара, курса2-рублей, и итоговая сумма Значение правильного преобразования строки в число, используется в процедурах Val (Edit3.Text, summa, cod); Текстовое значение вычисленной суммы SUMMA, используется при выводе Edit4.Text := ed;
implementation Раздел описаний процедур и функций
uses Unit2; Подключение второго модуля
{$R *.dfm} Добавление файла с описанием формы
procedure TForm1.RadioButton2Click(Sender: TObject); Заголовок процедуры
begin Начало процедуры
Label4.Caption := 'р'; В содержимое метки Label4 выводится символ 'р'
Edit3.SetFocus; Передается управление компоненте EDIT3
end; Конец тела процедуры
procedure TForm1.Button2Click(Sender: TObject); Заголовок второй процедуры
begin Начало процедуры
Close ; Метод закрытие окна формы, приводит к завершению работы программы
end; Конец тела процедуры
procedure TForm1.Button1Click(Sender: TObject); Заголовок процедуры
begin Начало процедуры
Val (Edit1.Text, kurs1, cod); Процедура преобразование строкового типа данных Edit1.Text в числовой kurs1, признак успешного перевода- cod
Val (Edit2.Text, kurs2, cod); Процедура преобразование строкового типа данных Edit12.Text в числовой kurs1, признак успешного перевода- cod
Val (Edit3.Text, summa, cod); Процедура преобразование строкового типа данных Edit3.Text в числовой kurs1, признак успешного перевода- cod
if RadioButton2.Checked = True then summa:= summa * kurs2 else summa := summa * kurs1; Оператор условия, реализующий разветвляющийся алгоритм - альтернатива
summa:=summa-summa/100; Вычисляется сумма денег с вычетом 1%
Str(summa:9:2, ed); Edit4.Text := ed; Процедура преобразования числового значения Summa в текстовое Ed
end; Конец тела процедуры
procedure TForm1.RadioButton1Click(Sender: TObject); И так далее по всем командам модуля
begin  
Label4.Caption := 'п';  
Edit3.SetFocus;  
end;  
procedure TForm1.Button3Click(Sender: TObject);  
begin  
Edit1.Text:=' ';  
Edit2.Text:=' ';  
edit3.Text:=' ';  
Edit4.Text:=' ';  
end;  
procedure TForm1.Label4Click(Sender: TObject);  
begin  
if RadioButton2.Checked=false then  
begin  
Label4.Caption:='п';  
RadioButton1.Checked:=False;  
RadioButton2.Checked:=True;  
end  
else  
begin  
Label4.Caption:='р';  
RadioButton1.Checked:=True;  
RadioButton2.Checked:=False;  
end;  
end;  
procedure TForm1.Button4Click(Sender: TObject);  
begin  
Form1.hide;  
Form2.Show;  
end;  
end.  

Самостоятельная работа.

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

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

Решение: Добавить на форму третью кнопку Button3, и написать текст процедуры по событию ONCLICK

procedure TForm1.Button3Click(Sender: TObject);

begin

Edit1.Text:=' ';

Edit2.Text:=' ';

edit3.Text:=' ';

Edit4.Text:=' ';

end;

 

 

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

Решение:

В окне Object Inspector выбрать свойство Hint и вписать текст подсказки

И так далее по заданию ( не забудьте , если не знаете как выполнить задание оставьте свободное место после текста задания)
Приложение1.