Написал программу для подсчета валюты в рублях(есть два поля в одно вводишь сумму во второе текущий курс прога их перемножает и выводит результат) так вот надо ентот результат округлить до 2х знаков после запятой чарез элемент TCheckBox с использованием ф-ии FloatToStrF.
Прога работает но когда я ставлю галочку в чекбокс он вылетает че делать???
вот исходник:
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, Menus;
type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Button1: TButton;
Label3: TLabel;
CheckBox1: TCheckBox;
BitBtn1: TBitBtn;
MainMenu1: TMainMenu;
Menu1: TMenuItem;
N1: TMenuItem;
N2: TMenuItem;
procedure Button1Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var i,k:extended;a,b:string;
begin
if Edit1.Text <> ''
then
begin
a:=Edit1.Text;b:=Edit2.Text;
i:=StrToFloat(a);k:=StrToFloat(b);
Form1.Label3.Caption:=FloatToStr(i*k);
end
else Label3.Caption:='!!!ОШИБКА!!!';
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.N1Click(Sender: TObject);
var i,k:extended;a,b:string;
begin
if Edit1.Text <> ''
then
begin
a:=Edit1.Text;b:=Edit2.Text;
i:=StrToFloat(a);k:=StrToFloat(b);
Form1.Label3.Caption:=FloatToStr(i*k)
end
else Label3.Caption:='!!!ОШИБКА!!!';
end;
procedure TForm1.N2Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.CheckBox1Click(Sender: TObject);
var i,k:extended; a,b:string;
begin
CheckBox1.Checked:= true;
if Edit1.Text <> ''
then
begin
a:=Edit1.Text;b:=Edit2.Text;
i:=StrToFloat(a);k:=StrToFloat(b);
Form1.Label3.Caption:=FloatToStrF(i*k,ffFixed,3,2);
end
else Label3.Caption:='!!!ОШИБКА!!!';
CheckBox1.State:=cbUnChecked;
Button1Click(Sender);
end;
end.