OWLNext    7.0
Borland's Object Windows Library for the modern age
Loading...
Searching...
No Matches
owl::TTextFile Class Reference

The TTextFile class is derived from TBufferedFile and encapsulates standard file characteristics and operations using text based buffered I/O. More...

#include <owl/file.h>

Inheritance diagram for owl::TTextFile:
owl::TBufferedFile owl::TFile

Public Member Functions

 TTextFile ()
 Creates a TTextFile object with a file handle of FileNull and allocated a buffer of DefaultBufferSize bytes.
 
 TTextFile (const TTextFile &file)
 
 TTextFile (TFileHandle *handle, bool shouldClose)
 Creates a TTextFile object with a file handle of handle.
 
 TTextFile (const tstring &fileName, const uint32 mode=ReadOnly|PermRead|OpenExisting|Text)
 Creates a TTextFile object and opens file name with the given attributes.
 
virtual TCHARGetString (TCHAR *buffer, uint32 size)
 Reads up to size characters and places them in buffer.
 
tstring GetString (int size)
 String-aware overload.
 
virtual bool WriteString (LPCTSTR str)
 Writes the NULL terminated character string in buffer to the file and adds a terminating \r\n character sequence.
 
bool WriteString (const tstring &str)
 
virtual uint8 readUint8 ()
 
virtual uint16 readUint16 ()
 
virtual uint32 readUint32 ()
 
virtual uint64 readUint64 ()
 
virtual float readFloat ()
 
virtual double readDouble ()
 
virtual TCHARreadString (tchar *)
 
virtual void writeUint8 (const uint8)
 
virtual void writeUint16 (const uint16)
 
virtual void writeUint32 (const uint32)
 
virtual void writeUint64 (const uint64)
 
virtual void writeFloat (const float)
 
virtual void writeDouble (const double)
 
virtual void writeString (const tchar *)
 
- Public Member Functions inherited from owl::TBufferedFile
 TBufferedFile ()
 Creates a TBufferedFile object with a file handle of FileNull and allocated a buffer of DefaultBufferSize bytes.
 
 TBufferedFile (const tstring &fileName, const uint32 mode=ReadOnly|PermRead|OpenExisting)
 Creates a TBufferedFile object and opens file name with the given attributes.
 
 TBufferedFile (const TBufferedFile &file)
 
 TBufferedFile (TFileHandle *handle, bool shouldClose)
 Creates a TBufferedFile object with a file handle of handle.
 
virtual ~TBufferedFile ()
 The buffer is flushed. If ShouldDelete is true the buffer is deleted.
 
virtual bool Close ()
 Flushes the buffer and closes the file.
 
virtual bool Length (uint64 newLen)
 Flushes the buffer and then resizes file to newLen.
 
virtual uint64 Position64 () const
 Returns the current position of the file pointer.
 
virtual uint64 Length64 () const
 Returns the file length plus the length of unwritten data in the buffer.
 
virtual uint32 Position () const
 Returns the current position of the file pointer.
 
virtual uint32 Length () const
 Returns the file length plus the length of unwritten data in the buffer.
 
virtual bool Length (uint32 newLen)
 Flushes the buffer and then resizes file to newLen.
 
virtual uint64 Seek (int64 offset, TSeekDir origin=beg)
 Repositions the file pointer to offset bytes from the specified origin.
 
virtual uint32 Seek (long offset, TSeekDir origin=beg)
 Repositions the file pointer to offset bytes from the specified origin.
 
virtual uint32 Read (void *buffer, uint32 numBytes)
 Reads numBytes from the file into buffer. The number of bytes read is returned.
 
virtual bool Write (const void *buffer, uint32 numBytes)
 Writes numBytes of buffer to the file.
 
virtual bool Flush ()
 Writes any data in the buffer to file and then resets the buffer.
 
virtual void SetBuffer (uint8 *buffer, uint size, bool shouldDelete=true)
 Flushes the current buffer and then deletes it if ShouldDelete is true.
 
- Public Member Functions inherited from owl::TFile
 TFile ()
 Creates a TFile object with a file handle of FileNull.
 
 TFile (const tstring &fileName, const uint32 mode=ReadOnly|PermRead|OpenExisting)
 Creates a TFile object and opens file name with the given attributes.
 
 TFile (TFileHandle *handle, bool shouldClose)
 Creates a TFile object with a file handle of handle.
 
 TFile (const TFile &file)
 
virtual ~TFile ()
 If ShouldClose is true the file is closed.
 
virtual TFileHandleGetHandle () const
 Returns Handle.
 
const tstring GetName () const
 Returns Name.
 
virtual bool Open (const tstring &fileName, const uint32 mode=ReadOnly|PermRead|OpenExisting)
 Opens file name with the given mode.
 
uint64 SeekToBegin64 ()
 Repositions the file pointer to the beginning of the file.
 
uint64 SeekToEnd64 ()
 Repositions the file pointer to the end of the file.
 
uint32 SeekToBegin ()
 Repositions the file pointer to the beginning of the file.
 
uint32 SeekToEnd ()
 Repositions the file pointer to the end of the file.
 
bool IsOpen () const
 Returns true if the file is open, false otherwise.
 
uint32 GetOpenMode () const
 Returns OpenMode.
 
uint32 LastError ()
 Returns the last error.
 
uint ReadStruct (void *buffer, TBinType btype, TByteOrderType type)
 Read binary predefined structure from file.
 
uint ReadStruct (void *buffer, TBinField *fields, TByteOrderType type)
 Read binary structure from file.
 
uint WriteStruct (void *buffer, TBinType btype, TByteOrderType type)
 Writes predefined structures to binary file.
 
uint WriteStruct (void *buffer, TBinField *fields, TByteOrderType type)
 Writes structures to binary file based on fields description.
 
virtual bool LockRange (uint32 position, uint32 count)
 Locks count bytes, beginning at position of the file.
 
virtual bool UnlockRange (uint32 position, uint32 count)
 Unlocks the range at the given Position.
 
virtual bool LockRange (uint64 position, uint64 count)
 Locks count bytes, beginning at position of the file.
 
virtual bool UnlockRange (uint64 position, uint64 count)
 32 Bit Only: Unlocks the range at the given Position.
 
bool GetStatus (TFileStatus &status) const
 Fills status with the current file status.
 

Additional Inherited Members

- Public Types inherited from owl::TBufferedFile
enum  { DefaultBufferSize = 2048 }
 The initial size of the buffer. More...
 
- Public Types inherited from owl::TFile
enum  TSeekDir { beg = 0 , cur = 1 , end = 2 }
 
enum  TOpenMode {
  ReadOnly = 0x0001 , WriteOnly = 0x0002 , ReadWrite = WriteOnly|ReadOnly , PermWrite = 0x0010 , PermRead = 0x0020 , PermReadWrite = PermWrite|PermRead , PermExclusive = 0x0040 , PermNone = 0x0080 , CreateNew = 0x0100 , CreateAlways = 0x0200 ,
  OpenExisting = 0x0400 , TruncateExist = 0x0800 , Text = 0x1000
}
 Open mode -> remapped into OS specific value internally. More...
 
enum  TAttribute { Normal = 0x00 , RdOnly = 0x01 , Hidden = 0x02 , System = 0x04 , Volume = 0x08 , Directory = 0x10 , Archive = 0x20 , Temporary = 0x40 }
 file attributes -> internally remapped into OS values More...
 
enum  TBinType { TypeChar , TypeShort , TypeLong , TypeFloat , TypeDouble , TypeLong64 , TypePoint , TypeRect }
 Binary data type enumerations. More...
 
- Static Public Member Functions inherited from owl::TFile
static uint ReadStruct (uint8 *readBuf, void *buffer, TBinField *fields, TByteOrderType type)
 Read binary structure from buffer.
 
static uint WriteStruct (uint8 *writeBuf, void *buffer, TBinField *fields, TByteOrderType type)
 Writes structures to buffer based on fields description.
 
static uint StructSize (TBinField *fields)
 Returns the number of bytes in a binary data structure.
 
- Protected Member Functions inherited from owl::TBufferedFile
virtual void InitBuffer (uint size=DefaultBufferSize)
 Allocates a buffer of size bytes.
 
virtual bool FlushBuffer ()
 Flushes the buffer by writing any unwritten data to the file.
 
- Protected Attributes inherited from owl::TBufferedFile
uint8FileBuffer
 Buffer used to store data in.
 
bool ShouldDelete
 True if the buffer should be deleted.
 
uint FileBufSize
 Size of FileBuffer in bytes.
 
uint8CurByte
 Pointer to current position in the buffer.
 
uint32 CurPos
 Offset in file to current position.
 
uint32 StartPos
 Offset in file to byte 0 of the buffer.
 
uint32 EndPos
 Offset in file to the last data byte in the buffer.
 
bool BufferEmpty
 True if the buffer is empty; false otherwise.
 
- Protected Attributes inherited from owl::TFile
TFileHandleHandle
 Low-level C file handle.
 
bool ShouldClose
 Should C++ object close file on dtor.
 
uint8Buffer
 Buffer used with structure read/write.
 
uint BufSize
 Size of Buffer used with structure read/write.
 

Detailed Description

The TTextFile class is derived from TBufferedFile and encapsulates standard file characteristics and operations using text based buffered I/O.

Definition at line 436 of file file.h.

Constructor & Destructor Documentation

◆ TTextFile() [1/4]

owl::TTextFile::TTextFile ( )
inline

Creates a TTextFile object with a file handle of FileNull and allocated a buffer of DefaultBufferSize bytes.

Definition at line 1137 of file file.h.

◆ TTextFile() [2/4]

owl::TTextFile::TTextFile ( const TTextFile & file)
inline

Definition at line 1155 of file file.h.

◆ TTextFile() [3/4]

owl::TTextFile::TTextFile ( TFileHandle * handle,
bool shouldClose )
inline

Creates a TTextFile object with a file handle of handle.

Set shouldClose true if the file should be closed on deletion

Note
this function can only be used within file.cpp.

Definition at line 1144 of file file.h.

◆ TTextFile() [4/4]

owl::TTextFile::TTextFile ( const tstring & fileName,
const uint32 mode = ReadOnly|PermRead|OpenExisting|Text )
inline

Creates a TTextFile object and opens file name with the given attributes.

Definition at line 1151 of file file.h.

Member Function Documentation

◆ GetString() [1/2]

tstring owl::TTextFile::GetString ( int size)

String-aware overload.

Definition at line 1426 of file file.cpp.

References owl::CopyText().

◆ GetString() [2/2]

TCHAR * owl::TTextFile::GetString ( TCHAR * buffer,
uint32 size )
virtual

Reads up to size characters and places them in buffer.

Normal termination is when a \r\n character sequence is encountered. The string in buffer is NULL terminated. NULL is returned on failure; a pointer to buffer is returned on success.

Definition at line 1338 of file file.cpp.

References _T, owl::TBufferedFile::BufferEmpty, owl::TBufferedFile::CurByte, owl::TBufferedFile::CurPos, owl::TBufferedFile::EndPos, owl::TBufferedFile::FileBuffer, owl::TBufferedFile::FileBufSize, owl::TFile::GetHandle(), owl::TBufferedFile::Position(), PRECONDITION, owl::TFile::Read(), owl::TBufferedFile::StartPos, TFILE_ERROR, and WARNX.

◆ readDouble()

double owl::TTextFile::readDouble ( )
virtual

Reimplemented from owl::TFile.

Definition at line 1490 of file file.cpp.

References owl::TXNotSupportedCall::Raise().

◆ readFloat()

float owl::TTextFile::readFloat ( )
virtual

Reimplemented from owl::TFile.

Definition at line 1485 of file file.cpp.

References readDouble().

◆ readString()

TCHAR * owl::TTextFile::readString ( tchar * str)
inlinevirtual

Reimplemented from owl::TFile.

Definition at line 1159 of file file.h.

References GetString(), and MAX_PATH.

◆ readUint16()

uint16 owl::TTextFile::readUint16 ( )
virtual

Reimplemented from owl::TFile.

Definition at line 1465 of file file.cpp.

References readUint32().

◆ readUint32()

uint32 owl::TTextFile::readUint32 ( )
virtual

Reimplemented from owl::TFile.

Definition at line 1472 of file file.cpp.

References owl::TXNotSupportedCall::Raise().

◆ readUint64()

uint64 owl::TTextFile::readUint64 ( )
virtual

Reimplemented from owl::TFile.

Definition at line 1478 of file file.cpp.

References owl::TXNotSupportedCall::Raise().

◆ readUint8()

uint8 owl::TTextFile::readUint8 ( )
virtual

Reimplemented from owl::TFile.

Definition at line 1456 of file file.cpp.

References owl::TBufferedFile::Read().

◆ writeDouble()

void owl::TTextFile::writeDouble ( const double )
virtual

Reimplemented from owl::TFile.

Definition at line 1537 of file file.cpp.

References owl::TXNotSupportedCall::Raise().

◆ writeFloat()

void owl::TTextFile::writeFloat ( const float f)
virtual

Reimplemented from owl::TFile.

Definition at line 1532 of file file.cpp.

References writeDouble().

◆ writeString()

void owl::TTextFile::writeString ( const tchar * str)
inlinevirtual

Reimplemented from owl::TFile.

Definition at line 1162 of file file.h.

References _tcslen, and owl::TBufferedFile::Write().

◆ WriteString() [1/2]

bool owl::TTextFile::WriteString ( const tstring & str)
inline

Definition at line 446 of file file.h.

References WriteString().

◆ WriteString() [2/2]

bool owl::TTextFile::WriteString ( LPCTSTR buffer)
virtual

Writes the NULL terminated character string in buffer to the file and adds a terminating \r\n character sequence.

The NULL character is not written. On success true is returned; false otherwise.

Definition at line 1438 of file file.cpp.

References _T, _tcslen, owl::TFile::GetHandle(), PRECONDITION, and owl::TBufferedFile::Write().

◆ writeUint16()

void owl::TTextFile::writeUint16 ( const uint16 u)
virtual

Reimplemented from owl::TFile.

Definition at line 1505 of file file.cpp.

References writeUint32().

◆ writeUint32()

void owl::TTextFile::writeUint32 ( const uint32 u)
virtual

Reimplemented from owl::TFile.

Definition at line 1512 of file file.cpp.

References _ltot, _T, _tcslen, and owl::TBufferedFile::Write().

◆ writeUint64()

void owl::TTextFile::writeUint64 ( const uint64 )
virtual

Reimplemented from owl::TFile.

Definition at line 1526 of file file.cpp.

References owl::TXNotSupportedCall::Raise().

◆ writeUint8()

void owl::TTextFile::writeUint8 ( const uint8 u)
virtual

Reimplemented from owl::TFile.

Definition at line 1498 of file file.cpp.

References owl::TBufferedFile::Write().


The documentation for this class was generated from the following files: