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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2012, 23:17   #1
Matrix6993
Пользователь
 
Регистрация: 26.12.2011
Сообщений: 69
По умолчанию Модуль - треугольник

Добрый вечер! Прошу помощи у программистов в моей нерешаемой для меня проблеме! Я создал модуль в котором есть 3 Edit'a (в которые вводится 3 стороны треугольника) и 1 кнопка по которой мы определяем входные данные на существование треугольника!
вот Код зарограммированной кнопки:

procedure TForm1.Button1Click(Sender: TObject); //кнопка Ввод
begin
if (Edit1.Text = '') or (Edit2.Text = '') or (Edit3.Text = '') then //если хотябы 1 Edit пуст
MessageBox(0, 'В одном из Edit отсутсвуют данные', 'Ошибка', MB_ICONWarning); //то выводим сообщение
exit;


a:=StrToFloat(Edit1.Text); //присваиваем переменную a к Edit1.text
b:=StrToFloat(Edit2.Text); //присваиваем переменную b к Edit2.text
c:=StrToFloat(Edit3.Text); //присваиваем переменную c к Edit3.text

if (a<b+c) and (b<a+c) and (c<a+b) then begin //проверка на существование треугольника (если такие условия истина то существует треугольник)
Label1.Caption:='Данные соответствуют треугольнику!'; //выодим в Label1 сообщение что треугольник существует
p:=a+b+c; //расчет периметра
Button2.Visible:=True; //кнопка Тип
Button3.Visible:=True; //кнопка Периметр
Button4.Visible:=True; //кнопка Площадь
Button6.Visible:=True;
Label6.Visible:=True;
Label7.Visible:=True;
Label8.Visible:=True;
Edit1.Visible:=False;
Edit2.Visible:=False;
Edit3.Visible:=False;
Label6.Caption:=FloatToStr(a);
Label7.Caption:=FloatToStr(b);
Label8.Caption:=FloatToStr(c);
end
else

if (1=1) then begin //если выполняеться данное условие, то треугольник НЕ существует
Label1.Caption:='Нет такого треугольника! Возможно это прямая.';
Button6.Visible:=True;
Edit1.Visible:=False;
Edit2.Visible:=False;
Edit3.Visible:=False;
Label10.Visible:=False;
Label11.Visible:=False;
Label12.Visible:=False;
end;

if (a=b+c) or ( b=a+c) or (c=a+b) then begin //если выполняеться данное условие, то треугольник НЕ существует
label1.Caption:='Нет такого треугольника! Возможно это прямая.';
Button6.Visible:=true;
Edit1.Visible:=False;
Edit2.Visible:=False;
Edit3.Visible:=False;
Label10.Visible:=False;
Label11.Visible:=False;
Label12.Visible:=False;
end;

if (a=0) or (b=0) or (c=0) then //проверка на ввод данных
Label1.Caption:='Введены неверные значения (0,запятая, точка и др.)';
Button1.Visible:=False;
end;

Вот кусок формы:


Проблема в том что дальше этого места которую я выделил жирным, программа не идет! Даже если введены значения во все EDIT'ы то ни чего не происходит после нажатия кнопки!
Как быть подскажите пожалуйста!
Заранее спасибо!
Matrix6993 вне форума Ответить с цитированием
Старый 31.01.2012, 23:37   #2
Larboss
Недо
Участник клуба
 
Регистрация: 11.08.2011
Сообщений: 1,394
По умолчанию

Цитата:
exit;
У вас exit стоит в теле процедуры, т.е. при любых условиях у вас будет происходить выход из процедуры - ничего, что ниже описано не будет выполняться.

Решение:
Код:
if (Edit1.Text = '') or (Edit2.Text = '') or (Edit3.Text = '') then begin
 MessageBox(0, 'В одном из Edit отсутсвуют данные', 'Ошибка', MB_ICONWarning);
exit;
end;
С помощью программирования можно разбогатеть и изменить мир к лучшему (с) Бьерн Страуструп
Larboss вне форума Ответить с цитированием
Старый 31.01.2012, 23:52   #3
Matrix6993
Пользователь
 
Регистрация: 26.12.2011
Сообщений: 69
По умолчанию

я поставил end;
теперь у меня появились совсем другие ошибки
здесь(выделено)
a:=StrToFloat(Edit1.Text);


описание самих же переменных у меня такое: a,b,c,p,s,p1 : real;
Matrix6993 вне форума Ответить с цитированием
Старый 01.02.2012, 00:05   #4
Larboss
Недо
Участник клуба
 
Регистрация: 11.08.2011
Сообщений: 1,394
По умолчанию

Смотрим предыдущий пост внимательней. Begin забыли поставить.
С помощью программирования можно разбогатеть и изменить мир к лучшему (с) Бьерн Страуструп
Larboss вне форума Ответить с цитированием
Старый 01.02.2012, 00:47   #5
Matrix6993
Пользователь
 
Регистрация: 26.12.2011
Сообщений: 69
Радость

ой точно, спасибо вам огромное, очень выручили!
Matrix6993 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Модуль Graph или графический модуль Seferus Паскаль, Turbo Pascal, PascalABC.NET 0 11.12.2011 13:15
Треугольник С++ i.yakushev Помощь студентам 18 05.05.2011 20:55
C++(треугольник) Runner Помощь студентам 2 13.05.2010 10:32
Типизированные файлы, модуль Crt, Модуль Graph Kate_Fleur Помощь студентам 1 06.05.2010 17:43
Треугольник serega11 Помощь студентам 2 22.05.2008 09:01