zoukankan      html  css  js  c++  java
  • mormot2 TRawByteStringStream

    mormot2 TRawByteStringStream

    mormot.core.base.pas

      /// TStream using a RawByteString as internal storage
      // - default TStringStream uses WideChars since Delphi 2009, so it is
      // not compatible with previous versions, and it does make sense to
      // work with RawByteString/RawUTF8 in our UTF-8 oriented framework
      // - just like TStringStream, is designed for appending data, not modifying
      // in-place, as requested e.g. by TTextWriter or TBufferWriter classes
      TRawByteStringStream = class(TStream)
      protected
        fPosition: integer;
        fDataString: RawByteString;
        {$ifdef FPC}
        function GetPosition: Int64; override;
        {$endif FPC}
        function  GetSize: Int64; override;
        procedure SetSize(NewSize: Longint); override;
      public
        /// initialize a void storage
        constructor Create; overload;
        /// initialize the storage, optionally with some RawByteString content
        constructor Create(const aString: RawByteString); overload;
        /// read some bytes from the internal storage
        // - returns the number of bytes filled into Buffer (<=Count)
        function Read(var Buffer; Count: Longint): Longint; override;
        /// change the current Read/Write position, within current stored range
        function Seek(const Offset: Int64; Origin: TSeekOrigin): Int64; override;
        /// change the current Read/Write position, within current stored range
        function Seek(Offset: Longint; Origin: Word): Longint; override;
        /// append some data to the buffer
        // - will resize the buffer, i.e. will replace the end of the string from
        // the current position with the supplied data
        function Write(const Buffer; Count: Longint): Longint; override;
        /// retrieve the stored content from a given position, as UTF-8 text
        procedure GetAsText(StartPos, Len: PtrInt; var Text: RawUTF8);
        /// direct low-level access to the internal RawByteString storage
        property DataString: RawByteString
          read fDataString write fDataString;
      end;
    

      

  • 相关阅读:
    this与$(this)的区别
    用CSS3实现文字渐变效果
    css3,filter实现背景背景渐变的效果
    jQuery DOM 元素方法 index() 方法
    toggleClass() 隐藏层
    AJAX与WebService
    对于JSP台头的理解,和预设的重要性
    [转]windows下修改eclipse的默认编码+[转]eclipse 默认文件编码修改
    使用Meta自动定时刷新页面及一些HTML标记
    后台代码里执行弹出脚本方法!(Response.Write)(转)
  • 原文地址:https://www.cnblogs.com/hnxxcxg/p/14055758.html
Copyright © 2011-2022 走看看