Иллюстрированный самоучитель по Delphi 7 для начинающих

Алгоритм и программа

Иллюстрированный самоучитель по Delphi 7 для начинающих › Основы программирования › Алгоритм и программа
Рис. 1.3. Окно (форма) программы Стоимость покупки

Листинг 1.1. Программа Стоимость покупки.

unit pokupka_1;
interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCTRLs;
type
TForm1 = class(TForra)
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
Button1: TButton;
Label3: TLabel;
procedure ButtonlClick(Sender: TObject);
procedure Edit2KeyPress(Sender: TObject;
var Key: Char);
procedure EditlKeyPress(Sender: TObject;
var Key: Char); private
{ Private declarations } public
{ Public declarations }
end;
var
Forml: TForm1;
implementation
{$R *.dfm}
// подпрограмма
procedure Summa;
var
cena: real; // цена
kol: integer; // количество
s: real; // сумма
mes: string[255]; // сообщение
begin
cena: = StrToFloat(Form1.Edit1.Text);
kol: = StrToInt(Forml.Edit2.Text);
s: = cena * kol;
if s > 500 then
begin
s: = s * 0.9;
mes: = 'Предоставляется скидка 10%' + #13;
end;
mes: = mes+ 'Стоимость покупки: '
+ FloatToStrF(s,ffFixed,4.2) +' руб.';
Forml.Label3.Caption: = mes;
end;
// щелчок на кнопке Стоимость
procedure TForml.ButtonlClick(Sender: TObject);
begin
Summa; // вычислить сумму покупки
end;
// нажатие клавиши в поле Количество
procedure TForml.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
case Key of
'0'.. '9',#8:; // цифры и клавиша <Backspace>
#13: Summa; // вычислить стоимость покупки
else Key: = Chr(O); // символ не отображать
end;
end;
// нажатие клавиши в поле Цена
procedure TForm1.EditlKeyPress(Sender: TObject; var Key: Char);
begin
case Key of
'0'.. '9', #8:; // цифры и клавиша <Backspace>
#13: Form1.Edit2.SetFocus; // клавиша Enter
begin
if Key = '.'
then Key: = ', if Pos(', ',Edit1.Text) <> 0
then Key: = Chr(0);
end;
else // все остальные символы запрещены
Key: = Chr(0);
end;
end;
end.
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.