fbpx

User's Guide

Global object MathTranslator **

Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive
 

Глобальный объект MathTranslator расширяет вычислительные возможности TechEditor. С его помощью можно проводить алгебраические, тригонометрические, матричные, дифференциальные, интегральные, символьные вычисления, а также работать с единицами измерения.

Объект MathTranslator рекомендуется использовать в приложениях к TechEditor для проведения точечных, "встраиваемых" вычислений. Так как данный объект работает преимущественно со строками текста, его также удобно использовать в качестве конвертера единиц измерения (например, предоставив конечным пользователям Вашего приложения возможность вводить данные в тех единицах измерения, которые им удобны).

Подпрограммы общего назначения

procedure Clear;

Процедура Clear перезапускает MathTranslator (удаляет все созданные до этого переменные, функции и т. п.). Рекомендуется перед выполнением обособленного цикла вычислений.

Пример использования:

begin
MathTranslator.Clear;
end;

procedure Add(Expression: string);

Процедура Add добавляет в объект MathTranslator новое математическое выражение Expression. Выражение может содержать определение переменной или функции, или математическую формулу.

Пример использования:

begin
MathTranslator.Add('a=10'); // Add real variable 'a' with value 10.0
end;

Вычисление выражений

function Calculate(Expression: string): Double;

Функция Calculate вычисляет выражение Expression и возвращает числовой результат.

Пример использования:

var
X: Double;
begin
MathTranslator.Add('a=10'); MathTranslator.Add('b=20'); X := MathTranslator.Calculate('a+b');
end;

function CalculateStr(Expression: string): string;

Функция CalculateStr аналогична функции Calculate, но возвращает результат в виде строки текста. Рекомендуется для вывода числового значения, например, непосредственно в отчет.

Пример использования:

var
Msg: string;
begin Msg := MathTranslator.CalculateStr('10+20-50');
ShowMessage('Result: ' + Msg);
end;

Работа с единицами измерения

При работе с единицами измерения через объект MathTranslator следует придерживаться следующих правил.

  1. В качестве десятичного разделителя используется точка: 60.2, -70.90
  2. Единицы измерения отделяются от числового значения физической величины пробелом, например: 45.5 psi, 120.8 dm
  3. Единицы измерения указываются латинскими буквами с соответствующими префиксами: N, MPa, mm, kg.
  4. Физические величины, входящие в выражение, должны быть совместимы, т. е. иметь одинаковые размерности.

function Convert(Value: string; Units: string): Double;

Функция Convert преобразует физическую величину Value в новые единицы измерения Units, и возвращает результат в новых единицах измерения.

Пример использования:

var
L: Double;
begin L := MathTranslator.Convert('155 cm', 'm');
ShowMessage('L=' + FloatToStr(L) + ' m'); // L=1.55 m
end;

function ConvertStr(Value: string; Units: string): string;

Функция ConvertStr аналогична функции Convert, но возвращает результат в виде строки текста. Рекомендуется для вывода числового значения, например, непосредственно в отчет.

Пример использования:

var
V: string;
begin V := MathTranslator.ConvertStr('0.25 MPa', 'Pa');
ShowMessage('P=' + V + ' Pa');
end;

 

Events

Sorry, we currently have no events.
View All Events

English forum

Simple calculator in TechEditor in 10 minutes!

Ontario Building Code 2012 | Load combination (Free Application & Report Template)

Videoreview version 1.0

New articles

Dystlab™ — Project for Engineers

Dystlab™. All rights reserved.

Address in Canada: 223-2275 Lake Shore Boulevard West, Toronto, ON, M8V 3Y3

Address in Ukraine: 76006, Ivano-Frankivsk, st. Ivana Mykolaichuka 17/97

E-mail:
technot needed texteditoranother not needed text@dystlabdummy text.store

Telegram:
https://t.me/techeditor

Legal information

Dystlab™ is a trademark registered in the State Register of Certificates of Ukraine for Goods and Services Marks 26.02.2018, certificate No. 238304. Owner: entepreneur Artomov V.E., EGRPOU/ITN: 3003314690.

All the most interesting about TechEditor — in Twitter. Join us now!

TechEditor Twitter