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

📄 bb.prg

📁 建设银行计算机设备台帐程序计算机设备管理程序。其中包括一个网络文件传输示例
💻 PRG
字号:
do createtempfrx
	PROCEDURE createtempfrx
		LOCAL lnmargin,;
			lcreport,;
			loreport,;
			lopageheader,;
			lodetail,;
			losummary,;
			lnnumberofgroups,;
			lni,;
			lofield,;
			lnwidth,;
			lafields[1],;
			lnselectedfields,;
			lcfieldname,;
			lccolumn,;
			lcField,;
			lcpicture,;
			lnalign,;
			lcfontname,;
			lnfontsize,;
			lnfieldwidth,;
			llgroupcount,;
			lctotal,;
			logroup,;
			loobject,;
			logroupfooter,;
			lnlengthofstring,;
			lnhpos,;
			lnvpos,;
			lnj,;
			lnpagenowidth,;
			lovariable,;
			lopagefooter
*		WITH THIS
			IF TYPE('.oFieldsCollection')<>'O' OR ISNULL(.ofieldscollection)
				RETURN .F.
			ENDIF
			lnmargin = IIF(TYPE('.nMargin')='N', .nmargin, 0)
			IF EMPTY(.ctempfrxname)
				.ctempfrxname = .tempfile('FRX','')
			ENDIF
			lcreport = .ctempfrxname
			loreport = CREATEOBJECT('itReportFile')
			loreport.creportfile = lcreport
			loreport.lsummaryband = .T.
			loreport.nleftmargin = lnmargin
			lopageheader = loreport.getreportband('Page Header')
			lopageheader.nheight = 8

			*-- ?????
			lodetail = loreport.getreportband('Detail')
			lodetail.nheight = 1.5
			lodetail.conentry = 'loReport.OnEntryDetail()'


			losummary = loreport.getreportband('Summary')
			losummary.nheight = 3
			lnnumberofgroups = 0
			lnwidth = 0
			IF .ofieldscollection.COUNT>0
				.ofieldscollection.getfieldarray(@lafields)
			ENDIF
			lnselectedfields = .ofieldscollection.COUNT
			FOR lni = 1 TO lnselectedfields
				lcfieldname = lafields(lni,2)
				lofield = .ofieldscollection.ITEM(lcfieldname)
				lnfieldwidth = lofield.nwidth
				IF lnfieldwidth>0
					lccolumn = lofield.ccaption
					lcField = UPPER(ALLTRIM(lofield.cfieldexpr))
					IF .lstripalias
						lcField = STRTRAN(lcField, UPPER(lofield.calias)+'.')
					ENDIF
					lcpicture = IIF(EMPTY(lofield.cformat), '', '@'+lofield.cformat+' ')+lofield.cinputmask
					IF lofield.cfieldtype$'NFIBY' AND '$'$lofield.cformat
						lcpicture = STRTRAN(lcpicture, '9', '99', 1, 1)
						lnfieldwidth = lnfieldwidth+IIF('$'$lofield.cformat, 1, 0)
					ENDIF
					lnalign = lofield.nfontalign
					lcfontname = IIF(EMPTY(lofield.cfontname), .cfontname, lofield.cfontname)
					lnfontsize = IIF(EMPTY(lofield.nfontsize), .nfontsize, lofield.nfontsize)
					lctotal = lofield.ctotaltype
					DO CASE
					CASE lnalign=0
						lcalign = 'LEFT'
					CASE lnalign=1
						lcalign = 'RIGHT'
					CASE lnalign=2
						lcalign = 'CENTER'
					ENDCASE
					*-- ????
					lnhpos = IIF(lofield.nhposition=-1, lnwidth, lofield.nhposition)
					loobject = lopageheader.ADDITEM('Text')
					loobject.cexpression = lccolumn
					loobject.nvposition = 6.8
					loobject.nhposition = lnhpos+1
					loobject.lfontbold = .T.
					IF lnalign=1
						loobject.nhposition = lnhpos+MAX(lnfieldwidth-LEN(lccolumn), 0)
					ENDIF
					loobject.calignment = lcalign
					loobject.cfontname = lcfontname
					loobject.nfontsize = lnfontsize
					*******************************
					*-- ?????
					loobject = lopageheader.ADDITEM('Line')
					loobject.nvposition = 5.8
					loobject.nhposition = lnhpos
					loobject.lvertical = .T.
					loobject.nheight = 2.5
					*******************************
					*-- ?????
					loobject = lodetail.ADDITEM('Field')
					loobject.cexpression = lcField
					loobject.nwidth = lnfieldwidth
					loobject.nvposition = 0.3
					loobject.nhposition = lnhpos +0.5
					loobject.calignment = lcalign
					loobject.cpicture = lcpicture
					loobject.lfontbold = lofield.lfontbold
					loobject.lfontitalic = lofield.lfontitalic
					loobject.lfontunderline = lofield.lfontunderline
					loobject.cfontname = lcfontname
					loobject.nfontsize = lnfontsize
					loobject.nforecolor = lofield.nforecolor
					loobject.nbackcolor = lofield.nbackcolor
					loobject.lprintrepeats = NOT lofield.lsuppress
					loobject.lstretch = .T.
					lnwidth = lnhpos+lnfieldwidth+1
					*******************************
					*-- ?????
					loobject = lodetail.ADDITEM('Line')
					loobject.nvposition = -0.1
					loobject.nhposition = lnhpos
					loobject.lvertical = .T.
					loobject.nheight = 1.6
					loobject.lstretch = .T.
					*******************************
				ENDIF
			ENDFOR
			lnwidth = MAX(lnwidth-1, 0)
			loobject = lopageheader.ADDITEM('Field')
			loobject.cexpression = 'iif(type("loReport.cHeader") = "C", '+'loReport.cHeader, "")'
			loobject.nwidth = lnwidth
			loobject.nhposition = 0
			loobject.nvposition = 1
			loobject.calignment = 'LEFT'
			loobject.lfontbold = .T.
			loobject.cfontname = "??_GB2312"
			loobject.nfontsize = 16
			loobject = lopageheader.ADDITEM('Field')
			loobject.cexpression = 'iif(type("loReport.dReportDate") $ "DT", '+'loReport.dReportDate, date())'
			ldreportdate = .dreportdate
			loobject.nwidth = IIF(TYPE("ldreportdate")='D', 10, 22)
			loobject.nhposition = 0
			loobject.nvposition = 3
			loobject.lfontbold = .T.
			loobject.cfontname = .cfontname
			loobject.nfontsize = .nfontsize
			lnpagenowidth = 3
			loobject = lopageheader.ADDITEM('Text')
			loobject.cexpression = '??:'
			loobject.nvposition = 2
			loobject.nhposition = MAX(lnwidth-(lnpagenowidth+4), 10)
			loobject.lfontbold = .T.
			loobject.cfontname = .cfontname
			loobject.nfontsize = .nfontsize
			loobject = lopageheader.ADDITEM('Field')
			loobject.cexpression = '_pageno'
			loobject.nwidth = lnpagenowidth
			loobject.nvposition = 2
			loobject.nhposition = MAX(lnwidth-lnpagenowidth, 15)
			loobject.calignment = 'Right'
			loobject.lfontbold = .T.
			loobject.cfontname = .cfontname
			loobject.nfontsize = .nfontsize
			loobject = lopageheader.ADDITEM('BOX')
			loobject.nwidth = lnwidth+2
			loobject.nvposition = 5.8
			loobject.nhposition = 0
			*************************************************
			*-- ?????
			loobject = lodetail.ADDITEM('BOX')
			loobject.nwidth = lnwidth+2
			loobject.nheight = 1.6
			loobject.nvposition = -0.1
			loobject.nhposition = 0
			loobject.lstretch = .T.
			*************************************************
			loobject = losummary.ADDITEM('Text')
			loobject.cexpression = '?'
			loobject.nvposition = 2
			loobject.nhposition = 0
			loobject.lfontbold = .T.
			loobject.cfontname = .cfontname
			loobject.nfontsize = .nfontsize
			loobject = losummary.ADDITEM('Field')
			loobject.cexpression = 'ltrim(str(lnCount)) + iif(lnCount = 1, "'+'???'+'", "'+'???'+'") + "'+'"'
			loobject.nwidth = 21
			loobject.nvposition = 2
			loobject.nhposition = 8
			loobject.lfontbold = .T.
			loobject.cfontname = .cfontname
			loobject.nfontsize = .nfontsize
			lovariable = loreport.createvariable()
			lovariable.cname = 'lnCount'
			lovariable.cvalue = '1'
			lovariable.cinitialvalue = '0'
			lovariable.ctotaltype = 'Sum'
			lopagefooter = loreport.getreportband('Page Footer')
			lopagefooter.nheight = 1
			loobject = lopagefooter.ADDITEM('Field')
			loobject.cexpression = 'iif(type("loReport.cFooter") = "C", '+'loReport.cFooter, "")'
			loobject.nwidth = lnwidth
			loobject.nvposition = 0
			loobject.nhposition = 0
			loobject.calignment = 'Center'
			loobject.lfontbold = .T.
			loobject.cfontname = .cfontname
			loobject.nfontsize = .nfontsize
			loreport.SAVE()
			.checkwidth(loreport)
			loreport.RELEASE()
*		ENDWITH
		RETURN

	ENDPROC
	PROCEDURE releasemembers
		LOCAL loobject
		loobject = THIS.ofieldscollection
		IF TYPE("loObject")='O'
			this.ofieldscollection = .NULL.
		ENDIF
		DoDefault()

	ENDPROC
	PROCEDURE Destroy
		LOCAL lcAlias, lcfrtfile
		WITH THIS
			lcAlias = SUBSTR(.ctempfrxname, RAT('\', .ctempfrxname)+1)
			lcAlias = LEFT(lcAlias, RAT('.', lcAlias)-1)
			IF USED(lcAlias)
				USE IN (lcAlias)
			ENDIF
			IF FILE(.ctempfrxname)
				ERASE (.ctempfrxname)
			ENDIF
			lcfrtfile = STRTRAN(UPPER(.ctempfrxname), '.FRX', '.FRT')
			IF FILE(lcfrtfile)
				ERASE (lcfrtfile)
			ENDIF
		ENDWITH
		DoDefault()

	ENDPROC

⌨️ 快捷键说明

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