|
|
#30
sam_jiang2023-03-14 13:01
两段代码基本上可以通用:
clea
*!* Create Cursor test ( ;
*!* a1 I,a2 I,a3 I,a4 I,a5 I,a6 I,a7 I,a8 I,a9 I ;
*!* ,a10 I,a11 I,a12 I,a13 I,a14 I,a15 I,a16 I,a17 I,a18 I ,score I, count I;
*!* )
*!* Insert into test (a1,a2,a3,a4,a5,a6,a7,a8,a9 ;
*!* ,a10,a11,a12,a13,a14,a15,a16,a17,a18) Values ( ;
*!* 1,2,3, 4,5,6, 7,8,9, 2,3,4, 5,6,7, 10,9,9)
*!* Insert into test (a1,a2,a3,a4,a5,a6,a7,a8,a9 ;
*!* ,a10,a11,a12,a13,a14,a15,a16,a17,a18) Values ( ;
*!* 98,95,74, 92,65,92, 92,77,92 ;
*!* ,88,92,87, 18,15,14, 22,25,22)
Create Cursor test ( ;
a1 V(10),a2 V(10),a3 V(10),a4 V(10),a5 V(10),a6 V(10),a7 V(10),a8 V(10) ;
,rate Y,maxa V(10))
Insert into test (a1,a2,a3,a4,a5,a6,a7,a8) values ( ;
"七仙女","黄大仙","黄大仙","黄大仙","黄小仙","黄大仙","黄大仙","王母娘娘")
Insert into test (a1,a2,a3,a4,a5,a6,a7,a8) values ( ;
"七仙女","黄大仙","七仙女","黄大仙","七仙女","七仙女","黄小仙","王母娘娘")
Insert into test (a1,a2,a3,a4,a5,a6,a7,a8) values ( ;
"黄小仙","黄大仙","黄小仙","黄大仙","黄小仙","七仙女","黄小仙","王母娘娘")
Insert into test (a1,a2,a3,a4,a5,a6,a7,a8) values ( ;
"王母娘娘","王母娘娘","黄大仙","黄大仙","黄小仙","王母娘娘","王母娘娘","王母娘娘")
GO top
FOR i=1 TO RECCOUNT()
SCATTER FIELDS LIKE a* TO array1
ntimes=0
FOR j=1 TO ALEN(array1)
n=acount(@array1,array1(j))
IF n>ntimes
nvalue=array1(j)
ENDIF
ntimes=MAX(ntimes,n)
ENDFOR
*!* REPLACE score WITH nvalue,count WITH ntimes
REPLACE rate WITH ntimes/8,maxa WITH nvalue
SKIP
ENDFOR
BROWSE
FUNCTION acount
PARAMETERS carray,evalue
LOCAL i
ncount=0
FOR i=1 TO ALEN(carray)
IF carray(i)=evalue
ncount=ncount+1
ENDIF
ENDFOR
RETURN ncount
ENDFUNC
|