回复 20楼 吹水佬
应该实现sdta版主的结果,不是交换记录,是移动记录,要的效果就是sdta的程序的效果!刚才发现mywisdom88的结果还是交换记录,不过交换记录我也需要
CREATE CURSOR tt (字段 c(1), 序号 I) INSERT INTO tt VALUES ("a", 1) INSERT INTO tt VALUES ("b", 2) INSERT INTO tt VALUES ("c", 3) INSERT INTO tt VALUES ("d", 4) INSERT INTO tt VALUES ("e", 5) fun("c") BROWSE RETURN FUNCTION fun(val) SELECT tt GO TOP SCATTER TO arr1 LOCATE FOR 字段 == val SCATTER TO arr2 GATHER FROM arr1 GO TOP GATHER FROM arr2 REPLACE ALL 序号 WITH RECNO() ENDFUNC
CREATE CURSOR tt (字段 c(1), 序号 I, 新序号 I) INSERT INTO tt VALUES ("a", 1, 0) INSERT INTO tt VALUES ("b", 2, 0) INSERT INTO tt VALUES ("c", 3, 0) INSERT INTO tt VALUES ("d", 4, 0) INSERT INTO tt VALUES ("e", 5, 0) n = 1 REPLACE ALL 新序号 WITH fun() BROWSE RETURN FUNCTION fun() IF 字段 == "c" RETURN 1 ENDIF n = n + 1 RETURN n ENDFUNC