在考生的文件夹下有一个工程文件sjt5.vbp,相应的窗体文件为sjt5.劬。在窗体上有两个命令按钮,其名称分别为Command1和Commaad2,标题分别为“写文件”和“读文件”,如图1-85(a)所示。其中“写文件”命令按钮事件过程用来建立一个通信录

admin2010-09-02  19

问题 在考生的文件夹下有一个工程文件sjt5.vbp,相应的窗体文件为sjt5.劬。在窗体上有两个命令按钮,其名称分别为Command1和Commaad2,标题分别为“写文件”和“读文件”,如图1-85(a)所示。其中“写文件”命令按钮事件过程用来建立一个通信录,以随机存取方式保存到文件t5.txt中:而“读文件”命令按钮事件过程用来读出文件t5.txt中的每个记录,并在窗体上显示出来。通信录中的每个记录由三个字段组成,结构如下:
姓名(Name)电话(Tel)邮政编码(Pos)
LiuMingliang(010)62781234100082
各字段的类型和长度为:
姓名(Name):字符串15
电话(Tel):字符串15
邮政编码(Pos):长整型(Long)
程序运行后。如果单击“写文件”命令按钮,则可以随机存取方式打开文件t5.txt,并根据提示向文件中添加记录,每写入一个记录后,都要询问是否再输入新记录,回答“Y”(或“y”)则输入新记录,回答“N”(或“n”)则停止输入;如果单击“读文件”命令按钮,则可以随机存取方式打开文件t5.txt,读出文件中的全部记录,并在窗体上显示出来,如图1-85(b)所示。该程序不完整,请把它补充完整。
要求如下:
①去掉程序中的注释符,把程序中的?改为正确的内容。使其能正确运行,但不能修改程序中的其他部分。
②文件t5.txt中已有三个记录,如图1-85(b)所示,请运行程序,单击“写文件”命令按钮,向文件t5.txt中添加以
下两个记录(全部采用西文方式):
LiDaqing(027)87348765430065
ChenQingshan(022)26874321300120
③运行程序,单击“读文件”命令按钮,在窗体上显示全部记录(共5个)。
④用原来的文件名保存工程文件和窗体文件。

选项

答案 【操作步骤】 步骤1:打开考生文件中的本题工程文件sjt5.vbp,在代码编辑窗口,去掉程序中的注释符“’”,将问号“?”改为正确的内容。 参考代码: RecNum=RecNum+1 Put#1,RecNum,Pers Loop While UCase(asp) <>"N" RecNum=LOF(1)/Len(Pers) Get:#l,i,Pers 步骤2:按要求将文件保存至考生文件夹中。 步骤3:按键键运行程序,先单击“写文件”按钮,然后在弹出的输入框中依次按照题目要求输入两条记录,再单击“读文件”按钮在窗体上显示结果。

解析    用Open语句打开随机文件,其语法格式为:OpenFileNameforRandom as#FileNumber Len=记录长度。记录长度是一条记录实际所占字节数,可用Len()函数获取;Get#语句用于从文件中读出某记录号的记录,格式为:Get撑FileNumber,[RecordNuber],Var;Put#语句用于把记录按指定记录号写入文件,格式为:Put#FileNumber,[RecordNuber],Var。
   在“写文件”命令按钮的Click事件过程中,用Open语句打开考生文件夹下的文件t5.tXt,变量RccNum代表记录个数,在Do…Loop循环中(以输入的不是“N”作为循环条件),用Put语句将记录变量Pcrs写入随机文件中相应记录号的记录,然后令记录号加1以便下次继续写入。在“读文件”命令按钮的Click事件过程中,用Open语句打开文件t5.txt,同样使用变量RccNum代表记录个数,然后再一个For循环中依次使用Get语句取出每一个记录并且显示。
转载请注明原文地址:https://kaotiyun.com/show/aGmp777K
0

最新回复(0)