Я кодирую программу с Pascal в fastreport. Проблема возникает, когда я пытаюсь показать результат деления. это моя программа:Неверная операция с плавающей запятой Pascal
var
relec_tp_for_pa, tp_for_pa, relec_tt_tp, total_tp, coef_relec : Real = 0;
relec_vt : Integer = 0;
procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
begin
if ((<EJobsQuery."SERV_ID"> = 54)) then
begin
relec_tp_for_pa := tp_for_pa;
relec_vt := relec_vt + <EJobsQuery."EJOB_VOLUME">;
relec_tt_tp := relec_tt_tp + tp;
total_tp := total_tp + tp;
end;
coef_relec := StrToFloat(FormatFloat('0.0000', relec_tt_tp/total_tp));
relec_pa.Text := FormatFloat('0.00', relec_vt /(relec_tp_for_pa * coef_relec));
relec_pr.Text := FloatToStr(relec_vt/relec_tt_tp);
end;
Оба этих подразделения:
-relec_vt/(relec_tp_for_pa * coef_relec)
-relec_vt/relec_tt_tp
дает мне ошибку: недопустимая операция с плавающей точкой
I Кодирование в отчете FastReport 4.11.4. до 32 бит ОС, если это может помочь.
Еще раз спасибо.
Ваши переменные неинициализированы. Что вы ожидаете? Не делай этого. – gnasher729
@ gnasher729 В моей программе все переменные инициализированы, так что это не проблема, спасибо –
Ok @RyanVincent Я попробую это решение –