1. Спроектировать приложение «Обмен валюты», содержащее таблицу с различными денежными системами и их курсами, и позволяющую перевести введенную сумму в тенге в данные денежные системы.
Требования:
· Для создания таблицы необходимо использовать компонент TStringGrid, который предназначен для представления данных в табличном виде.
· Заголовки таблицы необходимо формировать сразу при показе формы.
· Должен осуществляться округленный и неокругленный перевод введенной суммы денег.
· Все действия реализовать через компонент главное меню – TMainMenu.
· Добавить пункт меню «О Программе», при выборе которого следует модально показать форму с информацией о назначение вашего приложения и об авторе и т.п.
· В таблице с данными найти названия валют, на которые установлен самый высокий и самый низкий курс. Вывести результаты в отдельную немодальную форму.
1) Создайте папку под новый проект.
2) Создайте новый проект и сохраните его в созданную папку.
3) Добавьте в проект две формы («File – New – Form - Delphi for Win32»).
4) Задайте формам следующие свойства:
5) В модуле главной формы подключите модули добавленных форм. Выполните «File – Use unit…» или нажмите Alt+F11. В диалоге выберите оба модуля форм (удерживая Shift или Ctrl) и нажмите «Ok».
6) Разместите на форме «О программе» следующие компоненты и задайте им свойства:
Оформите форму следующим образом:
7) Разместите на форме «Курсы» следующие компоненты и задайте им свойства:
Оформите форму следующим образом:
Напишите обработчик закрытия формы по нажатию на кнопку:
procedure TfrmCourses.btnCloseClick(Sender: TObject);
begin
Close
end;
8) Разместите на главной форме следующие компоненты и задайте им свойства:
Оформите форму следующим образом:
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) Задайте обработчики пунктов меню:
12) Сохраните проект и запустите программу на исполнение.
2. Доработать приложение «Обмен валюты», добавив в таблицу колонку, в которую будет вычисляться сумма в данной денежной системе.
3. Заполнить таблицу с заданным количество строк и столбцов случайными числами. Определить сумму по строкам и по столбцам и записать в фиксированные ячейки (заголовочные).
Требования:
· Для создания таблицы необходимо использовать компонент 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 = 'Закрыть' |
Оформите форму следующим образом:
Название | Компонент | Значения свойств |
Поле ввода с надписью | 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 |
Оформите форму следующим образом:
procedure TfrmMain.FormCreate(Sender: TObject);
begin
sgrMain.Cells[0,0] := 'Валюта';
sgrMain.Cells[1,0] := 'Курс';
sgrMain.Cells[2,0] := 'Кратность';
end;
10) Щелкните дважды на компоненте TMainMenu (или выполните в контекстном меню компонента «Menu Disagner…») – откроется редактор главного меню
.
С помощью редактора создайте следующую структуру меню:
Файл | Выход |
Действия | Перевести - Добавить Удалить - Курсы… |
Справка | О программе… |
Пункт | Обработчик |
Выход | 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) Сохраните проект и запустите программу на исполнение.
Комментариев нет:
Отправить комментарий