注册 登录
编程论坛 VFP论坛

关于 set print to name 命令的问题

easyppt 发布于 2023-07-20 11:10, 760 次点击
Set Printer To Name Getprinter()  是指定当前VFP的 默认打印机,设置完后,VFP就用该打印机名称作为默认输出打印机。

如果执行该命令时 未使用变量 保存 所选的打印机名

事后怎么 获取 VFP的默认打印机名?

VFP有自身默认打印机名 获取的 函数吗,即通过 Set Printer To Name 指定的默认打印机,(注意:不是Windows默认打印机)。

6 回复
#2
laowan0012023-07-20 11:22
默认打印机,指的是windows的默认打印机,如果不单独记录的话,恐怕没法知道“VFP的默认打印机名”
#3
easyppt2023-07-20 11:23
我也是发现,如果不记忆所选的打印机名称,好像事后无法获取 VFP的默认打印机名称。

所以来论坛确认一下。

另外,发现:

Set Printer To Name Getprinter()  后

如果再次执行:Getprinter()  第一条会显示VFP 设置的 默认打印机名称,说明VFP 应该有环境保存了 Set Printer To Name 设置的打印机名称,不然,再次 调用 Getprinter(),它怎么知道上次选择的打印机名称的呢 ??

关于默认打印机,我的理解:
如果 没有 通过 Set Printer To Name 指定打印机,这直接打印时,会用Windows默认打印机
如果  Set Printer To Name 指定了打印机,则后续打印,会用这个打印机 直接打印。

所以,VFP的默认打印机,不是单纯的指 Windows默认打印机。
既然提供了 Set Printer To Name 设置VFP当前自己的默认打印机,为什么 不提供函数让 再获取这个打印机名称呢,非要自己写代码记忆??


[此贴子已经被作者于2023-7-20 11:31编辑过]

#4
laowan0012023-07-20 15:29
所以,VFP的默认打印机,不是单纯的指 Windows默认打印机。
既然提供了 Set Printer To Name 设置VFP当前自己的默认打印机,为什么 不提供函数让 再获取这个打印机名称呢,非要自己写代码记忆??

VFP的默认打印机,其实就是windows的默认打印机,不存在VFP自己的默认打印机,可以叫做VFP当前打印机,在这个前提下,理解“Set Printer To Name 指定了打印机,则后续打印,会用这个打印机 直接打印”就自然了

一旦选择了打印机,之后就会打印到这个打印机上,否则就天理不容了。但如果退出了程序,再进来的时候,如果不选择打印机,那就会打印到windows的默认打印机了。

至于“如果再次执行:Getprinter()  第一条会显示VFP 设置的 默认打印机名称,说明VFP 应该有环境保存了 Set Printer To Name 设置的打印机名称,不然,再次 调用 Getprinter(),它怎么知道上次选择的打印机名称的呢 ??”
只是选择控件的记忆,就象很多搜索框中会保留最后几个搜索内容一样,并不代表“默认打印机”
#5
easyppt2023-07-20 15:51
哦哦,原来是 选择控件的记忆 明白了,谢谢版主!

其实只是想搞明白啥回事,实际应用中  这样也无妨。
lcPrintName = Getprinter()
#6
吹水佬2023-07-20 16:25
1、报表设计不要选择“保存打印机环境”
2、APRINTERS()获取打设备名,选择保存prn
3、Set Printer To (prn)


[此贴子已经被作者于2023-7-20 16:27编辑过]

#7
csyx2023-07-20 16:44
以下是引用easyppt在2023-7-20 11:23:48的发言:
既然提供了 Set Printer To Name 设置VFP当前自己的默认打印机,为什么 不提供函数让 再获取这个打印机名称呢

? Set("Printer",3)

只有本站会员才能查看附件,请 登录


[此贴子已经被作者于2023-7-20 18:54编辑过]

1