четверг, 8 августа 2019 г.

Turbo Delphi 08

1. Спроектировать приложение «Обмен валюты», содержащее таблицу с различными денежными системами и их курсами, и позволяющую перевести введенную сумму в тенге в данные денежные системы.
Требования:
· Для создания таблицы необходимо использовать компонент TStringGrid, который предназначен для представления данных в табличном виде.
· Заголовки таблицы необходимо формировать сразу при показе формы.
· Должен осуществляться округленный и неокругленный перевод введенной суммы денег.
· Все действия реализовать через компонент главное меню – TMainMenu.
· Добавить пункт меню «О Программе», при выборе которого следует модально показать форму с информацией о назначение вашего приложения и об авторе и т.п.
· В таблице с данными найти названия валют, на которые установлен самый высокий и самый низкий курс. Вывести результаты в отдельную немодальную форму.
1) Создайте папку под новый проект.
2) Создайте новый проект и сохраните его в созданную папку.
3) Добавьте в проект две формы («File – New – Form - Delphi for Win32»).
4) Задайте формам следующие свойства:
Форма Значения свойств
Главная формаName = frmMain
FileName = 'Обмен валют'
Constraints.MinHeight = 200
Constraints.MinWidth = 300
Position = poScreenCenter



Форма «О программе»Name = frmAbout
Caption = 'О программе'
BorderStyle = bsDialog
Position = poMainFormCenter


Форма «Курсы»Name = frmCourses
Caption = 'Курсы'
BorderIcons = [biSystemMenu]
BorderStyle = bsSingle
Position = poMainFormCenter




5) В модуле главной формы подключите модули добавленных форм. Выполните «File – Use unit…» или нажмите Alt+F11. В диалоге выберите оба модуля форм (удерживая Shift или Ctrl) и нажмите «Ok».
6) Разместите на форме «О программе» следующие компоненты и задайте им свойства:
НазваниеКомпонентЗначения свойств
Надпись с рамкойTStaticText (Additional)Name = sttName
AutoSize = False
BevelKind = bkSoft
Caption = 'Обмен валюты'


Надпись с рамкойTStaticText (Additional)Name = sttAuthor
AutoSize = False
BevelKind = bkTile
Caption = 'Ваше ФИО'


КнопкаTButton (Standard)Name = btnClose
ModalResult = mrOk
Caption = 'Закрыть'


Оформите форму следующим образом:
7) Разместите на форме «Курсы» следующие компоненты и задайте им свойства:
НазваниеКомпонентЗначения свойств
Поле ввода с надписьюTLabeledEdit (Additional)Name = ledMin
EditLabel.Caption = 'Минимальный курс:'
Поле ввода с надписьюTLabeledEdit (Additional)Name = ledMax
EditLabel.Caption = 'Максимальный курс:'
КнопкаTButton (Standard)Name = btnClose
Caption = 'Закрыть'

Оформите форму следующим образом:
Напишите обработчик закрытия формы по нажатию на кнопку:
procedure TfrmCourses.btnCloseClick(Sender: TObject);
begin
Close
end;
8) Разместите на главной форме следующие компоненты и задайте им свойства:
НазваниеКомпонентЗначения свойств
ПанельTPanel (Standard)Name = pnlMain
Align = alTop
Caption = ''

Надпись с рамкойTStaticText (Additional)Name = sttResult
AutoSize = False
BevelKind = bkTile
Caption = ''


Поле ввода с надписьюTLabeledEdit (Additional)Name = ledSum
EditLabel.Caption = 'Сумма:'
Независимый переключательTCheckBox (Standard)Name = chkRound
EditLabel.Caption = 'округлять'
Таблица строкTStringGrid (Additional)Name = sgrMain
Align = alClient
ColCount = 3
DefaultColWidth = 72
DefaultRowHeight = 22
FixedCols = 0
RowCount = 2
Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goRowSizing, goColSizing, goEditing]






Главное менюTMainMenu (Standard)Name = mmMain

Оформите форму следующим образом:
9) Создайте обработчик на создание главной формы OnCreate:
procedure TfrmMain.FormCreate(Sender: TObject);
begin
sgrMain.Cells[0,0] := 'Валюта';
sgrMain.Cells[1,0] := 'Курс';
sgrMain.Cells[2,0] := 'Кратность';
end;
10) Щелкните дважды на компоненте TMainMenu (или выполните в контекстном меню компонента «Menu Disagner…») – откроется редактор главного меню
.
С помощью редактора создайте следующую структуру меню:
ФайлВыход
ДействияПеревести
-
Добавить
Удалить
-
Курсы…




СправкаО программе…

11) Задайте обработчики пунктов меню:
ПунктОбработчик
Выходprocedure TfrmMain.D1Click(Sender: TObject);
begin
Close
end;


О программе…procedure TfrmMain.N10Click(Sender: TObject);
begin
frmAbout.ShowModal;
end;


Перевести procedure TfrmMain.N4Click(Sender: TObject);
var
sum,res,x,y: real;
v: string;
begin
try
sum := StrToFloat(ledSum.Text);
v := sgrMain.Cells[0,sgrMain.Row];
x := StrToFloat(sgrMain.Cells[1,sgrMain.Row]);
y := StrToFloat(sgrMain.Cells[2,sgrMain.Row]);
except
ShowMessage('Неверный исходные данные...');
exit;
end;
if sum=0 then
begin
ShowMessage('Сумма перевода равна нулю...');
exit;
end;
res := sum / x * y;
if chkRound.Checked then
sttResult.Caption := FloatToStrF(res,ffFixed,14,2)+' '+v
else
sttResult.Caption := FloatToStr(res)+' '+v;
end;
Добавитьprocedure TfrmMain.N6Click(Sender: TObject);
begin
sgrMain.RowCount := sgrMain.RowCount+1;
end;
Удалитьprocedure TfrmMain.N7Click(Sender: TObject);
begin
if sgrMain.RowCount>2 then
sgrMain.RowCount := sgrMain.RowCount-1;
end;
Курсы…procedure TfrmMain.N9Click(Sender: TObject);
var
x,min,max: real;
v,vmin,vmax: string;
i: integer;
begin
try
vmin := sgrMain.Cells[0,sgrMain.Row];
vmax := vmin;
min := StrToFloat(sgrMain.Cells[1,sgrMain.Row]);
max := min;
for i := 1 to sgrMain.RowCount-1 do
begin
v := sgrMain.Cells[0,i];
x := StrToFloat(sgrMain.Cells[1,i]);
if x>max then
begin
max := x;
vmax := v;
end
else
if x<min then
begin
min := x;
vmin := v;
end
end;
except
ShowMessage('Неверный исходные данные...');
exit;
end;
if chkRound.Checked then
begin
frmCourses.ledMin.Text := FloatToStrF(min,ffFixed,14,2)+' '+vmin;
frmCourses.ledMax.Text := FloatToStrF(max,ffFixed,14,2)+' '+vmax;
end
else
begin
frmCourses.ledMin.Text := FloatToStr(min)+' '+vmin;
frmCourses.ledMax.Text := FloatToStr(max)+' '+vmax;
end;
frmCourses.Show;
end;


12) Сохраните проект и запустите программу на исполнение.
2. Доработать приложение «Обмен валюты», добавив в таблицу колонку, в которую будет вычисляться сумма в данной денежной системе.
3. Заполнить таблицу с заданным количество строк и столбцов случайными числами. Определить сумму по строкам и по столбцам и записать в фиксированные ячейки (заголовочные).

Комментариев нет:

Отправить комментарий