Simple-Scada forum

Simple-Scada 2 => Ошибки => Тема начата: pan2000 от 09 Августа 2017, 21:12:48

Название: Переменная WORD - особенности преобразования типов.
Отправлено: pan2000 от 09 Августа 2017, 21:12:48
Переменная типа WORD преобразуется в вещественные типы как число со знаком:

Код
var
  x: word;
  y: double;
begin                                      // Пример для x = 40000
  x := TM_Text(Sender).Variable.Value;
  Field2.Text := IntToStr(x);              // Field2.Text = '40000'

  y := x;
  Field3.Text := FloatToStr(y);            // Field3.Text = '-25536.00'

  y := TM_Text(Sender).Variable.Value;
  Field4.Text := FloatToStr(y);            // Field4.Text = '40000.00'
end.       
Название: Re: Переменная WORD - особенности преобразования типов.
Отправлено: Simple-Scada от 10 Августа 2017, 09:57:02
Здравствуйте. Спасибо за пример проекта. В ближайшее время займемся этой проблемой. Сейчас как грубое решение можно предложить явное приведение к типу Integer, например:

Код
var
  x: word;
  y: double;
begin                                      // Пример для x = 40000
  x := TM_Text(Sender).Variable.Value;
  Field2.Text := IntToStr(x);              // Field2.Text = '40000'

  y := integer(x);
  Field3.Text := FloatToStr(y);            // Field3.Text = '-25536.00'

  y := TM_Text(Sender).Variable.Value;
  Field4.Text := FloatToStr(y);            // Field4.Text = '40000.00'
end.