ZyXEL12m94*41 Опубликовано 12 сентября, 2010 Жалоба Поделиться Опубликовано 12 сентября, 2010 Маты начинаются сразу со строчки procedure TForm1.Button1Click(Sender: TObject);причинаUnit1.pas(53): Statement expected but 'PROCEDURE' foundпонятия не имею что это значит, с Delphi работаю второй раз в своей жизни, качал отсюда.Меня терзают смутные сомененья что у меня в коде косяк на косяке сидит, и косяком погоняет.Помогите исправить пожалуйста.interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; Button5: TButton; Button6: TButton; Button7: TButton; Button8: TButton; Button9: TButton; Button10: TButton; Panel1: TPanel; Button11: TButton; Button12: TButton; Button13: TButton; Button14: TButton; Button15: TButton; 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 Button10Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1; i,p,r:real; mode:integer;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);beginPanel1.Caption:=Panel1.Caption+1end;procedure TForm1.Button2Click(Sender: TObject);beginPanel1.Caption:=Panel1.Caption+2end;procedure TForm1.Button3Click(Sender: TObject);beginPanel1.Caption:=Panel1.Caption+3end;procedure TForm1.Button4Click(Sender: TObject);beginPanel1.Caption:=Panel1.Caption+4end;procedure TForm1.Button5Click(Sender: TObject);beginPanel1.Caption:=Panel1.Caption+5end;procedure TForm1.Button6Click(Sender: TObject);beginPanel1.Caption:=Panel1.Caption+6end;procedure TForm1.Button7Click(Sender: TObject);beginPanel1.Caption:=Panel1.Caption+7end;procedure TForm1.Button8Click(Sender: TObject);beginPanel1.Caption:=Panel1.Caption+8end;procedure TForm1.Button9Click(Sender: TObject);beginPanel1.Caption:=Panel1.Caption+9end;procedure TForm1.Button10Click(Sender: TObject);beginPanel1.Caption:=Panel1.Caption+0end;procedure TForm1.Button12Click(Sender: TObject);begini:=StrToFloat(Panel1.Caption);mode:=2;Panel1.Caption:='';end;procedure TForm1.ButtonD13Click(Sender: TObject);begini:=StrToFloat(Panel1.Caption);mode:=3;Panel1.Caption:='';end;procedure TForm1.Button14Click(Sender: TObject);begini:=StrToFloat(Panel1.Caption);mode:=4;Panel1.Caption:='';procedure TForm1.Button11Click(Sender: TObject);begini:=StrToFloat(Panel1.Caption);mode:=1;Panel1.Caption:='';end;procedure TForm1.ButtonClick(Sender: TObject);begincase mode of1:begin p:=StrToFloat(Panel1.Caption); r:=i+p; Panel1.Caption:=FloatToStr(r); end;2:begin p:=StrToFloat(Panel1.Caption); r:=i-p; Panel1.Caption:=FloatToStr(r); end;3:begin p:=StrToFloat(Panel1.Caption); r:=i/p; Panel1.Caption:=FloatToStr(r); end;4:begin p:=StrToFloat(Panel1.Caption); r:=i*p; Panel1.Caption:=FloatToStr(r); end;end.unit Unit1; Цитата Ссылка на комментарий
CooDi Опубликовано 12 сентября, 2010 Жалоба Поделиться Опубликовано 12 сентября, 2010 помему один begin лишний Цитата Ссылка на комментарий
payk Опубликовано 12 сентября, 2010 Жалоба Поделиться Опубликовано 12 сентября, 2010 Button14Click нет end'а. Цитата Ссылка на комментарий
ZyXEL12m94*41 Опубликовано 12 сентября, 2010 Автор Жалоба Поделиться Опубликовано 12 сентября, 2010 payk исправил, та же байда:Unit1.pas(53): Statement expected but 'PROCEDURE' foundCooDi где именно? Цитата Ссылка на комментарий
Innk Опубликовано 12 сентября, 2010 Жалоба Поделиться Опубликовано 12 сентября, 2010 Тут же написано 53 строчкаУ тебя перед ней beginУдали его там не должно быть Цитата Ссылка на комментарий
ZyXEL12m94*41 Опубликовано 12 сентября, 2010 Автор Жалоба Поделиться Опубликовано 12 сентября, 2010 Innk сделал, но теперь он выделяет "end" и выдаетUnit1.pas(55): Incompatible types: 'String' and 'Integer' Цитата Ссылка на комментарий
Innk Опубликовано 12 сентября, 2010 Жалоба Поделиться Опубликовано 12 сентября, 2010 Panel1.Caption - тип string, а ты к нему число прибавить хочешьПреобразовывайЧто ты хочешь здесь сделать ?Panel1.Caption:=Panel1.Caption+1 Цитата Ссылка на комментарий
ZyXEL12m94*41 Опубликовано 12 сентября, 2010 Автор Жалоба Поделиться Опубликовано 12 сентября, 2010 Я второй раз в жизни пользуюсь, ни черта не умею, мне бы с объяснениямиInnk как бы пытался обработать событие "OnClick". Цитата Ссылка на комментарий
Petrovichtim Опубликовано 12 сентября, 2010 Жалоба Поделиться Опубликовано 12 сентября, 2010 implementation{$R *.dfm}Beginprocedure TForm1.Button1Click(Sender: TObject);beginPanel1.Caption:=Panel1.Caption+1end;убери первый бегин Цитата Ссылка на комментарий
ZyXEL12m94*41 Опубликовано 12 сентября, 2010 Автор Жалоба Поделиться Опубликовано 12 сентября, 2010 Petrovichtim убрал. Цитата Ссылка на комментарий
Petrovichtim Опубликовано 12 сентября, 2010 Жалоба Поделиться Опубликовано 12 сентября, 2010 помогло? Цитата Ссылка на комментарий
ZyXEL12m94*41 Опубликовано 12 сентября, 2010 Автор Жалоба Поделиться Опубликовано 12 сентября, 2010 Petrovichtim ниразу, теперь на "еnd;" ругается. Цитата Ссылка на комментарий
Innk Опубликовано 12 сентября, 2010 Жалоба Поделиться Опубликовано 12 сентября, 2010 Так ты книги про делфи, паскаль почитайА то ты грамматические ошибки не видишь даже. Цитата Ссылка на комментарий
ZyXEL12m94*41 Опубликовано 12 сентября, 2010 Автор Жалоба Поделиться Опубликовано 12 сентября, 2010 Innk я читаю потихоньку.Какие ошибки то? Цитата Ссылка на комментарий
Petrovichtim Опубликовано 12 сентября, 2010 Жалоба Поделиться Опубликовано 12 сентября, 2010 "еnd;"убери его Цитата Ссылка на комментарий
nipand Опубликовано 12 сентября, 2010 Жалоба Поделиться Опубликовано 12 сентября, 2010 В конце кода, перед end. нужно написать:end; // закрытие case mode ofend; // закрытие procedure TForm1.ButtonClick(Sender: TObject);а все выражения, такие как: Panel1.Caption:=Panel1.Caption+1 нужно заменить на Panel1.Caption:=Panel1.Caption+'1'т.к. свойство Caption - строкового типа, а 1 - числового, но, текст, заключенный в апострофы является строкой.Насчет begin - end, можешь посчитать их, должно быть одинаковое количество Цитата Ссылка на комментарий
ZyXEL12m94*41 Опубликовано 12 сентября, 2010 Автор Жалоба Поделиться Опубликовано 12 сентября, 2010 Panel1.Caption:=Panel1.Caption+1 я уже заменил, понял что там косяк.щас остальное попробую Цитата Ссылка на комментарий
Innk Опубликовано 12 сентября, 2010 Жалоба Поделиться Опубликовано 12 сентября, 2010 Innk сделал, но теперь он выделяет "end" и выдаетUnit1.pas(55): Incompatible types: 'String' and 'Integer'Несоответствие типов тоже убери (FloatToStr, StrToFloat) Цитата Ссылка на комментарий
Petrovichtim Опубликовано 12 сентября, 2010 Жалоба Поделиться Опубликовано 12 сентября, 2010 скачай исходник в сети, их полно или разберись с типами, строковым и действительным Цитата Ссылка на комментарий
ZyXEL12m94*41 Опубликовано 12 сентября, 2010 Автор Жалоба Поделиться Опубликовано 12 сентября, 2010 Innk, в программировании я как Санёк во всем остальном. Мне желательно все по полочкам разложить.Как я понимаю процедура "FloatToStr" переводит числовое значение в строковое т.е '231' в просто 231?А процедура "StrToFloat" делает все с точностью до наоборот? Цитата Ссылка на комментарий
ZyXEL12m94*41 Опубликовано 12 сентября, 2010 Автор Жалоба Поделиться Опубликовано 12 сентября, 2010 Все, оно заработало=)Вот так это выглядит:interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; Button5: TButton; Button6: TButton; Button7: TButton; Button8: TButton; Button9: TButton; Button10: TButton; Panel1: TPanel; Button11: TButton; Button12: TButton; Button13: TButton; Button14: TButton; Button15: TButton; 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 Button10Click(Sender: TObject); procedure Button11Click(Sender: TObject); procedure Button12Click(Sender: TObject); procedure Button13Click(Sender: TObject); procedure Button14Click(Sender: TObject); procedure Button15Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1; i,p,r:real; mode:integer;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);beginPanel1.Caption:=Panel1.Caption+'1'end;procedure TForm1.Button2Click(Sender: TObject);beginPanel1.Caption:=Panel1.Caption+'2'end;procedure TForm1.Button3Click(Sender: TObject);beginPanel1.Caption:=Panel1.Caption+'3'end;procedure TForm1.Button4Click(Sender: TObject);beginPanel1.Caption:=Panel1.Caption+'4'end;procedure TForm1.Button5Click(Sender: TObject);beginPanel1.Caption:=Panel1.Caption+'5'end;procedure TForm1.Button6Click(Sender: TObject);beginPanel1.Caption:=Panel1.Caption+'6'end;procedure TForm1.Button7Click(Sender: TObject);beginPanel1.Caption:=Panel1.Caption+'7'end;procedure TForm1.Button8Click(Sender: TObject);beginPanel1.Caption:=Panel1.Caption+'8'end;procedure TForm1.Button9Click(Sender: TObject);beginPanel1.Caption:=Panel1.Caption+'9'end;procedure TForm1.Button10Click(Sender: TObject);beginPanel1.Caption:=Panel1.Caption+'0'end;procedure TForm1.Button12Click(Sender: TObject);begini:=StrToFloat(Panel1.Caption);mode:=2;Panel1.Caption:='';end;procedure TForm1.Button13Click(Sender: TObject);begini:=StrToFloat(Panel1.Caption);mode:=3;Panel1.Caption:='';end;procedure TForm1.Button14Click(Sender: TObject);begini:=StrToFloat(Panel1.Caption);mode:=4;Panel1.Caption:='';end;procedure TForm1.Button11Click(Sender: TObject);begini:=StrToFloat(Panel1.Caption);mode:=1;Panel1.Caption:='';end;procedure TForm1.Button15Click(Sender: TObject);begincase mode of1:begin p:=StrToFloat(Panel1.Caption); r:=i+p; Panel1.Caption:=FloatToStr(r); end;2:begin p:=StrToFloat(Panel1.Caption); r:=i-p; Panel1.Caption:=FloatToStr(r); end;3:begin p:=StrToFloat(Panel1.Caption); r:=i/p; Panel1.Caption:=FloatToStr(r); end;4:begin p:=StrToFloat(Panel1.Caption); r:=i*p; Panel1.Caption:=FloatToStr(r); end;end;end;end.unit Unit1; Цитата Ссылка на комментарий
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.