⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 printreport.prg

📁 票据打印软件
💻 PRG
字号:
WAIT WINDOW "正在生成打印文件,请稍候..." NOWAIT 
SET DECIMALS TO 4 &&设定最少小数位数
IF !dbused('taxticket')
   OPEN DATABASE  taxticket
ENDIF
  SET DATABASE TO taxticket
IF !USED("maintable")
   USE maintable ALIAS maintable EXCLUSIVE  IN 0
ENDIF       
SELECT maintable
GO TOP 
SET ORDER TO 1
IF !USED("print")
   USE print ALIAS print EXCLUSIVE IN 0
ENDIF   
SELECT print
  GO TOP       
SELECT maintable
SET DATE ANSI 
SET CENTURY ON 
loReport=NEWOBJECT('SFReportFile', 'SFREPOBJ')&&建立控件
loReport.cReportFile  = 'taxticket.frx' &&设置文件名
loReport.lSummaryBand=.F.&&不要概要带
loReport.cUnits="I" && 单位英寸,厘米/2.54为英寸

* 设置页标头,页标头由于在控件中自动生成,直接调用,设置成0高度

loPageHeader = loReport.GetReportBand('Page Header')
loPageHeader.nHeight = 0
* 设置细节带
loDetail = loReport.GetReportBand('Detail')
loDetail.nHeight =print.yg/2.54
*设置页脚注

loPageFooter = loReport.GetReportBand('Page Footer')
loPageFooter.nHeight = 0

*建立报表变量 大写
loVariable = loReport.CreateVariable()
loVariable.cName = "cRMBdx"
loVariable.cValue = "rmbdx(maintable.hj)"
loVariable.cInitialValue = 0
loVariable.cTotalType = "N"

*建立细节带字段
*建立顾客名称字段
loObject = loDetail.ADDITEM('Field')
loObject.cExpression = "maintable.gkmc"
loObject.cFontName = ALLTRIM(print.wzzt)
loObject.nFontSize = VAL(ALLTRIM(print.wzzh))
loObject.nHPosition = print.khmc/2.54
loObject.nVPosition = print.pth/2.54
loObject.nWidth = loReport.GetHValue(LEN(maintable.gkmc) ,loObject)	

*建立年
loObject = loDetail.ADDITEM('Field')
loObject.cExpression = "SUBSTR(DTOC(maintable.nyr),1,4)"
loObject.cFontName = ALLTRIM(print.szzt)
loObject.nFontSize = VAL(ALLTRIM(print.szzh))
loObject.nHPosition = print.nian/2.54
loObject.nVPosition = print.pth/2.54
loObject.nWidth = loReport.GetHValue(5 ,loObject)	

*建立月
loObject = loDetail.ADDITEM('Field')
loObject.cExpression = "SUBSTR(DTOC(maintable.nyr),6,2)"
loObject.cFontName = ALLTRIM(print.szzt)
loObject.nFontSize = VAL(ALLTRIM(print.szzh))
loObject.nHPosition = print.yue/2.54
loObject.nVPosition = print.pth/2.54
loObject.nWidth = loReport.GetHValue(3 ,loObject)	

*建立日
loObject = loDetail.ADDITEM('Field')
loObject.cExpression = "SUBSTR(DTOC(maintable.nyr),9,2)"
loObject.cFontName = ALLTRIM(print.szzt)
loObject.nFontSize = VAL(ALLTRIM(print.szzh))
loObject.nHPosition = print.ri/2.54
loObject.nVPosition = print.pth/2.54
loObject.nWidth = loReport.GetHValue(3 ,loObject)	

*建立4行打印项目
FOR I=1 TO 4
    cXm="Maintable.Xm"+ALLTRIM(STR(I))
    cDw="Maintable.Dw"+ALLTRIM(STR(I))
    cSl="Maintable.Sl"+ALLTRIM(STR(I))
    cSfbz="Maintable.Sfbz"+ALLTRIM(STR(I))
    cJe="int(Maintable.Je"+ALLTRIM(STR(I))+"*100)"
    cVPosition="print.D"+ALLTRIM(STR(I))+"H"
    
    *项目列
    loObject = loDetail.ADDITEM('Field')
    loObject.cExpression = "&cXm"
    loObject.cFontName = ALLTRIM(print.wzzt)
    loObject.nFontSize = VAL(ALLTRIM(print.wzzh))
    loObject.nHPosition = print.xmll/2.54
    loObject.nVPosition = &cVPosition/2.54
    loObject.nWidth = loReport.GetHValue(LEN(&cXm) ,loObject)
    *单位列
    loObject = loDetail.ADDITEM('Field')
    loObject.cExpression = "&cDw"
    loObject.cFontName = ALLTRIM(print.wzzt)
    loObject.nFontSize = VAL(ALLTRIM(print.wzzh))
    loObject.nHPosition = print.dwl/2.54
    loObject.nVPosition = &cVPosition/2.54
    loObject.nWidth = loReport.GetHValue(LEN(&cDw) ,loObject)		
    *数量列
    loObject = loDetail.ADDITEM('Field')
    loObject.cExpression = "&cSl"
    loObject.cFontName = ALLTRIM(print.szzt)
    loObject.cPicture = "@Z99999.99"
    loObject.nFontSize = VAL(ALLTRIM(print.szzh))
    loObject.nHPosition = print.sll/2.54
    loObject.nVPosition = &cVPosition/2.54
    loObject.nWidth = loReport.GetHValue(9 ,loObject)	
     *收费标准列
    loObject = loDetail.ADDITEM('Field')
    loObject.cExpression = "&cSfbz"
    loObject.cFontName = ALLTRIM(print.szzt)
    loObject.cPicture = "@Z9999999.99"
    loObject.nFontSize = VAL(ALLTRIM(print.szzh))
    loObject.nHPosition = print.sfbzl/2.54
    loObject.nVPosition = &cVPosition/2.54
    loObject.nWidth = loReport.GetHValue(11 ,loObject)	
     *金额列
    loObject = loDetail.ADDITEM('Field')
    loObject.cExpression = "&cJe"
    loObject.cFontName = ALLTRIM(print.szzt)
    loObject.cPicture = "@Z999999"
    loObject.nFontSize = VAL(ALLTRIM(print.szzh))
    loObject.nHPosition = print.Jel/2.54
    loObject.nVPosition = &cVPosition/2.54
    loObject.nWidth = loReport.GetHValue(7 ,loObject)	    
ENDFOR 
*建立备注列
    
    loObject = loDetail.ADDITEM('Field')
    loObject.cExpression = "Maintable.bz"
    loObject.cFontName = ALLTRIM(print.wzzt)
    loObject.nFontSize = VAL(ALLTRIM(print.wzzh))
    loObject.nHPosition = print.bzl/2.54
    loObject.nVPosition = print.D1h/2.54
    loObject.nWidth = loReport.GetHValue(8 ,loObject)
    loObject.nHeight=(print.dxh-print.d1h)/2.54
*建立大写千
    loObject = loDetail.ADDITEM('Field')
    loObject.cExpression = "SUBSTR(cRmbDx,1,2)"
    loObject.cFontName = ALLTRIM(print.wzzt)
    loObject.nFontSize = VAL(ALLTRIM(print.wzzh))
    loObject.nHPosition = print.qian/2.54
    loObject.nVPosition = print.Dxh/2.54
    loObject.nWidth = loReport.GetHValue(3,loObject)
*建立大写百
    loObject = loDetail.ADDITEM('Field')
    loObject.cExpression = "SUBSTR(cRmbDx,3,2)"
    loObject.cFontName = ALLTRIM(print.wzzt)
    loObject.nFontSize = VAL(ALLTRIM(print.wzzh))
    loObject.nHPosition = print.bai/2.54
    loObject.nVPosition = print.Dxh/2.54
    loObject.nWidth = loReport.GetHValue(3 ,loObject)
*建立大写十
    loObject = loDetail.ADDITEM('Field')
    loObject.cExpression = "SUBSTR(cRmbDx,5,2)"
    loObject.cFontName = ALLTRIM(print.wzzt)
    loObject.nFontSize = VAL(ALLTRIM(print.wzzh))
    loObject.nHPosition = print.shi/2.54
    loObject.nVPosition = print.Dxh/2.54
    loObject.nWidth = loReport.GetHValue(3 ,loObject)    
*建立大写元
    loObject = loDetail.ADDITEM('Field')
    loObject.cExpression = "SUBSTR(cRmbDx,7,2)"
    loObject.cFontName = ALLTRIM(print.wzzt)
    loObject.nFontSize = VAL(ALLTRIM(print.wzzh))
    loObject.nHPosition = print.yuan/2.54
    loObject.nVPosition = print.Dxh/2.54
    loObject.nWidth = loReport.GetHValue(3 ,loObject)
*建立大写角
    loObject = loDetail.ADDITEM('Field')
    loObject.cExpression = "SUBSTR(cRmbDx,9,2)"
    loObject.cFontName = ALLTRIM(print.wzzt)
    loObject.nFontSize = VAL(ALLTRIM(print.wzzh))
    loObject.nHPosition = print.jiao/2.54
    loObject.nVPosition = print.Dxh/2.54
    loObject.nWidth = loReport.GetHValue(3 ,loObject)
*建立大写分
    loObject = loDetail.ADDITEM('Field')
    loObject.cExpression = "SUBSTR(cRmbDx,11,2)"
    loObject.cFontName = ALLTRIM(print.wzzt)
    loObject.nFontSize = VAL(ALLTRIM(print.wzzh))
    loObject.nHPosition = print.fen/2.54
    loObject.nVPosition = print.Dxh/2.54
    loObject.nWidth = loReport.GetHValue(3 ,loObject)  
 *合计
    loObject = loDetail.ADDITEM('Field')
    loObject.cExpression = "int(maintable.hj*100)"
    loObject.cFontName = ALLTRIM(print.szzt)
    loObject.cPicture = "@Z999999"
    loObject.nFontSize = VAL(ALLTRIM(print.szzh))
    loObject.nHPosition = print.Jel/2.54
    loObject.nVPosition = print.dxh/2.54
    loObject.nWidth = loReport.GetHValue(7 ,loObject)	      
*建立开票人
    loObject = loDetail.ADDITEM('Field')
    loObject.cExpression = "maintable.kpr"
    loObject.cFontName = ALLTRIM(print.wzzt)
    loObject.nFontSize = VAL(ALLTRIM(print.wzzh))
    loObject.nHPosition = print.kpr/2.54
    loObject.nVPosition = print.pwh/2.54
    loObject.nWidth = loReport.GetHValue(9 ,loObject)  
*建立收款人
    loObject = loDetail.ADDITEM('Field')
    loObject.cExpression = "maintable.skr"
    loObject.cFontName = ALLTRIM(print.wzzt)
    loObject.nFontSize = VAL(ALLTRIM(print.wzzh))
    loObject.nHPosition = print.skr/2.54
    loObject.nVPosition = print.pwh/2.54
    loObject.nWidth = loReport.GetHValue(9 ,loObject)  
        
*thisform.pageframe1.page1.lableThousand.Caption=SUBSTR(cRmbDx,1,2)
*thisform.pageframe1.page1.lablehundred.Caption=SUBSTR(cRmbDx,3,2)
*thisform.pageframe1.page1.lableTen.Caption=SUBSTR(cRmbDx,5,2)
*thisform.pageframe1.page1.lableone.Caption=SUBSTR(cRmbDx,7,2)
*thisform.pageframe1.page1.lablehao.Caption=SUBSTR(cRmbDx,9,2)
*thisform.pageframe1.page1.lablecent.Caption=SUBSTR(cRmbDx,11,2)

loReport.Save()
REPORT FORM taxticket.frx NOCONSOLE  PREVIEW 














⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -