|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Программа не работает
Делфи начал только заниматься.
Нашел программу калькулятор набрал ее а она запускается только не отображается. Или иногда выпускает пустую форму, или работает но не выводит результат. В чем дело никак не пойму. Помогите сыну надо объяснить, а сам не могу найти ошибку. Внизу архив с исходником. Вот программа.unit Call1; Код:
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) edt1: TEdit; button1: TButton; button2: TButton; button3: TButton; button4: TButton; button5: TButton; button6: TButton; button7: TButton; button8: TButton; button9: TButton; buttonplus: TButton; buttonminus: TButton; buttonenter: TButton; button0: TButton; buttonz: TButton; buttonc: TButton; procedure edt1Change(Sender: TObject; var Key:char); procedure button0Click(Sender: TObject); procedure button1Click(Sender: TObject); procedure button2Click(Sender: TObject); procedure button3Click(Sender: TObject); procedure button4Click(Sender: TObject); procedure button5Click(Sender: TObject); procedure button6Click(Sender: TObject); procedure button7Click(Sender: TObject); procedure button8Click(Sender: TObject); procedure button9Click(Sender: TObject); procedure buttonzClick(Sender: TObject); procedure buttonplusClick(Sender: TObject); procedure buttonminusClick(Sender: TObject); procedure buttonenterClick(Sender: TObject); procedure buttoncClick(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} var accum:Real; oper:Integer; f:Integer; procedure TForm1.button0Click(Sender: TObject); begin if f=0 then begin edt1.Text:='0'; f:=1 end else if edt1.text<>'0' then edt1.Text:=edt1.Text+'0'; end; procedure TForm1.button1Click(Sender: TObject); begin if f=0 then begin edt1.Text:='1'; f:=1; end else if edt1.text<>'0' then edt1.Text:=edt1.Text+'1' end; procedure TForm1.button2Click(Sender: TObject); begin if f=0 then begin edt1.Text:='2'; f:=1; end else if edt1.text<>'0' then edt1.Text:=edt1.Text+'2' end; procedure TForm1.button3Click(Sender: TObject); begin if f=0 then begin edt1.Text:='3'; f:=1; end else if edt1.text<>'0' then edt1.Text:=edt1.Text+'3' end; procedure TForm1.button4Click(Sender: TObject); begin if f=0 then begin edt1.Text:='4'; f:=1; end else if edt1.text<>'0' then edt1.Text:=edt1.Text+'4' end; procedure TForm1.button5Click(Sender: TObject); begin if f=0 then begin edt1.Text:='5'; f:=1; end else if edt1.text<>'0' then edt1.Text:=edt1.Text+'5' end; procedure TForm1.button6Click(Sender: TObject); begin if f=0 then begin edt1.Text:='6'; f:=1; end else if edt1.text<>'0' then edt1.Text:=edt1.Text+'6' end; procedure TForm1.button7Click(Sender: TObject); begin if f=0 then begin edt1.Text:='7'; f:=1; end else if edt1.text<>'0' then edt1.Text:=edt1.Text+'7' end; procedure TForm1.button8Click(Sender: TObject); begin if f=0 then begin edt1.Text:='8'; f:=1; end else if edt1.text<>'0' then edt1.Text:=edt1.Text+'8' end; procedure TForm1.button9Click(Sender: TObject); begin if f=0 then begin edt1.Text:='9'; f:=1; end else if edt1.text<>'0' then edt1.Text:=edt1.Text+'9' end; procedure TForm1.buttonzClick(Sender: TObject); begin if edt1.text='0' then begin edt1.Text:='0'; f:=1; end; if Pos(',',edt1.text)= 0 then edt1.Text:=edt1.Text+','; end; procedure DoOper; var numb:Real; begin numb:=StrToFloat(form1.edt1.text); case oper of 0:accum:=numb; 1:accum:=accum+numb; 2:accum:=accum-numb; end; form1.edt1.text:=floattostr(accum); end; procedure TForm1.buttonplusClick(Sender: TObject); begin if f=0 then oper:=1 else begin DoOper; oper:=1; f:=0; end; end; procedure TForm1.buttonminusClick(Sender: TObject); begin if f=0 then oper:=2 else begin DoOper; oper:=2; f:=0; end; end; procedure TForm1.buttonenterClick(Sender: TObject); begin if f=0 then oper:=0 else begin DoOper; oper:=0; f:=0; end; end; procedure TForm1.buttoncClick(Sender: TObject); begin edt1.Text:='0'; accum:=0; oper:=0; f:=0; end; procedure TForm1.edt1Change(Sender: TObject; var Key:char); begin Key:=Chr(0); end; procedure TForm1.FormCreate(Sender: TObject); begin oper:=0; end; end. Последний раз редактировалось Admin, 28.04.2011 в 11:47. |