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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.05.2014, 09:28   #1
Олег093
Пользователь
 
Регистрация: 17.04.2011
Сообщений: 18
По умолчанию Расчеты в дэлфи

Всем привет! Делаю программу расчета редуктора. Возникла проблема.Необходимо при введении Значения в Edit1 и Edit5 получить с помощью расчета по формуле значение в Edit2. Можно кусочек текста реализации сей причуды? Картинка во вложении.
Изображения
Тип файла: jpg Снимок.JPG (73.7 Кб, 153 просмотров)
Олег093 вне форума Ответить с цитированием
Старый 10.05.2014, 09:50   #2
ATL
Форумчанин
 
Аватар для ATL
 
Регистрация: 26.01.2007
Сообщений: 278
По умолчанию

Код:
var x, y, result: real;

x := StrToFloat(Edit1.Text);
y := StrToFloat(Edit5.Text);
result := (x + y) * 2; 
Edit2.Text := FloatToStr(result);
ATL вне форума Ответить с цитированием
Старый 10.05.2014, 22:18   #3
Олег093
Пользователь
 
Регистрация: 17.04.2011
Сообщений: 18
По умолчанию

А вот еще вопрос, как сделать так, чтобы не выводилась ошибка при вводе в Edit1, что окно edit5 пустое?
Олег093 вне форума Ответить с цитированием
Старый 11.05.2014, 11:20   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
if not TryStrToFloat(Edit5.Text,y) then begin
 ShowMessage('Там не число'); exit;
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.05.2014, 17:37   #5
Олег093
Пользователь
 
Регистрация: 17.04.2011
Сообщений: 18
По умолчанию

Почему то не хочет компилировать, выделяет строку if not TryStrToFloat(Edit5.Text,y) красным цветом, я закинул этот код в edit5.
Олег093 вне форума Ответить с цитированием
Старый 11.05.2014, 17:51   #6
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Олег093, а что пишет внизу в сообщениях об ошибке ?
И где у вас код? Покажите именно ту процедуру, где TryStrToFloat(Edit5.Text,y). Начиная с procedure TForm1. и т д.
type_Oleg вне форума Ответить с цитированием
Старый 11.05.2014, 20:34   #7
Олег093
Пользователь
 
Регистрация: 17.04.2011
Сообщений: 18
По умолчанию

Код:
procedure TMainForm.Exit1Click(Sender: TObject);
begin
Close;
end;

procedure TMainForm.N2Click(Sender: TObject);
begin
MessageDlg('Àâòîìàòèçèðîâàííûé 
ðàñ÷åò îäíîñòóïåí÷àòîãî 
÷åðâÿ÷íîãî ðåäóêòîðà
'#13#10'© 2014 ÂîëãÃÒÓ'#13#10'Àâòîð: 
Ìóøêèí Î.Â.'#13#10'Âåðñèÿ 1.00'
,mtInformation, [mbOK],0);
end;

procedure TMainForm.N3Click(Sender: TObject);
begin
close;
end;

procedure TMainForm.Edit1Change(Sender: TObject);
var x,y,result:real;
begin
x:=StrToFloat(Edit1.Text);
y:=StrToFloat(Edit5.Text);
result:=x/y;
Edit2.Text:=FloatToStr(result);
if not TryStrToFloat(Edit1.Text,x) then begin
ShowMessage('Òàì íå ÷èñëî'); exit;
end;
end;

procedure TMainForm.Edit5Change(Sender: TObject);
var x,y,result:real;
begin
x:=StrToFloat(Edit1.Text);
y:=StrToFloat(Edit5.Text);
result:=x/y;
Edit2.Text:=FloatToStr(result);
if not TryStrToFloat(Edit5.Text,y) then begin
ShowMessage('Òàì íå ÷èñëî'); exit;
end;
end;

procedure TMainForm.Edit37Change(Sender: TObject);
var x1,y1,result1:real;
begin
x1:=StrToFloat(Edit1.Text);
y1:=StrToFloat(Edit37.Text);
result1:=(y1*30000/3.14/x1);
Edit3.Text:=FloatToStr(result1);
end;

procedure TMainForm.Edit34Change(Sender: TObject);
var x2, result2:real;
begin
x2:=StrToFloat(Edit34.Text);
result2:=x2*5.5;
Edit37.Text:=FloatToStr(result2);
end;

procedure TMainForm.FormCreate(Sender: TObject);
begin

end;

end.

Последний раз редактировалось Stilet; 12.05.2014 в 08:11.
Олег093 вне форума Ответить с цитированием
Старый 11.05.2014, 21:05   #8
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Вместо
Код:
 var x,y,result:real;
вот это
Код:
 var x,y,result:Extended; // потому что так в описании TryStrToFloat для y. Можно Double
И TryStrToFloat(Edit5.Text,y) - это вместо y:=StrToFloat(Edit5.Text)
Наверное, и с x надо то же самое ?
type_Oleg вне форума Ответить с цитированием
Старый 12.05.2014, 08:13   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
потому что так в описании TryStrToFloat для y. Можно Double
А это кстати не имеет значения, ибо компилятор все равно real за double посчитает.
Цитата:
type_Oleg
У тебя случайно нет паяльника под рукой? Похоже текст ошибки из автора придется добывать ректально-анализационными методами.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.05.2014, 09:08   #10
Олег093
Пользователь
 
Регистрация: 17.04.2011
Сообщений: 18
По умолчанию

[Фатальная ошибка] Project1.dpr(6): Could not compile used unit 'Unit1.pas'
Олег093 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Расчеты в dbgrid god5 БД в Delphi 2 21.03.2014 20:14
Расчеты в запросах Daelan Microsoft Office Access 5 03.12.2012 17:32
Расчеты в HTML unijkoder HTML и CSS 6 25.01.2012 14:17
Расчеты Ins1De Общие вопросы C/C++ 4 30.05.2010 00:09
Платформы и расчеты Kenshi25 Gamedev - cоздание игр: Unity, OpenGL, DirectX 1 29.12.2008 11:43