📄 fxdy.prg
字号:
* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
* 文件名: FXDY.PRG <-- 本文件由 UnFoxAll 创建
* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
SET TALK OFF
SET CONSOLE OFF
SET EXACT ON
SET SAFETY OFF
IF 1 = 0
SET DEFAULT TO \xbbjs
MMBZ4 = '1'
NIAN = '1998'
YUE = '02'
ENDIF
M_BH = '00'
DO FORM src\form\gong2
SS = M_BH
IF M_BH = '00'
CLOSE DATABASES
RETURN
ENDIF
IF M_BH = '99'
DO src\prg\DY99
CLOSE DATABASES
RETURN
ENDIF
CLOSE DATABASES
USE lib\bzl.dat
LOCATE FOR BH = SS
M_BM = ALLTRIM(BM)
BTTM = M_BM + '统计分析报表'
USE .\bbbt
GO TOP
REPLACE B_BM WITH BTTM
USE
BBXZ3 = ''
Q_QUIT = .F.
M_BLX1 = 1
DO FORM .\src\form\fxdy
IF Q_QUIT
CLOSE DATABASES
RETURN
ENDIF
DO CASE
CASE M_BLX1 = 1
BBXZ3 = '月 报'
CASE M_BLX1 = 2
BBXZ3 = '季 报'
CASE M_BLX1 = 3
BBXZ3 = '年 报'
ENDCASE
USE LIB\BZL.DAT
LOCATE FOR BH = SS
M_BLX2 = 1
BBXZ2 = ''
IF LX
DO FORM src\form\fxdyd
ENDIF
CL_NIAN = RIGHT(NIAN,2)
IF !fiLE("dat\fx&ss&cl_nian..DAT") .or. !file("dat\fxhz&ss&cl_nian..dat")
MSGTTL = '分析报表'
MESSGTXT = '报表数据不存在!'
MESSAGEBOX(MESSGTXT,64,MSGTTL)
CLOSE DATABASES
RETURN
ENDIF
DO DY1
PROCEDURE dy1
SELECT 1
IF FILE('.\lib\xmls.dat')
USE .\lib\xmls.dat
ELSE
CREATE TABLE .\lib\xmls.dat ( XMDH C ( 6 ) , XMMC C ( 30 ) , XZ C ( 1 ) )
ENDIF
ZAP
appe from .\lib\xm&m_bh..dat
DELETE FOR XMMC = SPACE(30)
PACK
M_QUIT = .T.
DO FORM .\src\form\fxdya
IF M_QUIT = .F.
CLOSE DATABASES
RETURN
ENDIF
DO CASE
CASE MM = 1
DD = ' 比 上 期 增 减 '
BJ = 'da6'
BL = 'da7'
CASE MM = 2
DD = ' 比 年 初 增 减 '
BJ = 'da2'
BL = 'da3'
CASE MM = 3
DD = ' 比去年同期增减 '
BJ = 'da4'
BL = 'da5'
ENDCASE
RESTORE FROM qq.mem ADDITIVE
HZH = QQ
SET DEVICE TO PRINTER
SET PRINTER TO xxx.txt
SET PRINTER ON
DO WHILE .T.
USE .\lib\xmls.dat
COUNT FOR XZ <> ' ' TO N
GO TOP
IF N = 0
EXIT
ENDIF
@ PROW() , 10 SAY '`@M`'
@ PROW() , PCOL() SAY '单位:'
@ PROW() , PCOL() SAY HZH
@ PROW() , PCOL() + 40 SAY NIAN
@ PROW() , PCOL() + 1 SAY '年'
@ PROW() , PCOL() SAY YUE
@ PROW() , PCOL() + 1 SAY '月'
@ PROW() , PCOL() + 50 SAY BBXZ2
@ PROW() , PCOL() + 2 SAY BBXZ3
IF N > 4
M = 4
ELSE
M = N
ENDIF
T = 1
DIMENSION XM( 4 )
DIMENSION XH( 4 )
DO WHILE T <= M
IF XZ <> ' '
XM( T ) = XMMC
XH( T ) = XMDH
REPLACE XZ WITH ' '
T = T + 1
ENDIF
SKIP
ENDDO
B1 = '┏━━━'
STORE '' TO B2
T = 1
DO WHILE T <= M
B2 = B2 + '┯━━━━━━━━━━━━━━━━━━━━━━'
T = T + 1
ENDDO
B3 = '┓'
DO BGDY WITH B1 , B2 , B3
B1 = '┃ 项目'
T = 1
STORE '' TO B2
DO WHILE T <= M
B2 = B2 + '│' + PADC(RTRIM(XH(T) + XM(T)),44,' ')
T = T + 1
ENDDO
B3 = '┃'
DO BGDY WITH B1 , B2 , B3
B1 = '┃ '
T = 1
STORE '' TO B2
DO WHILE T <= M
B2 = B2 + '├────────┬────────┬────'
T = T + 1
ENDDO
B3 = '┨'
DO BGDY WITH B1 , B2 , B3
B1 = '┃地区 '
T = 1
STORE '' TO B2
DO WHILE T <= M
B2 = B2 + '│ 本 期 数 │' + DD + '│ 比 率 '
T = T + 1
ENDDO
B3 = '┃'
DO BGDY WITH B1 , B2 , B3
SELECT 1
USE lib\dqk.dat
DO WHILE .NOT. EOF()
IF DQMC = ' '
SKIP
LOOP
ENDIF
MDQDH = DQDH
B1 = '┠───'
T = 1
STORE '' TO B2
DO WHILE T <= M
B2 = B2 + '┼────────┼────────┼────'
T = T + 1
ENDDO
B3 = '┨'
DO BGDY WITH B1 , B2 , B3
B1 = '┃' + LEFT(DQMC,6)
T = 1
STORE '' TO B2
SELECT 2
use dat\fx&ss&cl_nian..dat
DO WHILE T <= M
Q = 0
SCAN FOR ;
ALLTRIM(XMDH) == ALLTRIM(XH(T)) AND DQDH = MDQDH AND BLX1 = ALLTRIM(STR(M_BLX1)) AND ;
BLX2 = ALLTRIM(STR(M_BLX2)) AND RQ = VAL(YUE)
b2 = b2+'│'+ str(da1,16,2) + '│'+str(&bj.,16,2) + '│'+ str(&bl.,8,2)
Q = 1
ENDSCAN
IF Q = 0
B2 = B2 + '│' + SPACE(16) + '│' + SPACE(16) + '│' + SPACE(8)
ENDIF
T = T + 1
ENDDO
B3 = '┃'
DO BGDY WITH B1 , B2 , B3
SELECT 1
SKIP
ENDDO
B1 = '┠───'
T = 1
STORE '' TO B2
DO WHILE T <= M
B2 = B2 + '┼────────┼────────┼────'
T = T + 1
ENDDO
B3 = '┨'
DO BGDY WITH B1 , B2 , B3
B1 = '┃' + '合计 '
T = 1
STORE '' TO B2
SELECT 2
use dat\fxhz&ss&cl_nian..dat
T = 1
STORE '' TO B2
DO WHILE T <= M
Q = 0
SCAN FOR ;
ALLTRIM(XMDH) = ALLTRIM(XH(T)) AND RQ = VAL(YUE) AND BLX1 = STR(M_BLX1,1) AND ;
BLX2 = STR(M_BLX2,1)
b2 = b2+'│'+ str(da1,16,2) + '│'+str(&bj.,16,2) + '│'+ str(&bl.,8,2)
Q = 1
ENDSCAN
IF Q = 0
B2 = B2 + '│' + SPACE(16) + '│' + SPACE(16) + '│' + SPACE(8)
ENDIF
T = T + 1
ENDDO
B3 = '┃'
DO BGDY WITH B1 , B2 , B3
B1 = '┗━━━'
T = 1
STORE '' TO B2
DO WHILE T <= M
B2 = B2 + '┷━━━━━━━━┷━━━━━━━━┷━━━━'
T = T + 1
ENDDO
B3 = '┛'
DO BGDY WITH B1 , B2 , B3
@ 1 , 0 SAY ''
ENDDO
SET PRINTER OFF
SET DEVICE TO SCREEN
SET PRINTER TO
USE .\LREPORT.DBF
ZAP
APPEND FROM XXX.TXT SDF
DELETE FOR NR = SPACE(254)
PACK
USE
REPORT FORM src\rpt\LREPORT PREVIEW
SELECT 1
USE
SELECT 2
USE
RETURN
ENDPROC
*------
PROCEDURE bgdy
PARAMETER X1 , X2 , X3
@ PROW() + 1 , 0 SAY X1
@ PROW() , PCOL() SAY X2
@ PROW() , PCOL() SAY X3
RETURN
ENDPROC
*------*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -