Скачать Wierd Stream Tricks 1.5 - Streams Support for TV
STREAMS - TP/BP/TPW unit to supplement TurboVision/ObjectWindows streams
Version 1.5. Copyright D.J. Murdoch (1992,1993).
DESCRIPTION
"Wierd Stream Tricks" might be a good name for this unit. It
contains a miscellaneous collection of objects and procedures, all
on a theme of adding functionality to the streams in Borland's
Turbo Pascal libraries TurboVision and ObjectWindows.
Most of my testing has been in TP 6 and BP 7 real mode; the code
and demos also appear to work in BP 7 protected mode, and compile
under Windows, but use it with care in those "foreign"
environments.
LICENSE
This unit is *not* public domain code. You may use it for
non-profit purposes at no charge if credit is granted, but written
permission must be obtained from me for use of this unit in
commercial products.
A lot of the code in this unit is code that's been made freely
available by others, some of it under their copyright, other parts
public domain. As far as I know, all code included here may be
used non-commercially for free. See the list of credits at the end
for all the (known) authors.
FILES IN ARCHIVE
- Streams.doc - this file
- Streams.pas - main source file for unit
- Lzwstrea.asm - source for LZW compression
- StDefine.inc - a few conditional compiler defines
- Xmsstrm.inc - source for XMS stream
- Crc16.asm - source for 16 bit CRC
- Crc32.asm - source for 32 bit CRC
- Crcarc.asm - source for ARC-style 16 bit CRC
- Lzwstrea.obj - assembled code for external linking
- Crc16.obj - " " " " "
- Crcarc.obj - " " " " "
- Crc32.obj - " " " " "
Demo programs:
- Encrypt.pas - encryption program, using TEncryptFilter
- Compress.pas - file compressor, using TLZWFilter
- Huffman.pas - defines a Huffman encoding filter, using TBitFilter
- HuffComp.pas - file compressor using THuffmanFilter
- Logdemo.pas - simple demo of TLogFilter
- Ovrdemo.pas - simple demo of multiple overlay files
ovr1.pas - one overlaid unit
ovr2.pas - a second overlaid unit
- Textdemo.pas - simple demo of TTextFilter
Release history and credits
- - First release, missing LZW. Immediately replaced by
- - First correct release: TFilter, TEncryptFilter, TTextFilter,
TLogFilter, TRAMStream, TNamedBufStream, TTempBufStream,
TempStream, overlay procedures (my ideas), TLZWFilter
(from code by Wilbert van Leijen)
- - TNulStream, TXMSStream added (from Stefan Boether)
TBitFilter added (suggestion of Rene Seguin)
TFilter.Done calls Flush
TRAMStream.UseBuf and OwnMem added.
- - TDupFilter, TSequential, TChksumFilter added (my ideas),
TCRC16Filter, TCRCARCFilter, TCRC32Filter and related procedures
added (from code by Edwin T. Floyd, Stephen Satchell, Chuck
Forsberg, Mark G. Mendel, R. P. Byrne, J. R. Louvau and
probably others); TFilter.Flush added; HUFFMAN demo added.
- - Recoded several of the TRAMStream methods in assembler for
more speed; fixed numerous TTextFilter bugs and added
TTextFilter.AssignStream and TextDemo.pas; fixed
TXMSStream.Seek bug. Changed xms_Memavail and xms_Maxavail
to report in bytes, and added ems_Memavail and ems_Maxavail
(based on code sent to me by Eyal Doron) and disk_Memavail
and disk_Maxavail. Changed TXMSStream.Init to match
TEMSStream.Init. Added TConcatFilter, TLimitFilter,
TLoopFilter, TReverseFilter and TWorkStream. Added OwnsBase
field to TFilter. Did some testing to assure that the unit
works in BP 7 protected mode. Thanks to Max Maschein, Eyal
Doron, and others for bug fix help.
- - The first public release of the 1.4 enhancements.