powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / отчет в отдельном окне
8 сообщений из 8, страница 1 из 1
отчет в отдельном окне
    #34033402
startFOX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как показать отчет в отдельном окне?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
*  Создаю свое собственное окно для просмотра
    DEFINE WINDOW WinPre FROM  0 , 0  TO  30 , 60  ;
    TITLE "Окно предварительного просмотра" GROW ZOOM CLOSE 

* окно на весь экран
   ZOOM WINDOW WinPre MAX

* Выполняю отчет с использованием опции WINDOW
   REPORT FORM tekdir + "Reports\rep_errors.frx" TO PRINTER PROMPT PREVIEW IN WINDOW WinPre
   
   RELEASE WINDOW WinPre


Проблема в следующем: окно предварительного просмотра открывается внутри моей формы (_SCREEN.Visible = .F.)

Хотелось бы в отдельном окне. Что-то не допонимаю.
Подскажите, пожалуйста.

P.S. VFP7
...
Рейтинг: 0 / 0
отчет в отдельном окне
    #34033825
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
После DEFINE дай команду

Код: plaintext
ACTIVATE WINDOW WinPre

Отчет не может быть отображен в окне, которого не видно. Точнее, может, но тут же закроется.

И еще, добавь опцию Window (без IN), чтобы "рулить" свойствами самого окна Preview, поскольку он может "блокировать" ZOOM того окна внутри которого открылся.
...
Рейтинг: 0 / 0
отчет в отдельном окне
    #34033890
startFOX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владимир,
подскажите, пожалуйста, что, куда прописать.
...
Рейтинг: 0 / 0
отчет в отдельном окне
    #34033983
startFOX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемый all
Что теперь неправильного в коде?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
       * Создаю свое собственное окно для просмотра
       DEFINE WINDOW WinPre FROM  0 , 0  TO  30 , 60  ;
       TITLE "Окно предварительного просмотра" GROW ZOOM CLOSE

       * Распологаю его по центру экрана - MOVE WINDOW WinPre CENTER

       * Если необходимо распахнуть окно на весь экран, то - ZOOM WINDOW WinPre MAX
       ACTIVATE WINDOW WinPre

       * Выполняю отчет с использованием опции WINDOW
       REPORT FORM tekdir + "Reports\rep_errors.frx" PREVIEW IN WINDOW WinPre TO PRINTER PROMPT 
       
       * Очищаю память, удаляя созданное окно
       RELEASE WINDOW WinPre


Почему окно вообще не отображается ? Успеваю заметить только панель инструментов, потом и она исчезает. В чем дело?
...
Рейтинг: 0 / 0
отчет в отдельном окне
    #34034209
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не надо менять порядок опций TO PRINTER PROMPT PREVIEW.

Эти 3 опции должны идти только в таком порядке и никак иначе. В противном случае возможны разные глюки.

Попробуй написать так:

Код: plaintext
1.
2.
3.
4.
REPORT FORM tekdir + "Reports\rep_errors.frx" ;
TO PRINTER PROMPT PREVIEW ;
IN WINDOW WinPre ;
WINDOW WinPre

Хотя, уже говорил, писать приложение на базе As Top-Level форм - это искать себе приключений.
...
Рейтинг: 0 / 0
отчет в отдельном окне
    #34034247
startFOX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владимир,

сделал, как вы сказали, но окно не отображается...

Похоже, придется отказаться от As Top-Level формы.
...
Рейтинг: 0 / 0
отчет в отдельном окне
    #34034313
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
Lparameters tcReportName,tcStringFolr,start_page,end_page
Flush
Set sysmenu Off
*on erro    =MESSAGEBOX('Внимание ! Проверьте принтер ! Принтер не готов .', 16 ,'Сообщение')
_Screen.Show
Defi Wind my_prev From  0 , 0  To Wrow(),Wcol() Syst Clos Titl 'Предварительный просмотр' Font 'arial',_Screen.FontSize
If empty(tcStringFor)
	If empty(start_page).And.Empt(end_page)
		Report Form &tcReportName Preview Wind my_prev Nocon
	Else
		Repo Form &tcReportName ;
			range start_page,end_page ;
			preview Wind my_prev Nocon
	Endif
Else
	If empty(start_page).And.Empt(end_page)
		Report Form &tcReportName Preview Wind my_prev Nocon For &tcStringFor
	Else
		Report Form &tcReportName ;
			range start_page,end_page ;
			preview Wind my_prev Nocon For &tcStringFor
	Endif
Endif
release windows my_prev
On Erro
_Screen.Hide
Set sysmenu On
...
Рейтинг: 0 / 0
отчет в отдельном окне
    #34034364
startFOX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я так понимаю, что суть этого подхода просто на время показа превью для репорта _screen.Visible = .T., а потом опять .F.?

Ну что ж, это тоже решение. Сделаю пока так... Может быть позже будет более изящней решение

СПАСИБО.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / отчет в отдельном окне
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]