| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 545 人关注过本帖
标题:求教:下列代码无法将“考生号”和“姓名”写入gkcj.dbf中
只看楼主 加入收藏
王咸美
Rank: 1
等 级:新手上路
帖 子:589
专家分:0
注 册:2018-1-4
结帖率:97.06%
收藏
已结贴  问题点数:20 回复次数:6 
求教:下列代码无法将“考生号”和“姓名”写入gkcj.dbf中
图片附件: 游客没有浏览图片的权限,请 登录注册

下列代码无法将“0122012200.txt”中的“考生号”和“姓名”写入gkcj.dbf中,请高手赐教(仅限修改),万分感谢!!!

[0122012200.txt]
2014年重庆市全国普通高考成绩通知单 (涪陵区)

考生号

报名区县: 涪陵区

14500122119000 蒋文丽

报 名 点: 涪陵区招办报名点

成绩

总分 65: 语文 26 数学 15 外语 14 综合 10


2014年重庆市全国普通高考成绩通知单 (涪陵区)

考生号

报名区县: 涪陵区

14500122119001 杨浬

报 名 点: 涪陵区招办报名点

成绩

总分 145: 语文 73 数学 40 外语 27 综合 5

[具体代码如下]
CLOSE DATABASES
CLEAR all
cPath= ADDBS(JUSTPATH(SYS(16,1)))
SET Default TO (cPath)
lcStr=FILETOSTR("0122012200.txt")
CRCL=CHR(13)+CHR(10)
CREATE CURSOR gkcj (考生号 C(14),姓名 C(10),报名区县 C(10),报名点 C(20),总分 I,语文 I,数学 I,外语 I,综合 I)
FOR I=1 TO occurs("考生号",lcStr)
    lc考生号=STREXTRACT(lcStr,"考生号"+CRCL+CRCL,CRCL,I) &&这一句有问题
    INSERT INTO gkcj values(lc考生号,;
    STREXTRACT(lcStr,lc考生号+CRCL+" ",CRCL),;
     STREXTRACT(lcStr,"报名区县:",CRCL,i),;
     STREXTRACT(lcStr,"报 名 点:",CRCL,i),;
     VAL(STREXTRACT(lcStr,"总分",":",i)),;
     VAL(STREXTRACT(lcStr,"语文",CRCL,i)),;
     VAL(STREXTRACT(lcStr,"数学",CRCL,i)),;
     VAL(STREXTRACT(lcStr,"外语",CRCL,i)),;
     VAL(STREXTRACT(lcStr,"综合",CRCL,i)))
ENDFOR
GO top
BROWSE
 





[此贴子已经被作者于2023-5-17 09:21编辑过]

搜索更多相关主题的帖子: 数学 代码 总分 报名 姓名 
2023-05-17 08:25
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9803
专家分:26906
注 册:2012-2-5
收藏(1)
得分:20 
程序代码:
CLEAR 
TEXT TO lcStr NOSHOW
2014年重庆市全国普通高考成绩通知单 (涪陵区)

考生号

报名区县: 涪陵区

14500122119000 蒋文丽

报 名 点: 涪陵区招办报名点

成绩

总分 65: 语文 26 数学 15 外语 14 综合 10


2014年重庆市全国普通高考成绩通知单 (涪陵区)

考生号

报名区县: 涪陵区

14500122119001 杨浬

报 名 点: 涪陵区招办报名点

成绩

总分 145: 语文 73 数学 40 外语 27 综合 5

ENDTEXT

CRCL=CHR(13)+CHR(10)
CREATE CURSOR gkcj (考生号 C(14),姓名 C(10),报名区县 C(10),报名点 C(20),总分 I,语文 I,数学 I,外语 I,综合 I)
FOR I=1 TO occurs("考生号",lcStr)
    lc考生号=STREXTRACT(lcStr,"考生号"+CRCL+CRCL,CRCL,I)
    ? lc考生号 && 第1次变化
    lc考生号=STREXTRACT(lcStr,lc考生号+CRCL+CRCL,CRCL,I)
    ? lc考生号 && 第2次变化
    lc姓名 = SUBSTR(lc考生号, 16)
    ? lc姓名 && 结果
    INSERT INTO gkcj values(lc考生号,;
    lc姓名,;
    STREXTRACT(lcStr,"报名区县:",CRCL,i),;
    STREXTRACT(lcStr,"报 名 点:",CRCL,i),;
    VAL(STREXTRACT(lcStr,"总分",":",i)),; && 总分后面是半角冒号
    VAL(STREXTRACT(lcStr,"语文",CRCL,i)),;
    VAL(STREXTRACT(lcStr,"数学",CRCL,i)),;
    VAL(STREXTRACT(lcStr,"外语",CRCL,i)),;
    VAL(STREXTRACT(lcStr,"综合",CRCL,i)))
ENDFOR
GO top
BROWSE

坚守VFP最后的阵地
2023-05-17 09:53
王咸美
Rank: 1
等 级:新手上路
帖 子:589
专家分:0
注 册:2018-1-4
收藏
得分:0 
@sdta 谢谢!问题完美解决。
2023-05-17 10:18
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10541
专家分:42927
注 册:2014-5-20
收藏(2)
得分:0 
程序代码:
CREATE CURSOR gkcj (考生号 C(14),姓名 C(10),报名区县 C(10),报名点 C(20),总分 I,语文 I,数学 I,外语 I,综合 I)
ALINES(arr,FILETOSTR("0122012200.txt"),15,0h0D,0h0A,0h20)
DIMENSION arr[ALEN(arr)/22,22]
FOR i=1 TO ALEN(arr,1)
    INSERT INTO gkcj VALUES (arr[i,6],arr[i,7],arr[i,5],arr[i,11],VAL(arr[i,14]),VAL(arr[i,16]),VAL(arr[i,18]),VAL(arr[i,20]),VAL(arr[i,22]))
ENDFOR
SELECT * FROM gkcj
2023-05-17 10:21
王咸美
Rank: 1
等 级:新手上路
帖 子:589
专家分:0
注 册:2018-1-4
收藏
得分:0 
@吹水佬 谢谢!0h0D,0h0A,0h20分别表示什么意思?不太明白。盼指点!

[此贴子已经被作者于2023-5-17 15:50编辑过]

2023-05-17 14:56
aroffice
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2011-9-23
收藏
得分:0 
回复 5楼 王咸美
这个是代表 水平制表符 换行 回车
2023-08-11 13:13
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11773
专家分:43421
注 册:2006-5-13
收藏
得分:0 
回复 5楼 王咸美
这是ASCII编码,查ACSII字符表就明白了。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2023-08-14 11:47
快速回复:求教:下列代码无法将“考生号”和“姓名”写入gkcj.dbf中
数据加载中...
 
   



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

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