TBufferedFileStream.Create constructor
Constructor for the class instance.
Declaration
constructor Create(const AFileName: string; Mode: Word)
constructor Create(const AFileName: string; Mode: Word;
Rights: Cardinal)Arguments
AFileName | File name with the content for the buffered file stream. |
Mode | File mode used to open the file. |
Rights | File rights used to open the file. |
Description
Create is the constructor for the class instance. Overloaded
variants are provided to match the constructors used in the ancestor
class (
TFileStream).
Create ensures that resources are allocated for the internal buffer. By
default, the buffer reserves 8 blocks (pages) with 4,096 bytes per block
(page). Create calls InitializeCache to allocate resources
needed for the internal buffer.
Create calls the inherited constructor using the parameter values passed to the method.
AFileName is the qualified path to the file where the content
in the stream is stored.
Mode contains the file mode used for the file handle in the
ancestor class. It uses the following file mode constant values:
- fmCreate
- Creates the file it does not already exist.
- fmOpenRead
- Opens the file for read-only access.
- fmOpenWrite
- Opens the file for write-only access.
- fmOpenReadWrite
- Opens the file for read / write access.
The file mode constants (except for fmCreate) can be OR'd with sharing mode constants, including:
- fmShareCompat
- Opens the file in DOS-compatibility sharing mode.
- fmShareExclusive
- Locks the file for exclusive use.
- fmShareDenyWrite
- Locks the file and denies write access to other processes.
- fmShareDenyRead
- Locks the file and denies read access to other processes.
- fmShareDenyNone
- Does not lock the file.
Rights contains the value used as the file mode on
UNIX-like file systems. It contains a value representing the read, write,
execute, sticky-bit, setgid, and setuid flags used on the platform. It is
ignored for all other platforms, and is significant only when using
fmCreate in
Mode.
The Size for the internal buffer is updated to use the length
of the file stream.
See also
An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.
