• 当前位置:首页>>PowerBuilder>>PowerBuilder脚本>>如何制作PSR文件浏览器
  • 如何制作PSR文件浏览器
  • PB(PowerBuilder)有一种以PSR结尾的特殊的保存报表的文件格式(本文简称作PSR文件)。当报表以PSR格式另存出来后,我们常常会不知道用什么方法再次打开它。

    其实很简单,下面将介绍打开的办法:

    先新建一空的库文件(PBL文件),这里命名为psropen,在库文件中的应用也命名为psropen。
    再创建一窗口w_psropen,稍微调一下它的属性,如width,height,title等。
    在窗口中添加按钮cb_1,cb_2,cb_3,cb_4,分别命名“另存为”,“打印”,“选择文件”,“返回”。
    在窗口中添加一数据窗口dw_1。
    另存为按钮clicked的代码:
    Stringls_File,ls_Path,ls_Ext
    GetFileSaveName("SaveReport",ls_Path,ls_File,"psr","PSReportFiles
    (*.psr),*.psr,"+&
    "TextFiles(*.txt),*.txt,HTMLFiles(*.htm),*.htm,Excel5File
    (*.xls),*.xls")
    IfTrim(ls_Path)<ccid_code><>""Then
    ls_Ext=Lower(Right(ls_Path,3))
    ChooseCasels_Ext
    Case"psr"
    dw_1.SaveAs(ls_Path,PSReport!,True)
    Case"txt"
    dw_1.SaveAs(ls_Path,Text!,True)
    Case"htm"
    dw_1.SaveAs(ls_Path,HTMLTable!,True)
    Case"xls"
    dw_1.SaveAs(ls_Path,Excel5!,True)
    CaseElse
    MessageBox("SaveReport","Thetypeoffilesavedisidentifiedby
    theextension."+&
    "Use'.psr'forPSReport,'.txt'forText,'.htm'forHTML
    Table,or'.xls'for&Excel5",Exclamation!,OK!)
    Return
    EndChoose
    Endif

    选择文件按钮clicked的代码:
    Stringls_File,ls_Path,ls_Ext longc=0,li_len,li_pos GetFileOpenName("打开PSR报表",ls_Path,ls_File,"psr","PSReportFiles (*.psr),*.psr,") IfTrim(ls_Path)<>""Then ls_Ext=Lower(Right(ls_Path,3)) ChooseCasels_Ext Case"psr" dw_1.setredraw(false) dw_1.dataobject=ls_path dw_1.setredraw(true) dw_1.modify("datawindow.print.preview=Yes") CaseElse MessageBox("打开PSR报表","本程序只能打开.PSR文件!",Exclamation!, OK!) Return EndChoose Endif

    打印按钮clicked代码:dw_1.print()
    返回按钮clicked代码:close(parent)
    在应用psropen的open事件中加入:open(w_psropen)。然后保存并运行,大功告成啦!

    注:
    在窗口中特别加入了一个“另存为”的按钮,以提示PSR文件格式是怎样生成的。另外当数据窗口的预览属性为假时,PSR文件的数据还可以修改!修改后再保成存相同文件名便实现了修改PSR文件数据的功能(只要是原来数据窗口另存出来时可修改的部分均可实现修改)。
    PBDWE60.DLL,PBVM60.DLL是支持本程序的必须文件。
    本程序在PB6.5下调试通过。

    [1]

  • 上一篇:在非PB窗口中实现键盘按键和鼠标点击动作的检测
    下一篇:PB8中如何正确得到含有汉字的字符串长度的问题——Davis总结