home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a065 / 1.img / TBLIB.EXE / TBFRSKIP.PRG < prev    next >
Encoding:
Text File  |  1992-03-09  |  1.1 KB  |  48 lines

  1.     // TBFrSkip.prg
  2.     //
  3.     // TBForSkip() - skipBlock function implementing general purpose
  4.     //               for condition
  5.  
  6.     FUNCTION TBForSkip(nToSkip, bFor)
  7.  
  8.     FIELD Lname IN TbDbf1
  9.     LOCAL nSkipped := 0, ;
  10.           nLastValidRecNum := Recno()
  11.  
  12.       IF nToSkip == 0
  13.         SKIP 0
  14.         RETURN 0
  15.       ENDIF
  16.  
  17.       IF nToSkip > 0
  18.         DO WHILE nSkipped < nToSkip .AND. !Eof()
  19.           SKIP
  20.           DO WHILE !eval(bFor) .AND. !Eof()
  21.             SKIP
  22.           ENDDO
  23.           IF eval(bFor)
  24.             nSkipped++
  25.             nLastValidRecNum := Recno()
  26.           ENDIF
  27.         ENDDO
  28.         IF eof()
  29.           GOTO nLastValidRecNum
  30.         ENDIF
  31.       ELSE
  32.         DO WHILE nSkipped > nToSkip .AND. !Bof()
  33.           SKIP -1
  34.           DO WHILE !eval(bFor) .AND. !Bof()
  35.             SKIP -1
  36.           ENDDO
  37.           IF eval(bFor)
  38.             nSkipped--
  39.             nLastValidRecNum := Recno()
  40.           ENDIF
  41.         ENDDO
  42.         IF Bof()
  43.           GOTO nLastValidecNum
  44.         ENDIF
  45.       ENDIF
  46.  
  47.     RETURN nSkipped
  48.