|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Помогите найти проблему в проге!
Необходимо чтобы программа показывала какое-либо сообщение об ошибке, если в поле значение введены символы или буквы. Язык делфи
код программы Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, jpeg, Menus, Buttons; type TForm1 = class(TForm) Edit1: TEdit; ComboBox1: TComboBox; ComboBox2: TComboBox; Edit2: TEdit; MainMenu1: TMainMenu; N1: TMenuItem; N2: TMenuItem; N3: TMenuItem; N4: TMenuItem; Image1: TImage; Image2: TImage; BitBtn1: TBitBtn; BitBtn2: TBitBtn; BitBtn3: TBitBtn; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label3: TLabel; Label1: TLabel; Label2: TLabel; Label9: TLabel; PopupMenu1: TPopupMenu; N5: TMenuItem; N6: TMenuItem; N7: TMenuItem; procedure N2Click(Sender: TObject); procedure N4Click(Sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure BitBtn3Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject); procedure N5Click(Sender: TObject); procedure N6Click(Sender: TObject); procedure N7Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; S,Y,I:Extended; implementation {$R *.dfm} procedure TForm1.N2Click(Sender: TObject); begin CLOSE ; end; procedure TForm1.N4Click(Sender: TObject); begin ShowMessage('Программа конвертации мер массы.' +#13#10+'Версия 1.00.0' +#13#10+'Автор:Борискина Анна'); end; procedure TForm1.BitBtn1Click(Sender: TObject); begin I:=StrToFloat(Edit1.Text); IF combobox1.Text='Килограмм' THEN Y:=I*1; IF combobox1.Text='Грамм' THEN Y:=I*0.001; IF combobox1.Text='Тонна' THEN Y:=I*1000; IF combobox1.Text='Милиграмм' THEN Y:=I*0.000001; IF combobox1.Text='Фунт' THEN Y:=I*0.45359237; IF combobox1.Text='Гран' THEN Y:=I*0.00006479891; IF combobox1.Text='Унция' THEN Y:=I*0.0283495231; IF combobox2.Text='Килограмм' THEN S:=Y/1; IF combobox2.Text='Грамм' THEN S:=Y/0.001; IF combobox2.Text='Тонна' THEN S:=Y/1000; IF combobox2.Text='Милиграмм' THEN S:=Y/0.000001; IF combobox2.Text='Фунт' THEN S:=Y/0.45359237; IF combobox2.Text='Гран' THEN S:=Y/0.00006479891; IF combobox2.Text='Унция' THEN S:=Y/0.0283495231; Edit2.Text:=FloatToStr(S); Label9.Caption:=combobox2.Text; //ShowMessage(combobox1.Text); end; procedure TForm1.BitBtn3Click(Sender: TObject); begin close; end; procedure TForm1.BitBtn2Click(Sender: TObject); begin ShowMessage('Программа конвертации мер массы.' +#13#10+'Версия 1.00.0' +#13#10+'Автор:Борискина Анна'); end; procedure TForm1.N5Click(Sender: TObject); begin I:=StrToFloat(Edit1.Text); IF combobox1.Text='Килограмм' THEN Y:=I*1; IF combobox1.Text='Грамм' THEN Y:=I*0.001; IF combobox1.Text='Тонна' THEN Y:=I*1000; IF combobox1.Text='Милиграмм' THEN Y:=I*0.000001; IF combobox1.Text='Фунт' THEN Y:=I*0.45359237; IF combobox1.Text='Гран' THEN Y:=I*0.00006479891; IF combobox1.Text='Унция' THEN Y:=I*0.0283495231; IF combobox2.Text='Килограмм' THEN S:=Y/1; IF combobox2.Text='Грамм' THEN S:=Y/0.001; IF combobox2.Text='Тонна' THEN S:=Y/1000; IF combobox2.Text='Милиграмм' THEN S:=Y/0.000001; IF combobox2.Text='Фунт' THEN S:=Y/0.45359237; IF combobox2.Text='Гран' THEN S:=Y/0.00006479891; IF combobox2.Text='Унция' THEN S:=Y/0.0283495231; Edit2.Text:=FloatToStr(S); Label9.Caption:=combobox2.Text; //ShowMessage(combobox1.Text); end; procedure TForm1.N6Click(Sender: TObject); begin ShowMessage('Программа конвертации мер массы.' +#13#10+'Версия 1.00.0' +#13#10+'Автор:Борискина Анна'); end; procedure TForm1.N7Click(Sender: TObject); begin close; end; end. Когда пишу Код:
begin try I:=StrToFloat(Edit1.Text); except ShowMessage('Неверный ввод значения'); end; дальше выдает ошибки на все procedure Как решить проблему? помогите(( Последний раз редактировалось anna-a, 12.05.2012 в 17:25. |
#2
|
||||
|
||||
если правильно понимаю
Цитата:
запускать не из-под IDE (скомпилировать, свернуть IDE, найти экзешник, запустить, протестировать) или лезть в настройки IDE и настраивать обработку ошибок, что не рекомендую еще можно использовать StrToFloatDef |
#3
|
||||
|
||||
Цитата:
Если да, то в Вашем случае не хватает end 'a. Помогаю за Спасибо |