![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 26.03.2007
Сообщений: 1
|
![]()
Это моя первая программа, так что строго не судите.
Почему у меня не корректно выполняются действия по сложению, вычитанию и умножению? Как это исправить? (это калькулятор) unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Buttons, StdCtrls; type TForm1 = class(TForm) Edit1: TEdit; Button1: TButton; Button2: TButton; SpeedButton1: TSpeedButton; SpeedButton2: TSpeedButton; SpeedButton3: TSpeedButton; SpeedButton4: TSpeedButton; SpeedButton5: TSpeedButton; SpeedButton6: TSpeedButton; SpeedButton7: TSpeedButton; SpeedButton8: TSpeedButton; SpeedButton9: TSpeedButton; SpeedButton10: TSpeedButton; SpeedButton11: TSpeedButton; SpeedButton12: TSpeedButton; SpeedButton13: TSpeedButton; SpeedButton14: TSpeedButton; SpeedButton15: TSpeedButton; SpeedButton16: TSpeedButton; SpeedButton17: TSpeedButton; SpeedButton18: TSpeedButton; SpeedButton19: TSpeedButton; SpeedButton20: TSpeedButton; SpeedButton21: TSpeedButton; SpeedButton22: TSpeedButton; SpeedButton23: TSpeedButton; SpeedButton24: TSpeedButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure SpeedButton3Click(Sender: TObject); procedure SpeedButton2Click(Sender: TObject); procedure SpeedButton1Click(Sender: TObject); procedure SpeedButton9Click(Sender: TObject); procedure SpeedButton8Click(Sender: TObject); procedure SpeedButton7Click(Sender: TObject); procedure SpeedButton15Click(Sender: TObject); procedure SpeedButton14Click(Sender: TObject); procedure SpeedButton13Click(Sender: TObject); procedure SpeedButton19Click(Sender: TObject); procedure SpeedButton22Click(Sender: TObject); procedure SpeedButton23Click(Sender: TObject); procedure SpeedButton16Click(Sender: TObject); procedure SpeedButton10Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; a: integer; b: integer; c: integer; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin Edit1.Text:='0'; end; procedure TForm1.Button2Click(Sender: TObject); begin Form1.Close; end; procedure TForm1.SpeedButton3Click(Sender: TObject); begin if Edit1.Text<>'0' then Edit1.Text:=Edit1.Text+'9' else Edit1.Text:='9'; end; procedure TForm1.SpeedButton2Click(Sender: TObject); begin if edit1.Text<>'0' then edit1.Text:=edit1.Text+'8' else edit1.Text:='8'; end; procedure TForm1.SpeedButton1Click(Sender: TObject); begin if edit1.text<>'0' then edit1.Text:=Edit1.text+'7' else edit1.Text:='7'; end; procedure TForm1.SpeedButton9Click(Sender: TObject); begin if edit1.text<>'0' then edit1.Text:=Edit1.text+'6' else edit1.Text:='6'; end; procedure TForm1.SpeedButton8Click(Sender: TObject); begin if edit1.text<>'0' then edit1.Text:=Edit1.text+'5' else edit1.Text:='5'; end; procedure TForm1.SpeedButton7Click(Sender: TObject); begin if edit1.text<>'0' then edit1.Text:=Edit1.text+'4' else edit1.Text:='4'; end; procedure TForm1.SpeedButton15Click(Sender: TObject); begin if edit1.text<>'0' then edit1.Text:=Edit1.text+'3' else edit1.Text:='3'; end; procedure TForm1.SpeedButton14Click(Sender: TObject); begin if edit1.text<>'0' then edit1.Text:=Edit1.text+'2' else edit1.Text:='2'; end; procedure TForm1.SpeedButton13Click(Sender: TObject); begin if edit1.text<>'0' then edit1.Text:=Edit1.text+'1' else edit1.Text:='1'; end; procedure TForm1.SpeedButton19Click(Sender: TObject); begin if edit1.text<>'0' then edit1.Text:=edit1.Text+'0' end; procedure TForm1.SpeedButton22Click(Sender: TObject); begin a:=StrToInt(edit1.Text); Edit1.text:='0' end; procedure TForm1.SpeedButton23Click(Sender: TObject); begin Edit1.text:=IntToStr(StrToInt(edit1 .Text)*c); Edit1.text:=IntToStr(StrToInt(edit1 .Text)+a); Edit1.text:=IntToStr(b-StrToInt(edit1.Text)); end; procedure TForm1.SpeedButton16Click(Sender: TObject); begin b:=StrToInt(edit1.Text); edit1.Text:='0' end; procedure TForm1.SpeedButton10Click(Sender: TObject); begin c:=StrToInt(edit1.Text); edit1.Text:='0' ; end; end. Последний раз редактировалось dcl; 26.03.2007 в 18:01. |
![]() |
![]() |
![]() |
#2 |
/\/\Et@/\|/|$T
Пользователь
Регистрация: 26.03.2007
Сообщений: 89
|
![]()
ты где этому учился
there are no programmers there is no life
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 04.02.2007
Сообщений: 213
|
![]()
Выглядит не очень, но почему бы и не глянуть, как написан исходник на форуме, там и понятно все (хотя ценятся люди, которые пишут своими руками) http://www.programmersclub.ru/files/kalkulaytor.rar
Per Aspera Ad Astra
www.salviaclub.com.ua |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 24.02.2007
Сообщений: 104
|
![]()
а нафиг ты текст в едите как строку складываешь с символом
нужно для ввода числа переводить его из текста а для вывода обратно функции inttostr(x:integer):string strtoint(s:string):integer floattostr(x:real):string strtofloat(s:string):real к int относятся все целочисленные к float соответственно плавающие ![]() |
![]() |
![]() |
![]() |
#5 |
/\/\Et@/\|/|$T
Пользователь
Регистрация: 26.03.2007
Сообщений: 89
|
![]()
Возможно я ошибаюсь ,но, ты пытаешся делать математические действия со строкой, надо переводить в целое число именно её а не "edit"!
![]() ![]()
there are no programmers there is no life
Последний раз редактировалось steck; 28.03.2007 в 08:17. |
![]() |
![]() |
![]() |
#6 |
/\/\Et@/\|/|$T
Пользователь
Регистрация: 26.03.2007
Сообщений: 89
|
![]()
и на фиг ты сюда всё это впихнул засунул бы то чё непонятно ,а не весь код пока прочтёш постареешь
there are no programmers there is no life
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Подскажите | Ser | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 15.03.2008 18:32 |
Подскажите | Yana | Общие вопросы Delphi | 2 | 23.12.2007 00:21 |
Подскажите код | Romuald | Microsoft Office Excel | 2 | 26.11.2007 13:53 |