Краткое изложение.
В этой статье описано, как создать термоментр для отображения хода исполнения SELECT-SQL запроса в полоске статуса Visual FoxPro.
Образец кода.
- Создайте в Visual FoxPro программный файл.
- Скопируйте в него код, приведенный ниже:
Скопировать код | |
---|---|
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 |
- Сохраните и запустите созданный программный файл.
- Когда вам будет выведено диалоговое окно Open, выберите таблицу, например, Customer в каталоге Samples. Когда будет запущен запрос, вы увидите обновляющийся в полоске статуса термометр.