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

  1.     // TBWhSkip.prg
  2.     //
  3.     // TBWhSkip() - skipBlock function implementing general purpose
  4.     //              while condition
  5.  
  6.     // Handles empty databases and no records matching condition
  7.  
  8.     FUNCTION TBWhSkip(nToSkip, bWhile)
  9.  
  10.     LOCAL nSkipped := 0
  11.  
  12.       IF nToSkip = 0
  13.         SKIP 0
  14.         RETURN 0
  15.       ENDIF
  16.  
  17.       IF nToSkip > 0
  18.         DO WHILE eval(bWhile) .AND. !eof() .AND. nSkipped < nToSkip
  19.           SKIP
  20.           IF eval(bWhile) .AND. !eof()
  21.             nSkipped++
  22.           ENDIF
  23.         ENDDO
  24.         IF !eval(bWhile) .OR. eof()
  25.           SKIP -1
  26.         ENDIF
  27.       ELSE
  28.         DO WHILE eval(bWhile) .AND. !bof() .AND. nSkipped > nToSkip
  29.           SKIP -1
  30.           IF eval(bWhile) .AND. !bof()
  31.             nSkipped--
  32.           ENDIF
  33.         ENDDO
  34.         IF !eval(bWhile)
  35.           SKIP
  36.         ENDIF
  37.       ENDIF
  38.  
  39.     RETURN nSkipped
  40.