![]() | ![]() | Типичные вопросы [отчёты] |
На этой станице помещены ответы на вопросы, которые я сам мучительно (или легко) находил, я не думаю, что ответы исчерпывающие, и если Вы найдёте, что что-нибудь дисанирует с Вашими представлениями, давайте обсудим и найдём лучшие решения... Кроме того, часто ответ может зависеть от версии как OS так и Visual FoxPro, проверить всё на всех версиях и платформах для меня просто непосильно. Изначально этот список был исключительно для VFP 5.0, в то время как сейчас это только VFP 7.0/8.0, я мог где-нибудь и пропустить упоминание о версии, и если Вы найдёте несоответствия, сообщите пожалуйста мне. |

Вопрос: Можно ли из отчёта, полученного средствами создания отчёта в Visual FoxPro получить "полнофункциональный текстовый документ" (шрифты, и т.д.)? 
Вопрос: Имеется ли возможность автоматически максимизировать окно предварительного просмотра отчёта? 
#DEFINE WND_PRVREP "Report"
IF WEXIST(WND_PRVREP)
ZOOM WINDOW (WND_PRVREP) MAX
ENDIF
где-нибудь в событии MyReport.DataEnvironment.Init(). Обратите внимание, что это не будет работать в приложении, построенном средствами Application Wizard в VFP 6.0, однако там и нет этих проблем.
Вопрос: Желаю из VFP напечатать текстовый файл, но у меня чего-то не получается :-( Это можно как-нибудь сделать? 
#DEFINE C_FILENAME "D:\MyApp\Vfp\Picture.prg"
#DEFINE C_OUT_PORT "\\Server\Printer1"
*
******************* Or:
*#DEFINE C_OUT_PORT "PRN:" &&<- default
*#DEFINE C_OUT_PORT "LPT1:" &&<- LPT1
*******************
*
DECLARE INTEGER CopyFile IN KERNEL32.DLL ;
STRING lpExistingFileName,; && name of an existing file
STRING lpNewFileName,; && name of new file
INTEGER bFailIfExists && operation if file exists
LOCAL lbRetVal
IF CopyFile(C_FILENAME, C_OUT_PORT, 0) = 0
ACTIVATE SCREEN
?CHR(7)
=MessageBox('Can not print file', 16, _SCREEN.Caption)
ELSE
lbRetVal = .T.
WAIT WINDOW 'Ok!' NOWAIT
ENDIF
CLEAR DLLS
RETURN lbRetVal
Вопрос: При REPORT FORM ... TO PRINTER получаю ошибку: 1958 Error loading printer driver. Как побороть? 
USE Myreport.frx && Open the FRX as a table LOCATE FOR Objtype = 1 AND Objcode = 53 && find the record that holds ** the printer information. For more information on the Table Structure ** of an .FRX file, see 'Table Structures of Table Files' in Help. REPLACE Tag WITH "" && Remove any Printer codes that may be stored in ** the Tag memo REPLACE Tag2 WITH "" && Remove any Printer codes that may be stored in ** the Tag2 memo
Вопрос: Есть желание выводить на печать линии из VFP но не могу понять, как это можно сделать. Возможно ли такое? 
Вопрос: Не получается завершить сеанс после предварительного просмотра отчёта. Как побороть? 
Вопрос: Можно ли выбрать принтер при печати отчёта? 
