Содержит общее количество страниц в отчете.

Вы можете использовать _PAGETOTAL для установки нумерации страниц в отчетах вида "Страница X из Y". _PAGETOTAL поддерживается как в девелопере так и в run-time Visual FoxPro во всех операциях отчета, включая REPORT FORM...TO FILE...ASCII и с дополнительными параметрами типа RANGE .

_PAGETOTAL [ = nValue ]

Параметры

nValue

Определяет положительное число, представляющее общее количество страниц в отчете.

Замечания

Вы можете установить _PAGETOTAL в любое время. Visual FoxPro оценивает и обновляет _PAGETOTAL только когда происходит выполнение отчета REPORT FORM . В начале выполнения отчета, Visual FoxPro инициализирует _PAGETOTAL значением 0, независимо от того использует ли отчет переменную _PAGETOTAL .

Если Вы включаете _PAGETOTAL где-нибудь в отчете Visual FoxPro, Visual FoxPro исполняет двойной проход отчета. Первый проход не видим или используется для вывода и вычисления переменной _PAGETOTAL . В течение первого прохода, _PAGETOTAL принимает значение -1.

По соображениям быстродействия, Вы можете подавить отчет с двумя проходами, запрещая вызов _PAGETOTAL в режиме предварительного просмотра печати, используя выражение типа:

Скопировать код
TRANS(_PAGENO) + IIF(SYS(2040)="1", "", " OF " + TRANS(_PAGETOTAL))

Если Вы не включаете ссылку на _PAGETOTAL в отчете, Visual FoxPro устанавливает значение _PAGETOTAL в значение общего количества страниц в конце печати и выполняет только один проход отчета.

Вы можете вызвать второй проход отчета, используя выражение типа:

Скопировать код
IIF( _PAGETOTAL = 0, "","" )

Инициализизация второго прохода позволяет выполнить дополнительные операции, используя переменные отчета типа вывода % от общего количества страниц.

Совет:
Для инициализации второго прохода, в предыдущих версиях Visual FoxPro, Вы нуждались в ссылке на _PAGETOTAL в раскладке отчета. В Visual FoxPro 9.0, Вы можете также использовать ссылку на ReportListener вашей команды REPORT FORM. Устанавливая свойство ReportListener's свойство TwoPassProcess в .T . прежде, чем отчет выполнится, Вы можете вызвать двойной проход отчета, даже если Вы не использовали _PAGETOTAL в любых выражениях отчета. Для подробной информации, см. свойство TwoPassProcess .

Значение _PAGETOTAL должно равняться значению _PAGENO в конце печати отчета, независимо включает ли отчет _PAGETOTAL .

Пример

Следующий пример иллюстрирует, как включить нумерацию типа "Страница X из Y" в вашем отчете, используя системную переменную _PAGETOTAL и добавляя следующее выражение в поле отчета:

Скопировать код
"Page " + TRANS(_PAGENO) + " of " + TRANS( _PAGETOTAL)

См. Также