
 Text Editor
 Text Editor
procedure EditText(var Text: Text; MaxLineStrLen: Integer; MaxTextLen: Integer; ReadOnly: Boolean) TextModified: Boolean...
field(10; "Text"; Text[1000])
{
    DataClassification = CustomerContent;
    Caption = 'Text', Comment = 'DEU="Text"';
}
field(15; "Starting Date"; Date)
{
......
procedure EditText(Editable: Boolean)
var
    NCEXTextEditorMgt: Codeunit "NCEX Text Editor Mgt.";
    TempText: Text;
begin
    TempText := Text;
    if not NCEXTextEditorMgt.EditText(TempText, 0, MaxStrLen(Text), not Editable) then
        exit;
    Text := CopyStr(TempText, 1, MaxStrLen(Text));
end;
......
field("Text"; Rec."Text")
{
    ApplicationArea = All;
    ToolTip = 'Specifies the text. Click on the field to edit the text.', Comment = 'DEU="Gibt den Text an. Klicken Sie auf das Feld, um den Text zu bearbeiten."';
    Editable = false;
    AssistEdit = true;
    trigger OnAssistEdit()
    begin
        Rec.EditText(CurrPage.Editable());
        CurrPage.Update();
    end;
}
...procedure EditText(RecordRef: RecordRef; TextFieldNo: Integer; var TempBlob: Codeunit "Temp Blob"; ReadOnly: Boolean) TextModified: Boolean

pageextension 50000 "NVX Extended Text Lines" extends "Extended Text Lines"
{
    actions
    {
        addfirst(Processing)
        {
            action(NVXTextEditorAction)
            {
                ApplicationArea = All;
                Caption = 'Text Editor', Comment = 'DEU="Texteditor"';
                Image = Edit;
                ToolTip = 'Edit the text in the text editor.', Comment = 'DEU="Bearbeiten Sie den Text im Texteditor."';
                trigger OnAction()
                var
                    ExtendedTextLine: Record "Extended Text Line";
                    NCEXTextEditorMgt: Codeunit "NCEX Text Editor Mgt.";
                    TempBlob: Codeunit "Temp Blob";
                    RecordRef: RecordRef;
                    InStream: InStream;
                    NextLineNo: Integer;
                    TempText: Text;
                begin
                    Clear(ExtendedTextLine);
                    ExtendedTextLine.SetRange("Table Name", Rec."Table Name");
                    ExtendedTextLine.SetRange("No.", Rec."No.");
                    ExtendedTextLine.SetRange("Language Code", Rec."Language Code");
                    ExtendedTextLine.SetRange("Text No.", Rec."Text No.");
                    RecordRef.GetTable(ExtendedTextLine);
                    if not NCEXTextEditorMgt.EditText(RecordRef, ExtendedTextLine.FieldNo(Text), TempBlob, not CurrPage.Editable()) then
                        exit;
                    ExtendedTextLine.LockTable();
                    ExtendedTextLine.DeleteAll();
                    NextLineNo := 10000;
                    TempBlob.CreateInStream(InStream);
                    while (not InStream.EOS()) do begin
                        Clear(ExtendedTextLine);
                        ExtendedTextLine."Table Name" := Rec."Table Name";
                        ExtendedTextLine."No." := Rec."No.";
                        ExtendedTextLine."Language Code" := Rec."Language Code";
                        ExtendedTextLine."Text No." := Rec."Text No.";
                        ExtendedTextLine."Line No." := NextLineNo;
                        NextLineNo += 10000;
                        InStream.ReadText(TempText);
                        ExtendedTextLine.Text := CopyStr(TempText, 1, MaxStrLen(ExtendedTextLine.Text));
                        ExtendedTextLine.Insert();
                    end;
                end;
            }
        }
    }
}procedure EditText(var TempBlob: Codeunit "Temp Blob"; MaxLineStrLen: Integer; MaxTextLen: Integer; ReadOnly: Boolean) TextModified: Boolean...
field(50000; "Text Preview"; Text[250])
{
    DataClassification = CustomerContent;
    Caption = 'Text Preview', Comment = 'DEU="Textvorschau"';
}
field(50001; "Text Storage"; Blob)
{
    DataClassification = CustomerContent;
    Caption = 'Text Storage', Comment = 'DEU="Textspeicher"';
}
procedure EditText(Editable: Boolean)
var
    NCEXTextEditorMgt: Codeunit "NCEX Text Editor Mgt.";
    TempBlob: Codeunit "Temp Blob";
    InStream: InStream;
    OutStream: OutStream;
    NewText: Text;
begin
    CalcFields("Text Storage");
    "Text Storage".CreateInStream(InStream);
    TempBlob.CreateOutStream(OutStream);
    CopyStream(OutStream, InStream);
    if not NCEXTextEditorMgt.EditText(TempBlob, 0, 0, not Editable) then
        exit;
    TempBlob.CreateInStream(InStream);
    InStream.Read(NewText);
    SaveText(NewText);
end;
procedure SaveText(NewText: Text)
var
    OutStream: OutStream;
begin
    "Text Storage".CreateOutStream(OutStream);
    OutStream.Write(NewText);
    "Text Preview" := CopyStr(NewText, 1, MaxStrLen("Text Preview"));
end;
......
field("Text Preview"; Rec."Text Preview")
{
    ApplicationArea = All;
    ToolTip = 'Specifies the text. Click on the field to edit the text.', Comment = 'DEU="Gibt den Text an. Klicken Sie auf das Feld, um den Text zu bearbeiten."';
    Editable = false;
    AssistEdit = true;
    trigger OnAssistEdit()
    begin
        Rec.EditText(CurrPage.Editable());
        CurrPage.Update();
    end;
}
...
|  | FinanzOnline VAT Reg. No. Validation VAT Reg. No. validation via the Austrian FinanzOnline (FON) service. More information  |