Калькулятор

Тема в разделе "Delphi - FAQ", создана пользователем Pentium5, 3 окт 2011.

Статус темы:
Закрыта.
  1. Pentium5

    Pentium5 Member

    Регистрация:
    3 окт 2011
    Сообщения:
    9
    Симпатии:
    0
    Привет всем!
    Мною была написана программка калькулятор в среде Делфи, но она не отчётливо работает. Прошу помощи по диагностике проблемы и возможные пути её решения. Спасибо!
    [​IMG]

    Код (Text):
    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.
     
  2. Dock1100

    Dock1100 :-]

    Регистрация:
    9 ноя 2009
    Сообщения:
    678
    Симпатии:
    0
    Как я понял то некоторые дествия не прописаны.
     
  3. Pentium5

    Pentium5 Member

    Регистрация:
    3 окт 2011
    Сообщения:
    9
    Симпатии:
    0
    А какие именно? У меня просто что-то Делфи не показывает ошибки да и сама программка запускаться не хочет. Сможешь помочь?
     
  4. Dock1100

    Dock1100 :-]

    Регистрация:
    9 ноя 2009
    Сообщения:
    678
    Симпатии:
    0
    к примеру в процедуре form1.procces_sum есть много непонятних if`ов :
    if process_action = '-' then
    end;
     
  5. Dock1100

    Dock1100 :-]

    Регистрация:
    9 ноя 2009
    Сообщения:
    678
    Симпатии:
    0
    в procedure TForm1.process_sum уберите лишний end
    Код (Text):
    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
     
  6. Pentium5

    Pentium5 Member

    Регистрация:
    3 окт 2011
    Сообщения:
    9
    Симпатии:
    0
    Спасибо!
     
Загрузка...
Похожие Темы - Калькулятор
  1. DreamForse
    Ответов:
    0
    Просмотров:
    2.219
  2. users574
    Ответов:
    0
    Просмотров:
    2.004
  3. Bonuse
    Ответов:
    1
    Просмотров:
    1.695
  4. Powinteh
    Ответов:
    0
    Просмотров:
    1.087
  5. Powinteh
    Ответов:
    1
    Просмотров:
    1.078
Статус темы:
Закрыта.

Поделиться этой страницей