如何由课表文件(课表20180920.txt)生成各班教师任课表(jsrkb1.dbf)
现有文本文件 课表20180920.txt,各班教师仼课表jsrkb1.dbf(空表),如何由课表20180920.txt 生成 jsrkb1.dbf。我琢磨很久,无从下手,还请高手赐教,十分期盼,万分感谢!!!
程序代码:CLOSE DATABASES
USE jsrkb1
ZAP
INSERT INTO jsrkb1 (nj, bj) SELECT nj, bj FROM jsrkb
INDEX on nj + bj TAG nj
CREATE CURSOR tt (nj c(6), bj c(7), km c(6), jsxm c(10))
cStr = FILETOSTR("课表20180920.TXT")
nRows = ALINES(aa, cStr, 4 + 1, CHR(13) + CHR(10))
FOR i = 1 TO nRows
nLen = ALINES(bb, aa[i], 4 + 1, "、", ":", ",")
xm = bb[2]
FOR ii = 3 TO nlen
cnj = LEFT(bb[ii], 2) + "年级"
cbj = SUBSTR(bb[ii], 3, 5) + "班"
ckm = SUBSTR(bb[ii], 8)
INSERT INTO tt VALUES (cnj, cbj, ckm, xm)
ENDFOR
ENDFOR
SELECT tt
REPLACE km WITH "班会" FOR ALLTRIM(km) == "班主任"
SET RELATION TO nj + bj INTO jsrkb1
SCAN
REPLACE (tt.km) WITH tt.jsxm IN jsrkb1
ENDSCAN
SET RELATION TO
SELECT jsrkb1
SET ORDER TO
BROWSE

程序代码:CLOSE DATABASES
USE jsrkb1
ZAP
INDEX on nj + bj TAG nj
CREATE CURSOR tt (nj c(6), bj c(7), km c(6), jsxm c(10), bz n(2))
cStr = FILETOSTR("课表20180920.TXT")
nRows = ALINES(aa, cStr, 4 + 1, CHR(13) + CHR(10))
cc = "一二三四五六"
FOR i = 1 TO nRows
nLen = ALINES(bb, aa[i], 4 + 1, "、", ":", ",")
xm = bb[2]
FOR ii = 3 TO nlen
cnj = LEFT(bb[ii], 2) + "年级"
cbj = SUBSTR(bb[ii], 3, 5) + "班"
nbz = VAL(STR((AT(LEFT(bb[ii], 2), cc) + 1) / 2, 1) + STREXTRACT(cbj, "(", ")"))
ckm = SUBSTR(bb[ii], 8)
INSERT INTO tt VALUES (cnj, cbj, ckm, xm, nbz)
ENDFOR
ENDFOR
SELECT tt
REPLACE km WITH "班会" FOR ALLTRIM(km) == "班主任"
SELECT * FROM tt ORDER BY bz INTO CURSOR tt1
SELECT tt1
SET RELATION TO nj + bj INTO jsrkb1
SCAN
IF NOT FOUND("jsrkb1")
INSERT INTO jsrkb1 (nj, bj) VALUES (tt1.nj, tt1.bj)
ENDIF
REPLACE (tt1.km) WITH tt1.jsxm IN jsrkb1
ENDSCAN
SET RELATION TO
SELECT jsrkb1
SET ORDER TO
BROWSE 