Краткое изложение.

В этой статье описано, как создать термоментр для отображения хода исполнения SELECT-SQL запроса в полоске статуса Visual FoxPro.

Образец кода.

  1. Создайте в Visual FoxPro программный файл.
  2. Скопируйте в него код, приведенный ниже:
Скопировать код
SET STATUS BAR ON
PUBLIC obar
** Открываем таблицу
cTable = GETFILE("dbf")
IF EMPTY(cTable)
   RETURN .T.
ENDIF   

**Создаем объект Progress bar
obar = CREATEOBJECT("POnStatus")
obar.pIndicatorStyle = "||"
SELECT * FROM (cTable) WHERE obar.DrawStatus(RECNO(), RECCOUNT())
SET MESSAGE TO
CLOSE ALL
RELEASE ALL

** Определение класса для объекта Progress bar
DEFINE CLASS POnStatus AS Custom
    pIndicatorStyle = ""
     
    PROCEDURE DrawStatus
    LPARAMETER nRecno, nReccount
    LOCAL nPtr, cIndicator
    
        nPtr = INT(nRecno*100/nReccount)
        cIndicator = REPLICATE(THIS.pIndicatorStyle, nPtr) + ;
           SPACE(2) + STR(nPtr)+"%"
        SET MESSAGE TO LEFT(cIndicator, LEN(cIndicator))
        RETURN .T.
    ENDPROC

ENDDEFINE     
  1. Сохраните и запустите созданный программный файл.
  2. Когда вам будет выведено диалоговое окно Open, выберите таблицу, например, Customer в каталоге Samples. Когда будет запущен запрос, вы увидите обновляющийся в полоске статуса термометр.

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

База знаний Microsoft

Как создать термометр