|
REPORT ... TO PRINTER PROMPT
|
|||
---|---|---|---|
#18+
Привет всем. Можно ли в полученном с помощью PROMPT диалоге заранее установить количество печатаемых экземпляров ? VFP 7 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2003, 23:19 |
|
REPORT ... TO PRINTER PROMPT
|
|||
---|---|---|---|
#18+
2Glory Была когда-то такая переменная _PCOPIES, она хоть и included for backward compatibility, но должна работать. Только вот не помню readonly она или нет и не знаю как отобразится на Print Dialog. Попробуй поиграться. ЗЫ извини, но сейчас мне запустить фокс и проверить не удалось, пора выбрасывать эту шарманку :(( ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2003, 23:58 |
|
REPORT ... TO PRINTER PROMPT
|
|||
---|---|---|---|
#18+
2Glory Ну вот наконец винда отрубила дефектный диск, я смог запустить фокс и узнал, чтот _PCOPIES ни фига не работают. Но все оказалось не так сложно, нужно всего-то открыть отчет как таблицу и изменить число в мемо-поле expr для первой записи. Лови пример: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2003, 06:24 |
|
REPORT ... TO PRINTER PROMPT
|
|||
---|---|---|---|
#18+
Некоторые уточнения: 1) Строго говоря, изменять поле Expr надо в записи имеющую значения ObjType=1 AND ObjCode=53 То что как правило это именно первая запись в файле отчета, не гарантирует, что такой она и останется во всех случаях. 2) Не знаю, насчет VFP7, но в VFP6 синтаксис строки определяющей количество копий в поле Expr предполагает знак равенства: COPIES=1 ну и надо предусмотреть вариант отсутствия такой строки в поле Expr в принципе, а не только замену. Кроме того, далеко не факт, что там будет стоять именно COPIES=1, а не допустим, COPIES=2. Но это уже мелочи. 3) Если файл отчета включен внутрь EXE, то вытащить его на этапе исполнения, для последующей модификации можно таким образом: USE MyReport.frx COPY TO FreeReport.frx Здесь указывать расширение в обеих командах необходимо. Тогда во вне файла EXE будет создано 2 файла: FreeReport.frx и FreeReport.frt с которыми и можно дальше работать как с внешним файлом отчета. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2003, 12:02 |
|
REPORT ... TO PRINTER PROMPT
|
|||
---|---|---|---|
#18+
Спасибо за советы. Отчет действительно встроенный. Так что подходит только п.3 от ВладимирМ. Жаль только что нужно копировать отчет - время забирает. Пользователь гораздо быстрее в диалоге выберет нужное число копий. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2003, 20:04 |
|
REPORT ... TO PRINTER PROMPT
|
|||
---|---|---|---|
#18+
Мой совет не так крут как предыдущие. Для изменения количества копий я просто делаю форму, в которой указывается это количество, а затем в цикле вызываю этот отчет на печать без PROMPT и с NOCONSOLE. Есть ряд недостатков (нет выбора принтера, медленно работает с большими отчетами, нельзя выбрать отдельные страницы на печать и т.д.) но для большинства случаев может быть полезен, особенно для простых программ, типа платежных поручений... и там, где не очень много оборудования в купе с не очень продвинутыми пользователями... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2003, 00:46 |
|
REPORT ... TO PRINTER PROMPT
|
|||
---|---|---|---|
#18+
Ну выбрать текущий принтер перд циклом можно через SYS(1037). В принципе, можно и формочку диалога самому нарисовать получив список принтеров через APRINTERS(), но вот количество копий будет все-равно через цикл. Как вариант можно менять количество копий непосредственно у принтера, но это надо знать соответсвующие API-функции. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2003, 15:50 |
|
REPORT ... TO PRINTER PROMPT
|
|||
---|---|---|---|
#18+
А мы много лет назад (когда еще с FOX работали) сделали окошко, где юзер ставил число копий и выбирал принтер (поскольку под ДОС, то номер LPT порта). И все. И отдельно настройка - типа на каком порту какой принтер. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2003, 14:57 |
|
|
start [/forum/topic.php?fid=41&fpage=418&tid=1598113]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
28ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 132ms |
0 / 0 |