变量名排序
s1=15.60s2=2.50
s3=6.60
s4=2.51
s5=13.55
s6=0.21
s7=8.11
s8=0
s9=0
s10=0
s11=5.09
共11个变量,按变量值要从小到大排列,但要得到是变量ss:
ss="s8,s9,s10,s6,s2,s4,s11,s3,s7,s5,s1"
这11个变量只是举例,实际应用中会变化,需要通用并且快捷方法,谢谢
CLEAR s1=15.60 s2=2.50 s3=6.60 s4=2.51 s5=13.55 s6=0.21 s7=8.11 s8=0 s9=0 s10=0 s11=5.09 CREATE CURSOR tm (fn N(6,2),mc c(3)) INSERT INTO tm VALUES (s1,[s1]) INSERT INTO tm VALUES (s2,[s2]) INSERT INTO tm VALUES (s3,[s3]) INSERT INTO tm VALUES (s4,[s4]) INSERT INTO tm VALUES (s5,[s5]) INSERT INTO tm VALUES (s6,[s6]) INSERT INTO tm VALUES (s7,[s7]) INSERT INTO tm VALUES (s8,[s8]) INSERT INTO tm VALUES (s9,[s9]) INSERT INTO tm VALUES (s10,[s10]) INSERT INTO tm VALUES (s11,[s11]) *啸凡方式1 INDEX ON fn TAG fn GO TOP SS=ALLTRIM(mc)&&&将初始值赋为第一个将后面的连接号部分去掉 SKIP FOR i=2 TO RECCOUNT() SS=SS-','-ALLTRIM(mc) SKIP ENDFOR ? SS *啸凡方式2 GO TOP ss="" SCAN SS=SS-ALLTRIM(mc) -','&&&用了alltrim函数去除了尾部空格+,-就无所谓了,否则会有不同 *SS=SS-mc -',' &&这样和上面结果相同 *SS=SS+mc+',' &&这样尾部会有空格 ENDSCAN ?LEFT(ss,LEN(ss)-1) &&直接显示后面会多一个逗号,故需要用left函数截取一下
[此贴子已经被作者于2025-2-11 09:52编辑过]