| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2980 人关注过本帖
标题:打印问题的求助
只看楼主 加入收藏
xs591222
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:28
帖 子:684
专家分:1303
注 册:2009-3-1
结帖率:100%
收藏
已结贴  问题点数:50 回复次数:10 
打印问题的求助
我的打印按键中
report form bmddy noeject noconsole prev  之后,用户在预览后,会有二种可能:一是点了打印图标进行打印;二是点了退出图标结束预览并不打印。我的问题是:

report form bmddy noeject noconsole prev   
IF 用户点打印
  记录打印时间
ELSE  &&& 不打印结束预览,则
  记录为“用户未打印”
ENDIF
这里判断用户点打印还是结束预览的变量是什么?或者说 IF所在一行语句中的“用户点打印”之几个字,该换写怎样的语句?

求各路大侠赐教。谢谢啦!
搜索更多相关主题的帖子: report 记录 用户 
2016-05-22 17:38
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:12 
为何要知道用户在预览报表时有无打印输出?
2016-05-22 17:47
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:12 
可不可以这样
表单放一Spinner控件,用于判断,如用户不选默认0时,为预览。
程序代码:
cPrinter=ThisForm.Spinner1.Value
if cPrinter=0
report form bmddy noeject noconsole prev 
else
report form bmddy noeject noconsole to Printer
endi
2016-05-22 18:10
星光悠蓝
Rank: 9Rank: 9Rank: 9
来 自:山水甲天下
等 级:贵宾
威 望:52
帖 子:527
专家分:1281
注 册:2010-1-11
收藏
得分:12 
没见过,报表监控不知道能不能实现
2016-05-22 18:22
xs591222
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:28
帖 子:684
专家分:1303
注 册:2009-3-1
收藏
得分:0 
回复 2楼 吹水佬
我这是学生报名现场确认过的是要打印的,但有时操作员预览看一下的。

为了后续处理,打印的记录与不打印的记录不一样,再结合其他判断,可以更精确。——因为我不在现场

[此贴子已经被作者于2016-5-22 19:44编辑过]

2016-05-22 19:23
xs591222
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:28
帖 子:684
专家分:1303
注 册:2009-3-1
收藏
得分:0 
以下是引用tlliqi在2016-5-22 18:10:46的发言:

可不可以这样
表单放一Spinner控件,用于判断,如用户不选默认0时,为预览。
cPrinter=ThisForm.Spinner1.Value
if cPrinter=0
report form bmddy noeject noconsole prev
else
report form bmddy noeject noconsole to Printer
endi


前面一个是先预览,后可选择打印或不打印
后一个是不预览直接打印

所以,我的问题还是没解决的。
2016-05-22 19:26
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:0 
VFP9的报表监听器可以截获打印按钮事件
2016-05-22 19:46
xs591222
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:28
帖 子:684
专家分:1303
注 册:2009-3-1
收藏
得分:0 
如何截获呢?问题没有得到解决哎
2016-05-23 19:04
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:0 
参考示例:
报表文件
图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册

程序代码:
_screen.Visible = .F.
CREATE CURSOR tt (ss C(10), ff I)
FOR i = 1 TO 200
    INSERT INTO tt VALUES (PADL(i, 10, "0"), i)
ENDFOR

oRP = CREATEOBJECT("myRetroPreview")
    * C:\PROGRAM FILES (X86)\MICROSOFT VISUAL FOXPRO 9\REPORTPREVIEW.APP 
    * 将 REPORTPREVIEW.APP 复制到当前文件夹
oPC = NULL
DO ReportPreview.app WITH oPC
oPC.SetExtensionHandler(oRP)

oRL = CREATEOBJECT("Reportlistener")
oRL.ListenerType = 1
oRL.OutputType = 1
oRL.DynamicLineHeight = .F.
oRL.PreviewContainer = oPC

oRPF = CREATEOBJECT("myReportPreviewForm")
myReportFileName = "报表1.frx"
REPORT FORM (myReportFileName) PREVIEW IN WINDOW (oRPF.Name) OBJECT oRL
CLEAR ALL 
RETURN

DEFINE CLASS myReportPreviewForm as Form
    Desktop = .T.
    ShowWindow = 2
    WindowState = 2
    TitleBar = 0
ENDDEFINE

DEFINE CLASS myRetroPreview AS Custom
    PROCEDURE Show(iStyle)
        this.PreviewForm.Caption = ""
        this.PreviewForm.BorderStyle = 1
        this.PreviewForm.TitleBar = 0
        this.PreviewForm.WindowState = 2
        this.PreviewForm.Toolbar.Dock(0)
        BINDEVENT(this.PreviewForm.Toolbar.CmdPrint, "Click", this, "myPrintClick")
    ENDPROC
    
    PROCEDURE AddBarsToMenu(cPopup, iNextBar)
        FOR i = 1 TO CNTBAR(cPopup)-1
            RELEASE BAR i OF (cPopup)
        ENDFOR
    ENDPROC

    PROCEDURE Release
        IF MESSAGEBOX("要关闭吗?",4+32+256)==6
            RETURN .T.
        ENDIF
        RETURN .F.
    ENDPROC

    PROCEDURE myPrintClick
        MESSAGEBOX("点击了打印按钮")
    ENDPROC
ENDDEFINE
2016-05-23 21:08
xs591222
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:28
帖 子:684
专家分:1303
注 册:2009-3-1
收藏
得分:0 
谢谢!

看来 报表监听器可以截获打印按钮事件 VF8.0是没有的
2016-05-24 18:34
快速回复:打印问题的求助
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024647 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved