CONTINUE

Expand image

CONTINUE используют после того, как LOCATE успешно найдет запись, для продолжения операции LOCATE. CONTINUE перемещает указатель записи к следующей записи, для которой логическое выражение, определенное в предшествующей LOCATE, оценивается в истину (.T.)

CONTINUE может быть повторена, пока не будет обнаружен конец файла или конец области, определенной в LOCATE.

Если CONTINUE успешно нашла запись, RECNO( ) возвращает номер записи, FOUND( ) возвращает значение True (.T.), и EOF( ) возвращает значение False (.F.).

Если CONTINUE не обнаружила запись, RECNO( ) возвращает номер записи в таблице плюс один, FOUND( ) возвращает False (.F.), и EOF( ) возвращает True (.T.).

Expand imageПример

В следующем примере подсчитываются и отображаются все клиенты из Франции. Все записи найдены с использованием LOCATE с применением CONTINUE в пределах цикла.

  CopyCode imageCopy Code
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer  && Opens Customer table
SET TALK OFF
STORE 0 TO gnCount

LOCATE FOR ALLTRIM(UPPER(country)) = 'FRANCE'
DO WHILE FOUND( )
   gnCount = gnCount + 1
   CONTINUE
ENDDO
? 'Total customers from France: '+ LTRIM(STR(gnCount))

Expand imageСмотрите также