标题:求教:如何修改代码[用表文件jftj中的字段zifu替换代码中的zhifu
只看楼主
王咸美
Rank: 1
等 级:新手上路
帖 子:569
专家分:0
注 册:2018-1-4
结帖率:96.99%
已结贴  问题点数:20 回复次数:17 
求教:如何修改代码[用表文件jftj中的字段zifu替换代码中的zhifu
现有表文件jftj.dbf,如何修改代码[用表文件jftj中的字段zifu替换代码中的zhifu='aaddcdadbbabbbc']来计算语文老师的积分(字母1-5)、数学老师的积分(字母6-10)、英语老师的积分(字母11-15)。积分规则:A 10分 B 9分 C 8分 D 7分
请高手赐教,不胜感谢!!!
[本贴为旧贴,只为学习用,不喜权当路过]


jftj.rar (256 Bytes)

CLEAR
fz='a10b09c08d07'
ls='语文数学外语'

zhifu='aaddcdadbbabbbc'

FOR i=1 TO 15 STEP 5
    vz = SUBSTR(zhifu,i,5)
    jg = 0
    FOR j=1 TO 12 STEP 3
        zz  = SUBSTR(fz,j,1)
        zzz = VAL(SUBSTR(fz,j+1,2))
        jg = jg +(LEN(vz)-len(CHRTRAN(vz,zz,'')))*zzz
    ENDFOR
    ?SUBSTR(ls,((i-1)/5)*4+1,4)+":"+STR(jg,4)  
ENDFOR   

[此贴子已经被作者于2023-5-8 07:08编辑过]

搜索更多相关主题的帖子: 积分 文件 代码 替换 修改 
2023-05-08 06:49
王咸美
Rank: 1
等 级:新手上路
帖 子:569
专家分:0
注 册:2018-1-4
得分:0 
2023-05-08 07:10
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
应该可以参考你自己的贴:https://bbs.bccn.net/thread-511941-1-1.html
2023-05-08 08:03
laowan001
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:54
帖 子:802
专家分:1914
注 册:2015-12-30
得分:0 
程序代码:
返回一个字符表达式在另一个字符表达式中出现的次数。
OCCURS(cSearchExpression, cExpressionSearched)
参数
cSearchExpression 
指定字符表达式,OCCURS( ) 在 cExpressionSearched 中查找该表达式。 
cExpressionSearched 
指定一字符表达式,OCCURS( ) 在其中查找 cSearchExpression 字符表达式。 

xx = 'AABBCDBDAACACDDAA'
yw = 10*OCCURS('A',SUBSTR(xx,1,5)) + 9*OCCURS('B',SUBSTR(xx,1,5)) + 8*OCCURS('C',SUBSTR(xx,1,5)) + 7*OCCURS('D',SUBSTR(xx,1,5))
messagebox(yw)
依此类推

2023-05-08 08:12
laowan001
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:54
帖 子:802
专家分:1914
注 册:2015-12-30
得分:6 
程序代码:
SELECT jftj
REPLACE all yw WITH 10*OCCURS('A',SUBSTR(zifu,1,5)) + 9*OCCURS('B',SUBSTR(zifu,1,5)) + 8*OCCURS('C',SUBSTR(zifu,1,5)) + 7*OCCURS('D',SUBSTR(zifu,1,5))
REPLACE all sx WITH 10*OCCURS('A',SUBSTR(zifu,6,5)) + 9*OCCURS('B',SUBSTR(zifu,6,5)) + 8*OCCURS('C',SUBSTR(zifu,6,5)) + 7*OCCURS('D',SUBSTR(zifu,6,5))
REPLACE all yy WITH 10*OCCURS('A',SUBSTR(zifu,11,5)) + 9*OCCURS('B',SUBSTR(zifu,11,5)) + 8*OCCURS('C',SUBSTR(zifu,11,5)) + 7*OCCURS('D',SUBSTR(zifu,11,5))
GO TOP 
BROWSE

或者
SELECT jftj
REPLACE all yw WITH 10*OCCURS('A',SUBSTR(zifu,1,5)) + 9*OCCURS('B',SUBSTR(zifu,1,5)) + 8*OCCURS('C',SUBSTR(zifu,1,5)) + 7*OCCURS('D',SUBSTR(zifu,1,5)),sx WITH 10*OCCURS('A',SUBSTR(zifu,6,5)) + 9*OCCURS('B',SUBSTR(zifu,6,5)) + 8*OCCURS('C',SUBSTR(zifu,6,5)) + 7*OCCURS('D',SUBSTR(zifu,6,5)),yy WITH 10*OCCURS('A',SUBSTR(zifu,11,5)) + 9*OCCURS('B',SUBSTR(zifu,11,5)) + 8*OCCURS('C',SUBSTR(zifu,11,5)) + 7*OCCURS('D',SUBSTR(zifu,11,5))
GO TOP 
BROWSE


[此贴子已经被作者于2023-5-8 08:26编辑过]

2023-05-08 08:19
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
与之前的贴(https://bbs.bccn.net/thread-511941-1-1.html)统计原理差不多,一个是“合”,另一个是“分”。
2023-05-08 08:24
王咸美
Rank: 1
等 级:新手上路
帖 子:569
专家分:0
注 册:2018-1-4
得分:0 
谢谢各位高手的热心指点!!!
2023-05-08 08:36
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:8 

程序代码:
SET COMPATIBLE OFF
ALINES(abcd,"10,9,8,7",",")
DIMENSION tj[3]
SELECT banji,zifu,tj[1] yw,tj[2] sx,tj[3] yy FROM jftj WHERE fun()

FUNCTION fun()
    tj = 0
    FOR i=1 TO ALINES(arr,TRANSFORM(zifu,"@R #####,#####,#####"),",")
        FOR j=1 TO ALINES(ysy,TRANSFORM(arr[i],"@R #,#,#,#,#"),",")
            tj[i] = tj[i] + VAL(abcd[ASC(ysy[j])-ASC("A")+1])
        ENDFOR 
    ENDFOR 
    RETURN .t.
ENDFUNC
2023-05-08 09:20
ybq1014
Rank: 2
等 级:论坛游民
帖 子:13
专家分:16
注 册:2012-12-19
得分:6 
以供参考
程序代码:
CLOSE DATABASES 
USE jftj IN 0
SELECT jftj
kmStr=""
FOR ln=3 TO FCOUNT()
    kmStr=kmStr+','+FIELD(ln)
ENDFOR
kmStr=RIGHT(ALLTRIM(kmStr),LEN(alltrim(kmStr))-1)
=ALINES(akm,kmStr,1+4,',')
lcStr="A,10,B,9,C,8,D,7"
=ALINES(bz,lcStr,1+4,',')
DIMENSION bz[4,2]
SCAN
   FOR i=1 TO 15 STEP 5
       bbStr=SUBSTR(ALLTRIM(zifu),i,5)
       jf=0
       FOR j=1 TO LEN(bbStr)
         ch=SUBSTR(bbStr,j,1)
         Rownum=ASCAN(bz,ch,1,-1,1,8)
         jf=jf+VAL(bz[Rownum,2])
       ENDFOR
       REPLACE (akm[CEILING(i/5)]) WITH jf
  ENDFOR
ENDSCAN
BROWSE



[此贴子已经被作者于2023-5-8 15:19编辑过]

2023-05-08 14:51
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
回复 9楼 ybq1014
以不变应万变,别具一格,学习了。
kmstr 最好由表中字段生成最好,个人看法。

坚守VFP最后的阵地
2023-05-08 15:06



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-512129-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.065313 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved