如何获得打印报告的打印机
How to get printer where report was printed
如果在报告中使用 PROMPT calsue
REPORT FORM xxx to PRINT PROMPT
用户可以select打印机打印报告。
如何获取此打印机名称以进行记录?
为此使用 GetPrinter() 很热门。这需要从 REPORT
中删除 PROMPT 子句
如何使用 PROMPT 子句获取打印报告的打印机:
报告表格 xxx 打印提示
如果可能的话,也许有一些 sys() 函数或其他函数,或者是否有可能在报告打印期间获取打印机名称?
或者该命令是否应该重构为不使用 PROMPT 子句,例如:
cPrinter = getprinter()
set printer to name (cPrinter)
REPORT FORM xxx TO PRINT
insert into logfile (PrinterUsedForPrinting) values (cPrinter)
我建议使用您在 运行 生成报告之前调用 GETPRINTER 的解决方案(没有 PROMPT 子句)。在我使用 FoxPro/VFP 的长期经验中,我不认为我遇到过通过 REPORT FORM...PROMPT 确定打印机的方法。
这是一个您可能会觉得有用的包装函数示例。我通常会在 运行 报告之前致电 "PickPrinter"。如果 PickPrinter returns 为空字符串,我将中止报告 运行。
FUNCTION PickPrinter
IF APRINTERS(a_printers) < 1
MESSAGEBOX("No printers defined.")
RETURN ""
ELSE
lcPrnChoice = ""
lcPrnChoice = GETPRINTER()
IF EMPTY(lcPrnChoice)
RETURN ""
ELSE
*** Include quotes around the printer name
*** in case there are spaces in the name
lcPrnChoice = "NAME [" + lcPrnChoice + "]"
SET PRINTER TO &lcPrnChoice
RETURN lcPrnChoice
ENDIF
ENDIF
ENDFUNC
如果在报告中使用 PROMPT calsue
REPORT FORM xxx to PRINT PROMPT
用户可以select打印机打印报告。 如何获取此打印机名称以进行记录?
为此使用 GetPrinter() 很热门。这需要从 REPORT
中删除 PROMPT 子句如何使用 PROMPT 子句获取打印报告的打印机: 报告表格 xxx 打印提示
如果可能的话,也许有一些 sys() 函数或其他函数,或者是否有可能在报告打印期间获取打印机名称?
或者该命令是否应该重构为不使用 PROMPT 子句,例如:
cPrinter = getprinter()
set printer to name (cPrinter)
REPORT FORM xxx TO PRINT
insert into logfile (PrinterUsedForPrinting) values (cPrinter)
我建议使用您在 运行 生成报告之前调用 GETPRINTER 的解决方案(没有 PROMPT 子句)。在我使用 FoxPro/VFP 的长期经验中,我不认为我遇到过通过 REPORT FORM...PROMPT 确定打印机的方法。
这是一个您可能会觉得有用的包装函数示例。我通常会在 运行 报告之前致电 "PickPrinter"。如果 PickPrinter returns 为空字符串,我将中止报告 运行。
FUNCTION PickPrinter
IF APRINTERS(a_printers) < 1
MESSAGEBOX("No printers defined.")
RETURN ""
ELSE
lcPrnChoice = ""
lcPrnChoice = GETPRINTER()
IF EMPTY(lcPrnChoice)
RETURN ""
ELSE
*** Include quotes around the printer name
*** in case there are spaces in the name
lcPrnChoice = "NAME [" + lcPrnChoice + "]"
SET PRINTER TO &lcPrnChoice
RETURN lcPrnChoice
ENDIF
ENDIF
ENDFUNC