MsExpressionEdit.OnUpdateFormula

Синтаксис Fore

OnUpdateFormula(Sender: IMsExpressionEdit; Args: ITermEventArgs);

Синтаксис Fore.NET

OnUpdateFormula(Sender: Prognoz.Platform.Interop.Ms.MsExpressionEdit;
                Args: Prognoz.Platform.Interop.Forms.TermEventArgs);

Параметры

Sender. Компонент, сгенерировавший событие;

Args. Аргументы события.

Описание

Событие OnUpdateFormula возникает при преобразовании внешнего представления выражения во внутреннее.

Комментарии

Событие OnUpdateFormula вызывается для литеральных термов, формула и текст которых совпадают. Оно позволяет задать внешнему представлению внутреннее.

Преобразование внешнего представления терма во внутреннее происходит, например, при вводе или изменении текста в компоненте MsExpressionEdit.

Пример Fore

Для выполнения примера предполагается наличие формы, содержащей компонент MsExpressionEdit с идентификатором «MsExpressionEdit1».

Пример является обработчиком события OnUpdateFormula для компонента «MsExpressionEdit1».

Sub MsExpressionEdit1OnUpdateFormula(Sender: IMsExpressionEdit; Args: ITermEventArgs);
Begin
    If Args.Term = Null Then
        Return;
    End If;
    Args.Term.IsHyperlink := True;
    Debug.WriteLine("Разделители выражений: '" + Sender.HeavyDelimiters + "'");
    Debug.WriteLine("Разделитель слов в выражении: '" + Sender.LightDelimiters + "'");
    Debug.WriteLine("Максимальное число слов в выражении: '" + Sender.MaxTermWordCount.ToString + "'");
End Sub MsExpressionEdit1OnUpdateFormula;

После выполнения примера в окно консоли будут выведены данные о разделителях выражений, разделителе слов в выражении и максимальном числе слов в выражении. Выражения будут представлены в виде гиперссылок.

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore. Вместо компонентов Fore используйте их Fore.NET аналоги.

Private Sub msExpressionEditNet1_OnUpdateFormula(Sender: Prognoz.Platform.Interop.Ms.MsExpressionEdit; Args: Prognoz.Platform.Interop.Forms.TermEventArgs);
Begin
    If Args.Term = Null Then
        Return;
    End If;
    Args.Term.IsHyperlink := True;
    System.Diagnostics.Debug.WriteLine("Разделители выражений: '" + Sender.HeavyDelimiters + "'");
    System.Diagnostics.Debug.WriteLine("Разделитель слов в выражении: '" + Sender.LightDelimiters + "'");
    System.Diagnostics.Debug.WriteLine("Максимальное число слов в выражении: '" + Sender.MaxTermWordCount.ToString() + "'");
End Sub;

См. также:

MsExpressionEdit