home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 16
/
CD_ASCQ_16_0994.iso
/
news
/
4611
/
fw16d.ins
/
SOURCE
/
CLASSES
/
FILE.PRG
< prev
next >
Wrap
Text File
|
1994-05-30
|
2KB
|
66 lines
#include "Objects.ch"
CLASS TFile
PROTECT DATA cName AS CHARACTER
HIDE DATA cStruct AS CHARACTER
MESSAGE New( cFileName ) EXTERN TFNew
MESSAGE Open( nOpenMode ) EXTERN TFOpen
MESSAGE Create( nCreateMode ) EXTERN TFCreate
MESSAGE Close() EXTERN TFClose
MESSAGE GoTop() EXTERN TFGoTop
MESSAGE RecNo() EXTERN TFRecNo
MESSAGE GoBottom() EXTERN TFGoBottom
MESSAGE Skip( nRecords ) EXTERN TFSkip
MESSAGE ReadLN() EXTERN TFReadLN
MESSAGE LastRec() EXTERN TFLastRec
MESSAGE lEof() EXTERN TFlEof
MESSAGE lBof() EXTERN TFlBof
MESSAGE GoTo( nRecord ) EXTERN TFGoTo
MESSAGE WriteLN( cRecord, lInsert ) EXTERN TFWriteLN
MESSAGE Append( nRecords ) EXTERN TFAppend
MESSAGE Delete( nRecords ) EXTERN TFDelete
MESSAGE Insert( nRecords ) EXTERN TFInsert
METHOD Seek( cText )
__TFInit()
ENDCLASS
//---------------------------------------------------------------------------//
// First Line OffSet
METHOD Seek( cText, nOffSet ) // -> Si lo encuentra Cambia Registro y devuelve offset del registro nuevo
local nRec := ::RecNo()
local cLine
local nAt := 0
if ! empty( cText )
DEFAULT nOffSet := 1
cLine := ::ReadLN()
nOffSet := max( 1, Min( Len( cLine ), nOffSet ) )
cLine := substr( cLine, nOffSet, len( cLine ) - nOffSet + 1 )
while ( nAt := AT( cText, cLine ) ) == 0 .and. !::lEof()
::Skip( 1 )
cLine := ::ReadLN()
end
if nAt == 0
::GoTo( nRec )
endif
endif
return nAt
//---------------------------------------------------------------------------//