SDL Component Suite - Streams

The unit STREAMS contains a collection of routines to access streams more easily. It is comprised of routines to read and write strings, scan streams for various numeric formats, search and replace expressions in streams, extract XML tags, etc. More details can be found in the online help pages.

The unit STREAMS is part of the SDL Component Suite.


What's new:

  • Release 12.0   [Dec-12, 2023]
     
    • bug fix: SDL_streams.ReadlnStream crashed if the final character was just LF instead of CRLF

  • Release 10.7   [Aug-24, 2020]
     
  • Release 10.6   [Mar-09, 2018]
     
  • Release 10.5   [Oct-10, 2016]
     
    • the function ReadDoubleFromStream reads a double value from a binary stream
    • bug fix: ScanStreamFPNum did not set the position of the stream correctly
    • bug fix: ScanStreamDecimal did not skip CRLF correctly

  • Release 10.4   [Jun-02, 2015]
     
    • no changes

  • Release 10.3   [Oct-06, 2014]
     
    • bug fix: ReadNextTagInTextFile and ReadNextTagInStream now correctly skip comment lines

  • Release 10.2   [May-30, 2013]
     
    • no changes

  • Release 10.1   [Oct-29, 2012]
     
    • no changes

  • Release 10.0   [Oct-4, 2011]
     
    • no changes

  • Release 9.7   [May-31, 2010]
     
    • no changes

  • Release 9.51   [Dec-01, 2008]
     
    • no changes

  • Release 9.5   [Oct-31, 2008]
     
    • no changes

  • Release 9.0   [May-28, 2007]
     
    • no changes

  • Release 8.5   [Feb-18, 2006]
     
    • no changes

  • Release 8.2   [Nov-03, 2004]
     
    • bug fix: function ScanForXMLAttrib does not crash if tag string is not properly closed

  • Release 8.1   [Aug-29, 2004]
     
  • Release 8.0   [Apr-15, 2004]
     
    • new modifier for SearchAndReplace: @V replaces all invalid filename characters by underscores
    • speed of ScanStreamForXMLTag improved dramatically for long XML streams
    • bug fix: SearchAndReplace now returns the correct "ValidFrom" token value if the search expression is ".*"
    • bug fix: function ReadNextTagInStream does no longer crash if XML input string contains empty line

  • Release 7.2   [Mar-23, 2003]
     
    • STREAMS is now part of BasePack
    • new modifier for SearchAndReplace: @Y expands diphthongs into ASCII character combinations
    • new routine: StringAsStream converts stream to string
    • ExtractFromStream now offers two new commands: "InsertDate" and "CopyAll"
    • bug fix: ReadNextTagInStream and ReadNextTagInTextFile now correctly read end tags

  • Release 7.0   [Sep-15, 2002]
     
    • available for Delphi™ 7.0
    • the unit is now CLX compatible
    • SearchAndReplace extended by "unknown modifier" event

  • Release 6.5   [May-28, 2002]
     
    • available for C++Builder™ 6.0
    • ReadNextTagInTextFile implemented
    • ScanStreamForXMLTag has been redefined and returns now parameters and contents of an XML tag
    • SearchAndReplace now supports special conversion commands
    • bug fix: ReadNextTagInStream extracts embedded tags now correctly
    • bug fix in ScanForXMLAttrib: function does not crash if wanted attribute does not exist

  • Release 6.0 [Aug-06, 2001]
     
    • Streams is now available to the public and included in the SDL Component Suite 6.0
    • available for Delphi™ 6.0
    • marks (command SETMARK) of ExtractFromStream are now persistent
    • ReadStreamUntil implemented
    • ReadStreamUntilTagList implemented
    • ReadNextTagInStream implemented
    • ReadNextTagInTextFile implemented
    • ExtractFromStream now supports non-printable characters
    • bug fix: ScanStreamForXMLTag parameter "error" is now set correctly
       
  • Release 1.1   [Nov-03, 2000]
     
    • procedure WriteStringStream implemented
    • function SearchAndReplace implemented
       
  • Release 1.0   [Jul-04, 2000]
     
    • first release to the public
    • ExtractFromStream has been moved from unit StringL; Instream may now be of any stream type
    • ExtractFromStream does no longer automatically reset the position of the input stream; this makes multiple calls with the same set-up possible.