P
Pentium5
Привет всем!
Мною была написана программка калькулятор в среде Делфи, но она не отчётливо работает. Прошу помощи по диагностике проблемы и возможные пути её решения. Спасибо!
Мною была написана программка калькулятор в среде Делфи, но она не отчётливо работает. Прошу помощи по диагностике проблемы и возможные пути её решения. Спасибо!
Ссылка скрыта от гостей
Код:
unit Calculator;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Button3: TButton;
Button1: TButton;
Button2: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button4: TButton;
Button8: TButton;
Button9: TButton;
Button10: TButton;
Button11: TButton;
Button12: TButton;
Button13: TButton;
Button14: TButton;
Button15: TButton;
procedure process_sum();
procedure display_answer();
procedure correct_display();
procedure apply_number(text:string);
procedure Button13Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
process_action:string='';
calculated_value:double=0;
showing_answer:boolean=false;
Form1: TForm1;
implementation
{$R *.dfm}
{ TForm1 }
procedure TForm1.apply_number(text:string);
begin
correct_display;
edit1.Text:=edit1.Text + text
end;
procedure TForm1.correct_display;
begin
if showing_answer = true then
begin
showing_answer:=false;
edit1.text:='';
end;
if edit1.Text= '0' then
begin
edit1.Text:='';
end;
end;
procedure TForm1.display_answer;
begin
showing_answer:=true;
edit1.Text:=floattostr(calculated_value);
end;
procedure TForm1.process_sum;
begin
if process_action = '' then
begin
calculated_value:=strtofloat(edit1.text);
if process_action = '+' then
end;
calculated_value:=calculated_value+strtofloat(edit1.text);
end;
if process_action = '' then
begin
calculated_value:=strtofloat(edit1.text);
if process_action = '-' then
end;
begin
calculated_value:=calculated_value-strtofloat(edit1.text);
if process_action = '' then
end;
calculated_value:=strtofloat(edit1.text);
begin
if process_action = '*' then
end;
begin
calculated_value:=calculated_value*strtofloat(edit1.text);
if process_action = '' then
end;
begin
calculated_value:=strtofloat(edit1.text);
if process_action = '/' then
end;
begin
calculated_value:=calculated_value/strtofloat(edit1.text);
end;
end;
procedure TForm1.Button13Click(Sender: TObject);
begin
apply_number('0')
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
apply_number('1')
end;
procedure TForm1.Button8Click(Sender: TObject);
begin
apply_number('2')
end;
procedure TForm1.Button9Click(Sender: TObject);
begin
apply_number('3')
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
apply_number('4')
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
apply_number('5')
end;
procedure TForm1.Button7Click(Sender: TObject);
begin
apply_number('6')
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
apply_number('7')
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
apply_number('8')
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
apply_number('9')
end;
procedure TForm1.Button10Click(Sender: TObject);
begin
process_sum();
process_action:='+';
display_answer();
end;
end.