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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.03.2012, 22:36   #1
Yurik_odex
 
Регистрация: 19.03.2012
Сообщений: 4
По умолчанию Калькулятор

Помогите пожалуйста найти ошибку в калькуляторе.Компилировать не хочет(делфи)
Заранее спасибо.

Код:
var
 fmCalc: TfmCalc;


implementation
var
a,b,c:real;
f: integer;
zifra: boolean;

{$R *.dfm}

procedure TfmCalc.FormCreate(Sender: TObject);
begin
edInput.Text:='0';
f:=0;
zifra:=false;
end;


procedure TfmCalc.Bt1Click(Sender: TObject);
begin
   if (edInput.Text='0')or not (zifra)
   then
    begin
      edInput.Text:='1';
      zifra:=true
   end
   else edInput.Text:=edInput.Text+'1'
end;

procedure TfmCalc.Bt2Click(Sender: TObject);
begin
if (edInput.Text='0') or not (zifra)
then
begin
edInput.Text:='2';
zifra:=true
end
else edInput.Text:=edInput.Text+'2'

end;



procedure TfmCalc.Bt3Click(Sender: TObject);
begin
if (edInput.Text='0') or not (zifra)
then
begin
edInput.Text:='3';
zifra:=true
end
else edInput.Text:=edInput.Text+'3'
end;



procedure TfmCalc.Bt4Click(Sender: TObject);
begin
if (edInput.Text='0') or not (zifra)
then
begin
edInput.Text:='4';
zifra:=true
end
else edInput.Text:=edInput.Text+'4'
end;

procedure TfmCalc.Bt5Click(Sender: TObject);
begin
if (edInput.Text='0') or not (zifra)
then
begin
edInput.Text:='5';
zifra:=true
end
else edInput.Text:=edInput.Text+'5'
end;



procedure TfmCalc.Bt6Click(Sender: TObject);
begin
if (edInput.Text='0') or not (zifra)
then
begin
edInput.Text:='6';
zifra:=true
end
else edInput.Text:=edInput.Text+'6'
end;


procedure TfmCalc.Bt7Click(Sender: TObject);
begin
if (edInput.Text='0') or not (zifra)
then
begin
edInput.Text:='7';
zifra:=true
end
else edInput.Text:=edInput.Text+'7'
end;


procedure TfmCalc.Bt8Click(Sender: TObject);
begin
if (edInput.Text='0') or not (zifra)
then
begin
edInput.Text:='8';
zifra:=true
end
else edInput.Text:=edInput.Text+'8'
end;


procedure TfmCalc.Bt9Click(Sender: TObject);
begin
if (edInput.Text='0') or not (zifra)
then
begin
edInput.Text:='9';
zifra:=true
end
else edInput.Text:=edInput.Text+'9'
end;


procedure TfmCalc.Bt0Click(Sender: TObject);
begin
if (edInput.Text='0') or not (zifra)
then
begin
edInput.Text:='0';
zifra:=true
end
else edInput.Text:=edInput.Text+'0'
end;



procedure TfmCalc.BtPointClick(Sender: TObject);
begin
if pos(',', edInput.Text)=0
then
edInput.Text:=edInput.Text+',';
end;


procedure TfmCalc.BtClsClick(Sender: TObject);
begin
a:=0;
b:=0;
f:=0;
zifra:=false;
edInput.Text:='0'
end;


procedure TfmCalc.BtSumClick(Sender: TObject);
begin
if f=5
then a:=c
else a:=StrToFloat (edInput.Text);
f:=1;
zifra:=false
end;


procedure TfmCalc.BtRaznClick(Sender: TObject);
begin
if f=5
then a:=c
else a:=StrToFloat (edInput.Text);
f:=2;
zifra:=false
end;


procedure TfmCalc.BtUmnClick(Sender: TObject);
begin
if f=5
then a:=c
else a:=StrToFloat (edInput.Text);
f:=3;
zifra:=false
end;


procedure TfmCalc.BtDelClick(Sender: TObject);
begin
if f=5
then a:=c
else a:=StrToFloat (edInput.Text);
f:=4;
zifra:=false
end;


procedure TfmCalc.BtRavnoClick(Sender: TObject);
begin
b:=StrToFloat (edInput.Text);
case f of
1: begin
c:=a+b;
edInput.Text:=FloatToStr(c);
end;
2: begin
c:=a-b;
edInput.Text:=FloatToStr(c);
end;
3: begin
c:=a*b;
edInput.Text:=FloatToStr(c);
end;
4: if StrToFloat (edInput.Text)<>0
then
begin
c:=a/b;
edinput.Text:=floattostr(c);
end
else
edinput.Text:='деление на ноль';

end;
f:=5;
zifra:=false

end;


procedure TfmCalc.edInputKeyPress(Sender: TObject; var Key: Char);
begin
case Key of
'0'..'9',#8:;
'.',',':begin
if Key='.' then Key:=',';
if Pos(',' , edInput.Text)<>0 then Key:=#0
end;
else Key:=#0
end
end;

Последний раз редактировалось Yurik_odex; 19.03.2012 в 23:08.
Yurik_odex вне форума Ответить с цитированием
Старый 19.03.2012, 22:40   #2
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,365
По умолчанию

ну компилятор-то вам какую-то ошибку показывает?
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
ACE Valery вне форума Ответить с цитированием
Старый 19.03.2012, 22:41   #3
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

; забываете часто ставить...
+ дельфа сообщает об ошибках... и в какой строке... особенно если это при компиляции... так что правте...
пишу код не только за печеньки
VIK_aka_TOR вне форума Ответить с цитированием
Старый 19.03.2012, 22:44   #4
Yurik_odex
 
Регистрация: 19.03.2012
Сообщений: 4
По умолчанию

не могу понять в чем ошибка
Yurik_odex вне форума Ответить с цитированием
Старый 19.03.2012, 22:45   #5
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
не могу понять в чем ошибка
Скопируйте сообщение об ошибки!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 19.03.2012, 22:46   #6
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

Код:
procedure TfmCalc.edInputKeyPress(Sender: TObject; var Key: Char);
begin
case Key of
'0'..'9',#8:;
'.',',':begin
if Key='.' then Key:=',';
if Pos(',' , edInput.Text)<>0 then Key:=#0;
end 
else Key:=#0;
end;
end;
и это только по последней процедуре... так же перед else часто лишние ;
пишу код не только за печеньки
VIK_aka_TOR вне форума Ответить с цитированием
Старый 19.03.2012, 22:51   #7
Yurik_odex
 
Регистрация: 19.03.2012
Сообщений: 4
По умолчанию

[Error] Unit8.pas(321): Declaration expected but end of file found
[Fatal Error] Projectcalc11111.dpr(5): Could not compile used unit 'Unit8.pas'

это 1 моя программа,извините если что не так
Yurik_odex вне форума Ответить с цитированием
Старый 20.03.2012, 10:54   #8
Yurik_odex
 
Регистрация: 19.03.2012
Сообщений: 4
По умолчанию

помогите пожалуйста исправить ошибки. Заранее спасибо
Yurik_odex вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Калькулятор Morrowind1 Помощь студентам 8 24.04.2011 00:30
Калькулятор Kasper1 PHP 5 15.02.2011 07:58
Калькулятор на с++ Banner Помощь студентам 2 07.02.2011 11:42
Калькулятор @RH@nhel Общие вопросы Delphi 2 24.01.2011 06:39
Калькулятор @RH@nhel Паскаль, Turbo Pascal, PascalABC.NET 8 23.01.2011 20:32