Harbour Reference 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

 




[Source Forge]

Other Docs Categories

Advantage Database RDD
Array
Binary conversion
Classes
Code Block
Console input
Conversion
Conversion Tools
DOS
Data input and output
Database
Database Tools
Date
Dos Tools
Environment
Error recovery
Events
File management
GT
Harbour Tools
Internal
Low Level
Math
Misc
Miscellaneous
Nation
Object manipulation
Operating System Specific
Parameter Checks
String Tools
Strings
TBrowse Method
TBrowse class
Terminal
Time
Utility
Variable Management

 

Last updated on 2001/07/30