Printing 如何从打印报告的位置获取打印机

Printing 如何从打印报告的位置获取打印机,printing,visual-foxpro,foxpro,Printing,Visual Foxpro,Foxpro,如果在报告中使用提示calsue REPORT FORM xxx to PRINT PROMPT 用户可以选择打印报告的打印机。 如何获取此打印机名称以进行日志记录 Show hot可为此使用GetPrinter()。这需要从报告中删除提示子句 如何使用PROMPT子句获取打印报告的打印机: 报表xxx打印提示 如果出现这种情况,可能有一些sys()函数或其他函数,或者在报表打印期间是否可以获取打印机名称 或者该命令是否应重新考虑不使用提示子句,如: cPrinter = getprinte

如果在报告中使用提示calsue

REPORT FORM xxx to PRINT PROMPT
用户可以选择打印报告的打印机。 如何获取此打印机名称以进行日志记录

Show hot可为此使用GetPrinter()。这需要从报告中删除提示子句

如何使用PROMPT子句获取打印报告的打印机: 报表xxx打印提示

如果出现这种情况,可能有一些sys()函数或其他函数,或者在报表打印期间是否可以获取打印机名称

或者该命令是否应重新考虑不使用提示子句,如:

cPrinter = getprinter()
set printer to name (cPrinter)
REPORT FORM xxx TO PRINT
insert into logfile (PrinterUsedForPrinting) values (cPrinter)

我建议在运行报告之前使用调用GETPRINTER的解决方案(不使用PROMPT子句)。在我使用FoxPro/VFP的长期经验中,我认为我没有遇到一种通过报表…提示来确定打印机的方法

下面是一个示例包装器函数,您可能会发现它很有用。我通常在运行报告之前调用“PickPrinter”。如果PickPrinter返回空字符串,我将中止报告运行

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
函数选择器打印机
如果一台打印机(a_打印机)<1
MESSAGEBOX(“未定义打印机”)
返回“”
其他的
lcPrnChoice=“”
lcPrnChoice=GETPRINTER()
如果为空(lcPrnChoice)
返回“”
其他的
***在打印机名称周围加引号
***以防名称中有空格
lcPrnChoice=“NAME[”+lcPrnChoice+“]”
将打印机设置为&lcPrnChoice
返回lcPrnChoice
恩迪夫
恩迪夫
ENDFUNC

我建议在运行报告之前使用调用GETPRINTER的解决方案(不使用PROMPT子句)。在我使用FoxPro/VFP的长期经验中,我认为我没有遇到一种通过报表…提示来确定打印机的方法

下面是一个示例包装器函数,您可能会发现它很有用。我通常在运行报告之前调用“PickPrinter”。如果PickPrinter返回空字符串,我将中止报告运行

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
函数选择器打印机
如果一台打印机(a_打印机)<1
MESSAGEBOX(“未定义打印机”)
返回“”
其他的
lcPrnChoice=“”
lcPrnChoice=GETPRINTER()
如果为空(lcPrnChoice)
返回“”
其他的
***在打印机名称周围加引号
***以防名称中有空格
lcPrnChoice=“NAME[”+lcPrnChoice+“]”
将打印机设置为&lcPrnChoice
返回lcPrnChoice
恩迪夫
恩迪夫
ENDFUNC