| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 465 人关注过本帖
标题:如何将几个字段的值写入数组,排序后再替换为字段值
只看楼主 加入收藏
chychychy
Rank: 2
等 级:论坛游民
帖 子:215
专家分:91
注 册:2015-4-18
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
如何将几个字段的值写入数组,排序后再替换为字段值
新建文件夹 - 副本.zip (81.48 KB)

图片附件: 游客没有浏览图片的权限,请 登录注册

有wldj(物理等级)- hxdj - zzdj - lsdj - dldj - swdj - tydj等字段,想把这几个字段连接(CCCDCCA)并排序后(ACCCCCD)写入dj字段,
问题以前求助过,sdta版帮解决过,但只是使用知其然不知其所以然。同事问能否把几个字段值放入数组,将数组内容排序后再写入。试着学习了一下,还没进入循环,刚开始就卡住了,查看vfp帮助,没能解决,还是太菜了,请帮助分析解决。
尝试1
SCATTER FIELDS wldj,hxdj,zzdj,lsdj,dldj,swdj TO px
?px&&&错误,只显示一个A,不是想象中的CCCDCCA呢?
尝试2
DIMENSION  x(7)
* 为数组元素赋值
x(1) = WLDJ
x(2) = HXDJ
x(3) = ZZDJ
x(4) = LSDJ
x(5) = DLDJ
x(6) = SWDJ
x(7) = TYDJ
LIST MEMORY LIKE x && 显示数组元素
=ASORT(x)
?x&&&错误,只显示一个A,不是想象中的CCCDCCA呢?

之前版主代码能完美处理,但只是拿来主义,我和同事都没能彻底消化,尤其等级排序部分
* VFP9 代码
t1=SECONDS()&&计时函数
SCAN
    REPLACE 七科 WITH djpx(ALLTRIM(wldj - hxdj - zzdj - lsdj - dldj - swdj - tydj))
    REPLACE 六科 WITH djpx(ALLTRIM(wldj - hxdj - zzdj - lsdj - dldj - swdj))
ENDSCAN
MESSAGEBOX("共运行:"+TRANSFORM(SECONDS()-t1)+"秒") &&计算用时多少
*
* 等级排序
*
FUNCTION djpx(cStr)
LOCAL px[LEN(cStr)]
FOR i = 1 TO LEN(cStr)
    px[i] = SUBSTR(cStr, i, 1)
ENDFOR
=ASORT(px)
cStr1 = ""
FOR i = 1 TO ALEN(px,1)
    cStr1 = cStr1 + px[i]
ENDFOR
RETURN cStr1

[此贴子已经被作者于2023-7-6 00:18编辑过]

搜索更多相关主题的帖子: 显示 数组 字段 写入 排序 
2023-07-05 23:59
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9821
专家分:27099
注 册:2012-2-5
收藏
得分:20 
程序代码:
CLOSE DATABASES 
USE tj
REPLACE 七科 WITH SPACE(0) ALL 
SCAN 
    SCATTER FIELDS wldj,hxdj,zzdj,lsdj,dldj,swdj,tydj TO px
    = ASORT(px)
    REPLACE 七科 WITH ALLTRIM(px[1] - px[2] - px[3] - px[4] - px[5] - px[6] - px[7])
ENDSCAN
BROWSE 

坚守VFP最后的阵地
2023-07-06 00:53
chychychy
Rank: 2
等 级:论坛游民
帖 子:215
专家分:91
注 册:2015-4-18
收藏
得分:0 
回复 2楼 sdta
谢谢!恍然大悟,替换也得将排序后的连接起来。
2023-07-06 08:11
快速回复:如何将几个字段的值写入数组,排序后再替换为字段值
数据加载中...
 
   



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

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