您好,欢迎访问三七文档
实验十二文件实验目的:1、掌握顺序文件、随机文件和二进制文件的特点和使用。2、掌握文件的打开、关闭和读写操作。3、学会文件在应用程序的使用。实验内容:1、初始窗体上有四个命令按钮两个文本框(如下图)。要求:1)建立文件名为“t1.txt”的顺序文件,内容来自文本框Text1。要求:每按一次回车键则将文本框Text1的内容写入文件,并清除文本框Text1的内容,直到文本框Text1内输入“END”字符串(不区分大小写),关闭文件。2)单击“复制文件”按钮,则把“t1.txt”的顺序文件的内容全部复制到新文件“t2.txt”中,并给出相应提示。(只能使用一个变量,不能使用控件。)(如下图)3)单击“合并文件”按钮,则将“t2.txt”内容合并“t1.txt”末尾,给出相应提示。4)单击“显示”按钮,则把“t1.txt”的内容读出来显示在Text2中。注意:程序运行过程中,暂时不用的控件要隐藏或不可用(如下图)。PrivateSubForm_Load()Command1.Enabled=FalseCommand2.Enabled=FalseCommand3.Enabled=FalseText1.Text=Text2.Text=Text2.Visible=FalseEndSubPrivateSubtext1_keypress(keyasciiAsInteger)If(keyascii=13)ThenIfUCase(Text1.Text)=ENDThenCommand1.Enabled=TrueText1.Visible=FalseElseOpenh:/t1.txtForAppendAs#1Print#1,Text1.TextText1.Text=Close#1EndIfEndIfEndSubPrivateSubCommand1_Click()DimchOpenh:/t1.txtForInputAs#1Openh:/t2.txtForOutputAs#2DoWhileNotEOF(2)LineInput#1,chPrint#2,chLoopMsgBox已复制文件CloseCommand2.Enabled=TrueEndSubPrivateSubCommand2_Click()Dims$Openh:/t1.txtForAppendAs#1Openh:/t2.txtForInputAs#2DoWhileNotEOF(2)Input#2,chPrint#1,chLoopCloseMsgBox已完成合并Command3.Enabled=TrueEndSubPrivateSubCommand3_Click()Text2.Visible=TrueOpenh:\t1.txtForInputAs#1DoWhileNotEOF(1)LineInput#1,chText2.Text=Text2.Text+ch+vbCrLfLoopClose#1EndSubPrivateSubCommand4_Click()EndEndSub2、窗体上有五个命令按钮标题分别为“建立文件”、“读取文件”、“计算”、“添加到文件”、“结束”和列表框(List1)、图片框(Picture1)、标签(Label1)。要求:1)单击“建立文件”按钮,则随机产生任意个[100,500]的随机整数,存入数组A中,并把数组A的各元素值(按每行5个元素输出)写入文件MyList.dat中,同时也在窗体的Picture框中显示出来。(数组的元素个数可通过Inputbox输入)2)单击“读取文件”按钮,则将文件MyList.dat的数据读出来存放到数组B中,并把数组B中的元素,添加到列表框中。3)单击“计算”按钮,则计算并在窗体上输出数组B的最大值和平均值。4)单击“添加到文件”,则将数组B的最大值和平均值添加到“MyList.dat”的末尾。5)单击“退出”按钮,则退出应用程序。OptionBase1Dima%(),b%(),max%,aver!,sum%PrivateSubForm_Load()RandomizeEndSubPrivateSubCommand1_Click()n=InputBox(请输入数组元素的个数:)ReDima(n)Open.\MyList.datForOutputAs#1Fori=1Tona(i)=Int(Rnd*401+100)Picture1.Printa(i);'写入Picture框Print#1,a(i);'写入磁盘文件Picture1Label1List1IfiMod5=0ThenPicture1.Print'在Picture框中换行Print#1,'在文件中换行EndIfNextClose#1EndSubPrivateSubCommand2_Click()Open.\MyList.datForInputAs#1i=1DoWhileNotEOF(1)ReDimPreserveb(i)Input#1,b(i)'将读出的数据存放在数组中List1.AddItemb(i)i=i+1LoopClose#1EndSubPrivateSubCommand3_Click()Fori=LBound(b)ToUBound(b)Ifb(i)maxThenmax=b(i)sum=sum+b(i)Nextaver=sum/(UBound(b)-LBound(b)+1)Label1=最大值:&max&vbCrLf&平均值:&averEndSubPrivateSubCommand4_Click()Open\MyList.datForAppendAs#1'以追加模式打开文件Print#1,Print#1,最大值和平均值分别为:;max;aver'写入磁盘文件Close#1MsgBox已写入文件!EndSubPrivateSubCommand5_Click()EndEndSub
本文标题:实验十二-文件
链接地址:https://www.777doc.com/doc-5600698 .html