platform.independent.streamformat.text.pas

Переключить прокрутку окна
Загрузить этот исходный код

{
    platform.independent.streamformat.text — модуль для разработки классов
    чтения и записи текстовых форматов.

    Copyright © 2021, 2026 Малик Разработчик

    Это свободная программа: вы можете перераспространять её и/или изменять
    её на условиях Меньшей Стандартной общественной лицензии GNU в том виде,
    в каком она была опубликована Фондом свободного программного обеспечения;
    либо версии 3 лицензии, либо (по вашему выбору) любой более поздней версии.

    Эта программа распространяется в надежде, что она будет полезной,
    но БЕЗО ВСЯКИХ ГАРАНТИЙ; даже без неявной гарантии ТОВАРНОГО ВИДА
    или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЁННЫХ ЦЕЛЕЙ. Подробнее см. в Меньшей Стандартной
    общественной лицензии GNU.

    Вы должны были получить копию Меньшей Стандартной общественной лицензии GNU
    вместе с этой программой. Если это не так, см.
    <https://www.gnu.org/licenses/>.
}

unit platform.independent.streamformat.text;

    {$MODE DELPHI}

interface

    {%region} uses
        pascalx.lang,
        platform.independent.streamformat;
    {%endregion}

    {$TYPEINFO ON}
    {$CALLING REGISTER}

    const UNIT_NAME = 'platform.independent.streamformat.text';

    {%region} type
        TextDecoder = interface;
        TextEncoder = interface;
        TextCodec   = interface;

        TextDecoder = interface(DataDecoder) ['{5B59E793-3E7B-4165-8E8F-A5C6D12FC27C}']
            function getText(): UnicodeString;
        end;

        TextEncoder = interface(DataEncoder) ['{5B59E793-3E7B-4165-8E8F-A5C6D12FC27D}']
            procedure setText(const text: UnicodeString);
        end;

        TextCodec = interface(DataCodec) ['{5B59E793-3E7B-4165-8E8F-A5C6D12FC27E}']
            procedure setText(const text: UnicodeString);
            function getText(): UnicodeString;
        end;
    {%endregion}

implementation

    {%region} initialization
        Lang.registerInterfaces([
            typeInfo(TextDecoder),
            typeInfo(TextEncoder),
            typeInfo(TextCodec)
        ]);
    {%endregion}

end.