CLOSE DATABASES CREATE CURSOR tjb (班级 C(4),A1 N(4), B1 N(4), C1 N(4), D1 N(4), 总分 N(4)) INSERT INTO tjb (班级) SELECT DISTINCT 班级 FROM cpb INDEX ON 班级 TAG bj SELECT cpb SET RELATION TO 班级 INTO tjb ALINES(la1, "A,B,C,D", ",") ALINES(la2, "20,18,12,8", ",") SCAN FOR ln1 = 2 TO FCOUNT() lc1 = ALLTRIM(EVALUATE(FIELD(ln1))) FOR ln2 = 1 TO LEN(lc1) lc2 = SUBSTR(lc1, ln2, 1) IF FOUND("tjb") REPLACE (lc2 + "1") WITH EVALUATE(lc2 + "1") + 1, 总分 WITH 总分 + VAL(la2[ASCAN(la1, lc2)]) IN tjb ENDIF ENDFOR ENDFOR ENDSCAN SET RELATION TO SELECT tjb BROWSE
SET COMPATIBLE OFF CREATE CURSOR tt (a I,b I,c I,d I) INSERT INTO tt VALUES (20,18,12,8) SELECT * FROM tt INTO ARRAY ci DIMENSION cj[4] SELECT *, cj[1] A, cj[2] B, cj[3] C, cj[4] D,; cj[1]*ci[1]+cj[2]*ci[2]+cj[3]*ci[3]+cj[4]*ci[4] 总分 FROM cpb WHERE fun()
FUNCTION fun() STORE 0 TO cj cs = ALLTRIM(s1-s2-s3-s4-s5-s6-s7-s8) FOR i=1 TO LEN(cs) k = ASC(SUBSTR(cs,i,1)) - ASC("A") + 1 IF BETWEEN(k,1,4) cj[k] = cj[k] + 1 ENDIF ENDFOR RETURN .t. ENDFUNC