Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2007, 17:55   #1
dcl
Новичок
Джуниор
 
Регистрация: 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.
dcl вне форума Ответить с цитированием
Старый 26.03.2007, 18:01   #2
steck
/\/\Et@/\|/|$T
Пользователь
 
Аватар для steck
 
Регистрация: 26.03.2007
Сообщений: 89
По умолчанию

ты где этому учился
there are no programmers there is no life
steck вне форума Ответить с цитированием
Старый 26.03.2007, 19:16   #3
Nemesisking
Форумчанин
 
Аватар для Nemesisking
 
Регистрация: 04.02.2007
Сообщений: 213
По умолчанию

Выглядит не очень, но почему бы и не глянуть, как написан исходник на форуме, там и понятно все (хотя ценятся люди, которые пишут своими руками) http://www.programmersclub.ru/files/kalkulaytor.rar
Per Aspera Ad Astra
www.salviaclub.com.ua
Nemesisking вне форума Ответить с цитированием
Старый 26.03.2007, 21:35   #4
ЧИЖ
Форумчанин
 
Аватар для ЧИЖ
 
Регистрация: 24.02.2007
Сообщений: 104
Хорошо

а нафиг ты текст в едите как строку складываешь с символом

нужно для ввода числа переводить его из текста а для вывода обратно

функции

inttostr(x:integer):string
strtoint(s:string):integer
floattostr(x:real):string
strtofloat(s:string):real

к int относятся все целочисленные к float соответственно плавающие
Разберемся.......
ЧИЖ вне форума Ответить с цитированием
Старый 28.03.2007, 08:10   #5
steck
/\/\Et@/\|/|$T
Пользователь
 
Аватар для steck
 
Регистрация: 26.03.2007
Сообщений: 89
Хорошо steck

Возможно я ошибаюсь ,но, ты пытаешся делать математические действия со строкой, надо переводить в целое число именно её а не "edit"! и ЧИЖ уже написал как это делать надо
there are no programmers there is no life

Последний раз редактировалось steck; 28.03.2007 в 08:17.
steck вне форума Ответить с цитированием
Старый 28.03.2007, 08:15   #6
steck
/\/\Et@/\|/|$T
Пользователь
 
Аватар для steck
 
Регистрация: 26.03.2007
Сообщений: 89
По умолчанию

и на фиг ты сюда всё это впихнул засунул бы то чё непонятно ,а не весь код пока прочтёш постареешь
there are no programmers there is no life
steck вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите 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