| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2385 人关注过本帖
标题:带参数的过程调用如何实现?
只看楼主 加入收藏
lcwdbzx2008
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2018-4-19
结帖率:66.67%
收藏
已结贴  问题点数:10 回复次数:7 
带参数的过程调用如何实现?
语人均分    语名次    数人均分    数名次    英人均分    英名次
75.5    0    63.3    0    65.8    0
61.7    0    48.6    0    65.3    0
类似上面的表有假如有4个,A1,A2,A3,A4
调用下面过程文件排序 DO ww WITH 文件名,"语人均分","语名次",怎么实现不了?如何调用?
PROCEDURE ww
PARAMETERS  XX,yy,zz
INDEX on -&yy TO LSB                         &&总分从大到小排列
GO TOP                                              &&定位到第一行
n名次 = 1                                           &&名次,记号,从1 到 N 不重复
n总分 = 0                                           &&用来存上一条记录的总分
DO whil !EOF()
        IF n总分 = XX.&yy                      &&判断与上一条的总分是否一样
            REPLACE XX.&zz WITH LSZD  &&如果一样,用上次记录名次替换
        ELSE
            REPLACE XX.&zz WITH n名次         &&否则,用不重复新名次
        ENDIF
        LSZD = XX.&zz                  &&存下这条记录的名次
        n总分 = XX.&yy                         &&用于下条记录的判断
        n名次 = n名次 +1                                &&'名次(记号),从1到N不重复'+1
        SKIP                                            &&下一条
ENDDO
ENDPROC
搜索更多相关主题的帖子: 过程 调用 WITH 总分 记录 
2018-04-25 23:03
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:10 
CREATE CURSOR A1 (语人均分 N(3,1), 语名次 I, 数人均分 N(3,1), 数名次 I, 英人均分 N(3,1), 英名次 I)
INSERT INTO A1 VALUES (75.5, 0, 63.3, 0, 65.8, 0)
INSERT INTO A1 VALUES (61.7, 0, 48.6, 0, 65.3, 0)
INSERT INTO A1 VALUES (75.5, 0, 63.3, 0, 65.8, 0)
INSERT INTO A1 VALUES (61.7, 0, 48.6, 0, 65.3, 0)
INSERT INTO A1 VALUES (75.5, 0, 63.3, 0, 65.8, 0)
INSERT INTO A1 VALUES (61.7, 0, 48.6, 0, 65.3, 0)
_rank("A1", "语人均分", "语名次")
BROWSE
_rank("A1", "数人均分", "数名次")
BROWSE
_rank("A1", "英人均分", "英名次")
BROWSE


FUNCTION _rank(XX, YY, ZZ)
    LOCAL nYY, nZZ
    SELECT (XX)
    EXECSCRIPT("INDEX on " + YY + " TAG LSB DESCENDING")
    GO TOP
    nYY = EVALUATE(YY)
    nZZ = 1
    SCAN
        IF EVALUATE(YY) != nYY
           nYY = EVALUATE(YY)
           nZZ = nZZ + 1
        ENDIF
        REPLACE (ZZ) WITH nZZ
    ENDSCAN
ENDFUNC
2018-04-26 05:20
lcwdbzx2008
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2018-4-19
收藏
得分:0 
谢谢二楼的,来试下看!
2018-04-26 10:07
lcwdbzx2008
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2018-4-19
收藏
得分:0 
真的可以呀!高手呀,谢谢二楼的
2018-04-26 11:32
lcwdbzx2008
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2018-4-19
收藏
得分:0 
求教一下各科人均分怎么写代码?
2018-04-26 21:56
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
以下是引用lcwdbzx2008在2018-4-26 21:56:09的发言:

求教一下各科人均分怎么写代码?

人均分 = 各科总分/人数
各科总分 = SUM(各科分数)
如果每人一条记录,人数 = 记录数 = RECCOUNT()
2018-04-27 04:08
中国龙王
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:484
专家分:283
注 册:2006-5-17
收藏
得分:0 
_rank()是个什么函数。怎么以前没见过

不要为了打发无聊而做无聊的事!不要在虚幻的世界里做虚幻的事!
2018-04-27 16:24
gs2536785678
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:45
帖 子:610
专家分:1784
注 册:2017-7-16
收藏
得分:0 
_rank()自定义函数
是高手自己创建的一个函数

在DOS时代,这可是最高水准了。
2018-05-16 09:53
快速回复:带参数的过程调用如何实现?
数据加载中...
 
   



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

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