[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
TFileRead()
Read a file one line at a time
---------------------------------------------------------------------------------
Syntax
oFile := TFileRead():New( <cFileName> [, <nReadSize> ] )
Arguments
<cFileName> is the required name of the file to be read.
<nReadSize> is the optional size to use when reading from the
file. The default value is 4096 and the allowed range is
1 through 65535. Any value outside of this range causes
the default value to be used.
Returns
An instance of the File Reader class
Description
TFileRead() is used to access a file one line at a time. You must
specify the name of the file when an instance of the class is
created.
The class data should be considered private to the class.
The class methods are as follows:
New() Creates a new instance of the TFileRead class.
Open([<nFlags>]) Opens the file for reading. The optional nFlags
parameter can use any of the FOPEN() flags from fileio.ch. The
default is FO_READ + FO_SHARED. Calling this method when the file
is already open causes the next ReadLine() to start over from the
beginning of the file.
Close() Closes the file.
ReadLine() Returns one line from the file, stripping the
newline characters. The following sequences are treated as one
newline: 1) CR CR LF; 2) CR LF; 3) LF; and 4) CR. Note: LF CR is 2
newlines.
Name() Returns the name of the file.
IsOpen() Returns .T. if the file is open.
MoreToRead() Returns .T. if there are more lines to be read
(think of it as an inverse EOF function).
Error() Returns .T. if an error has occurred.
ErrorNo() Returns the current error code.
ErrorMsg([<cPre>]) Returns a formatted error message.
Examples
#ifdef __HARBOUR__
#define NEW_LINE CHR( 10 )
#else
#define NEW_LINE CHR( 13 ) + CHR( 10 )
#endif
#include "fileio.ch"
PROCEDURE Main( cFile )
LOCAL oFile := TFileRead():New( cFile )
oFile:Open()
IF oFile:Error()
QOUT( oFile:ErrorMsg( "FileRead: " ) )
ELSE
WHILE oFile:MoreToRead()
OUTSTD( oFile:ReadLine() )
OUTSTD( NEW_LINE )
END WHILE
oFile:Close()
END IF
QUIT
Tests
See Examples
Status
Ready
Compliance
This is a new Harbour Tools class
Files
Library is libmisc
See Also: TClass()
Online resources provided by: http://www.ClipX.Net --- NG 2 HTML conversion by Dave Pearson