home *** CD-ROM | disk | FTP | other *** search
- // TBFrSkip.prg
- //
- // TBForSkip() - skipBlock function implementing general purpose
- // for condition
-
- FUNCTION TBForSkip(nToSkip, bFor)
-
- FIELD Lname IN TbDbf1
- LOCAL nSkipped := 0, ;
- nLastValidRecNum := Recno()
-
- IF nToSkip == 0
- SKIP 0
- RETURN 0
- ENDIF
-
- IF nToSkip > 0
- DO WHILE nSkipped < nToSkip .AND. !Eof()
- SKIP
- DO WHILE !eval(bFor) .AND. !Eof()
- SKIP
- ENDDO
- IF eval(bFor)
- nSkipped++
- nLastValidRecNum := Recno()
- ENDIF
- ENDDO
- IF eof()
- GOTO nLastValidRecNum
- ENDIF
- ELSE
- DO WHILE nSkipped > nToSkip .AND. !Bof()
- SKIP -1
- DO WHILE !eval(bFor) .AND. !Bof()
- SKIP -1
- ENDDO
- IF eval(bFor)
- nSkipped--
- nLastValidRecNum := Recno()
- ENDIF
- ENDDO
- IF Bof()
- GOTO nLastValidecNum
- ENDIF
- ENDIF
-
- RETURN nSkipped