unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
summa: TEdit;
koef: TEdit;
win: TEdit;
prib: TEdit;
OK: TButton;
Label1: TLabel;
lbl1: TLabel;
lbl2: TLabel;
lbl3: TLabel;
lbl4: TLabel;
lbl5: TLabel;
lbl6: TLabel;
procedure OKClick(Sender: TObject);
procedure summaKeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
w, p, ss, k: Real;
i: integer;
str: string;
implementation
{$R *.dfm}
function Separator(Text:String):String;
begin
//Если первый символ разделитель, то ставим первым символом 0
if (Pos(',',Text)=1) or (Pos('.',Text)=1) then Insert('0',Text,0);
// Проверяем разделитель на правильность
// и в случае необходимости меняем
if (DecimalSeparator=',') and (Pos('.',Text)<>0) then
begin
Insert(',',Text,Pos('.',Text));
Delete(Text,Pos('.',Text),1);
end;
if (DecimalSeparator='.') and (Pos(',',Text)<>0) then
begin
Insert('.',Text,Pos(',',Text));
Delete(Text,Pos(',',Text),1);
end;
Separator:=Text
end;
procedure TForm1.OKClick(Sender: TObject);
begin
Summa.Text:=Separator(Summa.text);
Koef.Text:=Separator(koef.Text);
ss:=StrToFloat(summa.Text);
k:=StrToFloat(koef.Text);
w:=ss*k;
p:=w-ss;
win.Text:=FloatToStr(w);
prib.Text:=FloatToStr(p);
end;
procedure TForm1.summaKeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['0'..'9', '.', ',', #13, #8]) then
begin
ShowMessage('Вводи цифры');
key:= #0;
end;
end;
end.