Краткое изложение.
В этой статье описано, как создать термоментр для отображения хода исполнения 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. Когда будет запущен запрос, вы увидите обновляющийся в полоске статуса термометр.
Скопировать код