makecc.prg
来自「DOS下一个完整的大型程序源代码」· PRG 代码 · 共 107 行
PRG
107 行
set talk off
set safe off
close data
set proc to makecc
?
? '正在生成用户档案数据库...'
sele 2
use ccuser
zap
sele 1
use \jf\tm0\dataman\dbfs\ch_tel.dbf
do while .not. eof()
szTel = TEL_NO
szCNo = USER_ID
sele 2
appe blank
repl TEL with szTel
repl CNO with szCNo
sele 1
skip
enddo
close data
?
? '正在生成长话话单数据库...'
szMonth = itoa( Month( Date() ) )
szName = "\jf\tm0\account\bill_" + szMonth
sele 1
use &szName
sele 2
use cc
zap
sele 1
do while .not. eof()
if SubStr( CallEe, 1, 1 ) # '0'
skip
loop
endif
szZj = TEL_NO
szRq = Str( Year( E_DATE ) - 1900, 2 ) + '年' + ;
Str( Month( E_DATE ), 2 ) + '月' + ;
Str( Day( E_DATE ), 2 ) + '日'
szBj = CALLEE
nSec = TIMELONG
nMin = Int( nSec / 60 )
nHour = Int( nMin / 60 )
nSc = nMin
nSec = nSec - nMin * 60
nMin = nMin - nHour * 60
if nSec <> 0
nSc = nSc + 1
endif
nHour2 = Int( Val( E_HOUR ) )
nMin2 = Int( Val( E_MINUTE ) )
nSec2 = Int( Val( E_SECOND ) )
if nSec2 < nSec
nMin2 = nMin2 - 1
nSec1 = nSec2 + 60 - nSec
else
nSec1 = nSec2 - nSec
endif
if nMin2 < nMin
nHour2 = nHour2 - 1
nMin1 = nMin2 + 60 - nMin
else
nMin1 = nMin2 - nMin
endif
if nHour2 < nHour
nHour1 = nHour2 + 24 - nHour
else
nHour1 = nHour2 - nHour
endif
szSj = itoa( nHour1 ) +':'+ itoa( nMin1 ) +':'+ itoa( nSec1 );
+'-'+ E_HOUR +':'+ E_MINUTE +':'+ E_SECOND
dThf = MONEY
dFjf = ADD1_FEE + ADD2_FEE + ADD3_FEE
sele 2
appe blank
repl ZJ with szZj
repl RQ with szRq
repl BJ with szBj
repl SJ with szSj
repl SC with nSc
repl THF with dThf
repl FJF with dFjf
sele 1
skip
enddo
close all
return
proc itoa
para n
szN = Str( Int( n / 10 ), 1 ) + Str( Mod( n, 10 ), 1 )
return szN
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?