Codeunit 704 MemoryStream Wrapper

App
Base Application
Namespace
System.IO
Versions
17-28

Procedures, 9

Versions171819202122232425262728

Source29

Source in 29

src/Layers/W1/BaseApp/System/MemoryStreamWrapper.Codeunit.al69 lines, Copyright (c) Microsoft Corporation. MIT

namespace System.IO;

using System;

codeunit 704 "MemoryStream Wrapper"
{

    trigger OnRun()
    begin
    end;

    var
        MemoryStream: DotNet MemoryStream;
        StreamWriter: DotNet StreamWriter;
        StreamReader: DotNet StreamReader;

    procedure Create(Capacity: Integer)
    begin
        MemoryStream := MemoryStream.MemoryStream(Capacity);
    end;

    procedure SetPosition(Position: Integer)
    begin
        MemoryStream.Position := Position;
    end;

    procedure GetPosition(): Integer
    begin
        exit(MemoryStream.Position);
    end;

    procedure CopyTo(OutStream: OutStream)
    begin
        MemoryStream.CopyTo(OutStream);
    end;

    procedure GetInStream(var InStream: InStream)
    begin
        InStream := MemoryStream;
    end;

    procedure ReadFrom(var InStream: InStream)
    begin
        CopyStream(MemoryStream, InStream);
    end;

    procedure ToText(): Text
    begin
        MemoryStream.Position := 0;
        if IsNull(StreamReader) then
            StreamReader := StreamReader.StreamReader(MemoryStream);
        exit(StreamReader.ReadToEnd());
    end;

    procedure AddText(Txt: Text)
    begin
        if IsNull(StreamWriter) then
            StreamWriter := StreamWriter.StreamWriter(MemoryStream);
        StreamWriter.Write(Txt);
        StreamWriter.Flush();
    end;

    procedure Length(): Integer
    begin
        exit(MemoryStream.Length);
    end;
}