vars[7]:=StrToFloat(Edit7.Text);
vars[8]:=StrToFloat(Edit8.Text);
vars[9]:=StrToFloat(Edit9.Text);
vars[10]:=StrToFloat(Edit10.Text);
except {В случае если не удаётся - показываем сообщение}
begin
Application.MessageBox('Проверьте правильность введённых данных','Ошибка начальных данных',MB_OK or MB_ICONERROR);
exit;
end;
end;
{Проверка на допустимый интервал значений}
if (vars[1]<=0) or (vars[1]>1) then begin Application.MessageBox('Значение статического момента выходит за границы интервала (0;1)','Ошибка',MB_OK or MB_ICONERROR); exit; end;
if (vars[2]<=0) or (vars[2]>1) then begin Application.MessageBox('Значение момента инерции выходит за границы интервала (0;1)','Ошибка',MB_OK or MB_ICONERROR); exit; end;
if (vars[3]<=0) or (vars[3]>180) then begin Application.MessageBox('Значение угловой скорости выходит за границы интервала (0;10)','Ошибка',MB_OK or MB_ICONERROR); exit; end;
if (vars[4]<=0) or (vars[4]>180) then begin Application.MessageBox('Значение углового ускорения выходит за границы интервала (0;10)','Ошибка',MB_OK or MB_ICONERROR); exit; end;
if (vars[5]<=0) or (vars[5]>100) then begin Application.MessageBox('Значение динамической ошибки выходит за границы интервала (0;100)','Ошибка',MB_OK or MB_ICONERROR); exit; end;
if (vars[6]<=0) or (vars[6]>100) then begin Application.MessageBox('Значение статической ошибки выходит за границы интервала (0;100)','Ошибка',MB_OK or MB_ICONERROR); exit; end;
if (vars[7]<=0) or (vars[7]>10) then begin Application.MessageBox('Значение колебательности выходит за границы интервала (0;10)','Ошибка',MB_OK or MB_ICONERROR); exit; end;
if (vars[8]<=0) or (vars[8]>100) then begin Application.MessageBox('Значение параметра T1 выходит за границы интервала (0;100)','Ошибка',MB_OK or MB_ICONERROR); exit; end;
if (vars[9]<=0) or (vars[9]>100) then begin Application.MessageBox('Значение параметра T2 выходит за границы интервала (0;100)','Ошибка',MB_OK or MB_ICONERROR); exit; end;
if (vars[10]<=0) or(vars[10]>1) then begin Application.MessageBox('Значение к.п.д. выходит за границы интервала (0;1)','Ошибка',MB_OK or MB_ICONERROR); exit; end;
// Перевод в радианы
vars[3] := vars[3]*pi/180;
vars[4] := vars[4]*pi/180;
//Расчёт мощности двигателя
power := 9.81*(((vars[2]*vars[4])+vars[1])/vars[10])*vars[3];
Label18.Caption:='Мощность двигателя: '+FloatToStrF(power,ffFixed,5,4)+' Вт.';
// Выводим информацию и рассчитанные значения
mmStart.Clear;
mmStart.Lines.Add('Угловая скорость и угловое ускорение были переведены в радианы для дальнейшего'+
' расчёта потребляемой мощности исполнительного двигателя двигателя:');
mmStart.Lines.Add('угловая скорость = '+FloatToStrF(vars[3],ffGeneral,5,4)+' рад/c; угловое ускорение = '+FloatToStrF(vars[4],ffGeneral,5,4)+' рад/(c^2).');
mmStart.Lines.Add('Потребляема мощность рассчитанна по формуле Pдв = 9.81*(Jм*Eм + Мст)*Wм/КПД, Pдв = '+FloatToStrF(power,ffFixed,5,4)+' Вт.');
mmStart.Lines.Add('Чтобы перейти в раздел выбора двигателя нажмите кнопку "Дальше >>".');
Button1.Caption := 'Дальше >>' // Меняем заголовок кнопки
end // if Button1.Caption := 'Начать рассчёт' then
else if Button1.Caption = 'Дальше >>' then
begin
// Первый тест
if test_res[1].right<5 then
begin
Form1.Enabled:=false;
Form2.SetTest(1);
Form2.Show;
end // if test_res[1].right<5 then
else begin
//Открываем таблицу и рассчитываем поля по перегреву и перегрузке.
OpenDatabase();
PageControl1.ActivePageIndex:=1; // Показываем следующую страницу
// Заполняем mmBase
mmBase.Clear;
mmBase.Lines.Add('После расчёта мощности исполнительного двигателя и предварительного'+
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.