TransactionFile 1.0 from 14 Mar 2001

Delphi file stream class with commit/rollback capabilities.
Usage transaction mechanism provides reliable restoring contents 
of the file after fault/rollback. Buffering of operation with 
the file also is supported (LRU strategy).

Shareware. Source on registration $49.
Shareware contain dcu only for Delphi5.

Copyright (c) 2000-2001, SoftLab MIL-TEC Ltd
Web:   http://www.softlab.od.ua
Email: support@softlab.od.ua 

------------------------------------------------------------------

For usage add unit TransactionFile to your project.

type
  TTransactionFileStream = class(TFileStream)
  public
    constructor Create(const FileName: string; BuffSize: integer);
    // If the file does not exist he will be created
    // BuffSize determines a size of memory, used for buffering, in pages on 4K.

    procedure ReadBuff(var Buffer; Size,Offset: integer);
    procedure WriteBuff(const Buffer; Size,Offset: integer);

    procedure Commit;
    procedure Rollback;
    procedure Flush;
    // flush all changes from buffers to disk
    // may be used as precommit

    property InTransaction: Boolean;
    property FileName: string read FFileName;
  end;

Create object of TTransactionFileStream type and usage it like as TFileStream.
Transaction started automatically on first write operation. If need call to 
commit/rollback methods. At destroy object all changes will be commit 
automatically.

For learning usage TransactionFile see demo project in folder "Example"
1. RichEdit
   Simple example how to use TransactionFileStream instead of 
   standard TFileStream
2. BinDataSet
   Sample based on TBinaryDataSet - custom data set which uses a flat binary
   structured datafile for single client usage only (by Steven R. Kamradt).
   In this example we add transaction mechanism for DataSet.
   Before open project you must install BinDataSet.dpk in Delphi IDE.
