标题:如何将 党史100题.txt写到dbf表中
只看楼主
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
共598行,还少两行

坚守VFP最后的阵地
2020-04-22 22:54
瓜瓜1990
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:18
帖 子:125
专家分:699
注 册:2020-2-25
得分:10 
回复 10楼 王咸美
程序代码:
cstr=FILETOSTR("党史100题.txt")
CREATE TABLE ds100 (tm c(254),itemA c(50),itemB c(50),itemC c(50),itemD c(50),daan c(10))
nn=ALINES(arrc,cstr,1+4)
FOR i=1 TO nn STEP 6
    INSERT into ds100 values(arrc(i),arrc(i+1),arrc(i+2),arrc(i+3),arrc(i+4),arrc(i+5))
ENDFOR
BROWSE

有两道题选项在紧跟题目后面
txt格式先换成ansi好操作.
党史100题(1).rar (16.85 KB)


piu~piu~
2020-04-22 23:08
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:10 
程序代码:
CREATE CURSOR ds (题号 C(4), 题目 M, 答案 C(1), 题型 C(10))
cStr = FILETOSTR("党史100题.txt")
cStr1 = ""
FOR i = 1 TO ALINES(aa, cStr, 4 + 1, CHR(13) + CHR(10))
    DO CASE
        CASE VAL(LEFT(aa[i], 1)) > 0
            cth = LEFT(aa[i], AT(".", aa[i]) - 1)
            cStr1 = cStr1 + aa[i]
        CASE LEFT(aa[i], 1) $ "ABCD"
            cStr1 = cStr1 + CHR(13) + CHR(10) + aa[i]
    ENDCASE
    IF LEFT(aa[i], 2) == "答"
        cda = RIGHT(aa[i], 1)
        INSERT INTO ds VALUES (cth, cStr1, cda, "单选题")
        cStr1 = ""
    ENDIF 
ENDFOR 
SELECT ds
BROWSE 

坚守VFP最后的阵地
2020-04-22 23:17
王咸美
Rank: 1
等 级:新手上路
帖 子:569
专家分:0
注 册:2018-1-4
得分:0 
@瓜瓜1990 程序运行后提示:下标超界
2020-04-23 07:51
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册:2015-3-25
得分:0 
不就是100题吗,直接复制,就可以了。。。
2020-04-23 08:23
瓜瓜1990
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:18
帖 子:125
专家分:699
注 册:2020-2-25
得分:0 
回复 14楼 王咸美
原先文件是598行,生成的数组是598个元素,有两道题的A选项在题目后面,要改成600行,这样生成600个元素的数组,循环中计算出的下标就不超届了.
我附件里的TXT文件改成600行嘞


[此贴子已经被作者于2020-4-23 09:51编辑过]


piu~piu~
2020-04-23 09:49



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-501192-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.233474 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved