| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4818 人关注过本帖, 1 人收藏
标题:题外话:准考证是 PDF 格式,一张纸中有 8 人,如何打印其中一个人准考证?
取消只看楼主 加入收藏
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
原来是每人2科,现在为每人3科。在你的代码基础上照样画剽,改动了下:
Create table T (准考证号 C(12),姓名 C(8),性别 C(2),报名点 C(20),班级 C(20),考试科目1 C(10),考点1 C(20),考场1 C(4),坐位1 C(6),考试科目2 C(10),考点2 C(20),考场2 C(4),坐位2 C(6),考试科目3 C(10),考点3 C(20),考场3 C(4),坐位3 C(6))
cStr=Strconv(Filetostr("1.txt"),6)
I=0
For lnI=1 To Alines(Ab,cStr,Chr(13)+Chr(10))
   Do case
       Case "准考证号"$Ab[lnI]
            I=I+1
            =Alines(A1,Ab[lnI],"准考证号")
            Zkzh1=A1[2]
            Zkzh2=A1[3]
       Case "性别"$Ab[lnI]
            I=I+1
            =Alines(A2,Ab[lnI],"姓     名","性别")
            Xm1=A2[2]
            Xm2=A2[4]
            Xb1=A2[3]
            Xb2=A2[5]
       Case "报名点"$Ab[lnI]
            I=I+1
            =Alines(A3,Ab[lnI],"报名点")
            Bmd1=A3[2]
            Bmd2=A3[3]
       Case "班     级"$Ab[lnI]
            I=I+1
            =Alines(A4,Ab[lnI],"班     级")
            Bj1=A4[2]
            Bj2=A4[3]
       Case "历史"$Ab[lnI]
            I=I+1
            Kskm1="历史"
            =Alines(A5,Ab[lnI],Kskm1)
            Kdmc1=Chrtran(A5[2],"0123456789","")
            Kc1=Strtran(A5[2],Kdmc1,"")
            Kdmc2=Chrtran(A5[3],"0123456789","")
            Kc2=Strtran(A5[3],Kdmc2,"")
            Zw1=Left(Ab[lnI+1],6)
            Zw2=Right(Ab[lnI+1],6)
            lnI=lnI+1
       Case "地理"$Ab[lnI]
            I=I+1
            Kskm2="地理"
            =Alines(A6,Ab[lnI],Kskm2)
            Kdmc11=Chrtran(A6[2],"0123456789","")
            Kc11=Strtran(A6[2],Kdmc11,"")
            Kdmc21=Chrtran(A6[3],"0123456789","")
            Kc21=Strtran(A6[3],Kdmc21,"")
            Zw11=Left(Ab[lnI+1],6)
            Zw21=Right(Ab[lnI+1],6)
            lnI=lnI+1
     Case "化学"$Ab[lnI]
            I=I+1
         
Kskm3="化学"
            =Alines(A7,Ab[lnI],Kskm3)
            Kdmc31=Chrtran(A7[2],"0123456789","")
            Kc31=Strtran(A7[2],Kdmc31,"")
            Kdmc32=Chrtran(A7[3],"0123456789","")
            Kc32=Strtran(A7[3],Kdmc32,"")
            Zw31=Left(Ab[lnI+1],6)
            Zw32=Right(Ab[lnI+1],6)
            lnI=lnI+1
 
 Endcase
    If I=6
       I=0
       Insert Into T Values (Zkzh1,Xm1,Xb1,Bmd1,Bj1,Kskm1,Kdmc1,Kc1,Zw1,Kskm2,Kdmc11,Kc11,Zw11,kskm3,kdmc31,kc31,zw31)  运行到此句提示:找不到为量kskm3.前面不是有kskm3="化学",为什么会找不到?
       Insert Into T Values (Zkzh2,Xm2,Xb2,Bmd2,Bj2,Kskm1,Kdmc2,Kc2,Zw2,Kskm2,Kdmc21,Kc21,Zw21,kskm3,kdmc32,kc32,zw32)
    Endif
Endfor
Browse

2014-07-08 12:24
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
死搬硬套,原来如此,I=7后运行成了。正慢慢理介着呀

[ 本帖最后由 sylknb 于 2014-7-8 14:37 编辑 ]
2014-07-08 14:30
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
i=i+1 此句起什么作用?少此句好象转换后少一条记录
2014-07-08 22:27
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
sdta班主:
请你指点一下,循环体的代码含义,整体思路如何,对于数组还是较为模糊?
(1)i=i+1,你说表示各段数,
考证中i=i+1-->i=0+1-->1好理介,
姓名i=i+1-->2,这个2哪里来?它与上面的准考证中i=1有关吗,如果有关依次累计历史--5,地理--6
(2)表示数组中行数吗?但
为什么下面一段代码中 要出现lni=lni+1?,前面内容(如准考证,姓名,性别,报名点等)为什么不要lni=lni+1?
Case "历史"$Ab[lnI]                        第一次循环         第二次循环,三次,四次。
            I=I+1      ---------->   ?i=i+1--->5 (第5段)      5 (。。)    5     5
            Kskm1="历史"
            =Alines(A5,Ab[lnI],Kskm1)
            Kdmc1=Chrtran(A5[2],"0123456789","")
            Kc1=Strtran(A5[2],Kdmc1,"")
            Kdmc2=Chrtran(A5[3],"0123456789","")
            Kc2=Strtran(A5[3],Kdmc2,"")
            Zw1=Left(Ab[lnI+1],6)
            Zw2=Right(Ab[lnI+1],6)
            lnI=lnI+1--------->?lni=lni+1---------->9(这个9哪来?)  32        52    72
       Case "地理"$Ab[lnI]
            I=I+1
            Kskm2="地理"
            =Alines(A6,Ab[lnI],Kskm2)
            Kdmc11=Chrtran(A6[2],"0123456789","")
            Kc11=Strtran(A6[2],Kdmc11,"")
            Kdmc21=Chrtran(A6[3],"0123456789","")
            Kc21=Strtran(A6[3],Kdmc21,"")
            Zw11=Left(Ab[lnI+1],6)
            Zw21=Right(Ab[lnI+1],6)
            lnI=lnI+1

2。还有 =Alines(A2,Ab[lnI],"姓     名","性别")中要显示内容
?ab(2)显示考生姓名
?ab(3)显示性别
?ab(4)显示姓名
?ab(1)为什么无显示?



[ 本帖最后由 sylknb 于 2014-7-9 10:14 编辑 ]
2014-07-09 09:31
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
谢谢,很详细,我也慢慢摸出了一些,加上你的指教现清楚了不少。
下面还是个老问题:
=Alines(A2,Ab[lnI],"姓     名","性别")它表示行数
?ab(2)显示考生姓名
?ab(3)显示性别
?ab(4)显示姓名
?ab(1)为什么无显示?为什么数组第一行不显示同容?
关于?a(1)不显示内容,帮助文件Alines()的用法中没有讲到,或自已没有弄懂

而如下能显示?b(1)---1
a='1,2,3,4,5'
=Alines(b,a,",")
?b(1)--1   而它能显示数组中第一行的内容?
?b(2)--2
...

[ 本帖最后由 sylknb 于 2014-7-9 12:32 编辑 ]
2014-07-09 12:09
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
以下是引用sdta在2014-7-9 12:36:48的发言:

在命令窗口中输入
 
看结果就明白了
要学会看代码的执行结果
字符串cStr中共有四个分隔符,分别是"姓     名"与"性别"各两个
第一个分隔符"姓     名,产生的数组元素是A2[1],只包含"姓     名"前的内容(不包含后面的内容),而这个内容为空,所以 A2[1]=""
 
第二个分隔符是"性别",产生的数组元素是A2[2],只包含"性别"前的内容(不包含后面的内容),而这个内容为"陈芳颖",所以 A2[2]="陈芳颖"
 
第三个分隔符也是"姓     名",产生的数组元素是A2[3],只包含"姓     名"前的内容(不包含后面的内容),而这个内容为"女",所以 A2[3]="女"
 
第四个分隔符是"性别",产生的数组元素是A2[4]与A2[5],包含"性别"前后(只有最后一个分隔符包含前后的内容,如果最后一个分隔符后面没有内容,只包含最后一个分隔符前面的内容,此时数组元素只有一个)的内容,而这个内容分别为"陈楠"与"男",所以 A2[4]="陈楠" A2[5]="男"
你的解释一目了然。但帮助文件:指定一个或多个在cExpression中的分隔元素的字符。当指定了 cParseChar ,每当找到 cParseChar 时,一行结束,下一行从 cParseChar 之后的字符开始。这句话里到底在讲什么,看不出与你的解释相同的含义。我曾记得好象什么函数(不同这个函数)也谈到分隔符,它里面的解释与你的解释很相似。

[ 本帖最后由 sylknb 于 2014-7-9 14:40 编辑 ]
2014-07-09 14:19
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
谢谢sdta班主:
 不厌其烦地指教。
2014-07-09 18:32
快速回复:题外话:准考证是 PDF 格式,一张纸中有 8 人,如何打印其中一个人准考 ...
数据加载中...
 
   



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

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