Convert(Value: Variant): Variant;
Convert(Value: object): object;
Value. Преобразуемое значение.
Метод Convert преобразует указанное значение.
Тип значения, полученного в результате преобразования необходимо определить в свойстве IValueConverter.DataType.
Приведен пример пользовательского класса, выполняющего округление вещественных значений.
Добавьте ссылки на системные сборки: Cubes, Dal, MathFin.
// Класс, выполняющий преобразование значений
Class Converter: Object, IValueConverter
// Функция преобразования значений
Public Function Convert(Value: Variant): Variant;
Begin
// Выполняем округление значения
Return Math.Round(Value As Double,2);
End Function Convert;
// Возвращаем тип преобразованных значений
Public Function get_DataType: DbDataType;
Begin
Return dbDataType.Float;
End Function get_DataType;
// Функция для проверки возможности преобразования значения
Public Function TryConvert(Value: Variant; Var Result: Variant): Boolean;
Begin
Try
// Если преобразование возможно, то функция вернёт значение True
Result := Convert(Value);
Return True;
Except
End Try;
// Если преобразование невозможно, то функция вернёт значение False
Return False;
End Function TryConvert;
End Class Converter;
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Cubes;
Imports Prognoz.Platform.Interop.Dal;
Imports Prognoz.Platform.Interop.MathFin;
…
// Класс, выполняющий преобразование значений
Public Class Converter: Object, IValueConverter
// Функция преобразования значений
Public Function Convert(Value: object): object;
Var
Maht: MathClass;
Begin
// Выполняем округление значения
Maht := New MathClass.Create();
Return Maht.Round(Value As Double, 2);
End Function Convert;
// Возвращаем тип преобразованных значений
Public Property DataType: DbDataType
Get
Begin
Return dbDataType.ddtFloat;
End Get
End Property DataType;
// Функция для проверки возможности преобразования значения
Public Function TryConvert(Value: object; Var Result: object): Boolean;
Begin
Try
// Если преобразование возможно, то функция вернёт значение True
Result := Convert(Value);
Return True;
Except
End Try;
// Если преобразование невозможно, то функция вернёт значение False
Return False;
End Function TryConvert;
End Class Converter;
См. также: