<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>VB程序设计教程答案</title><link>http://www.wb98.com/vb1/</link><description>visual basic程序设计教程第四版答案(刘炳文)</description><generator>RainbowSoft Studio Z-Blog 2.2 Prism Build 140101</generator><language>zh-CN</language><pubDate>Tue, 30 Jun 2020 19:07:50 +0800</pubDate><item><title>编写一个程序，输入某仓库的货物数据，建立—个顺序文件。每次从键盘上输入一种货物的数据，包括货物号、名称、单价、进库日期和数量。建立文件后，输出全部内容。</title><author>null@null.com (hyf64)</author><link>http://www.wb98.com/vb1/post/vb_14.13.html</link><pubDate>Sat, 06 Aug 2016 15:07:59 +0800</pubDate><guid>http://www.wb98.com/vb1/post/vb_14.13.html</guid><description><![CDATA[<p>
	编写一个程序，输入某仓库的货物数据，建立—个顺序文件。每次从键盘上输入一种货物的数据，包括货物号、名称、单价、进库日期和数量。建立文件后，输出全部内容。
</p>
<p>
	&nbsp;&nbsp;&nbsp; 解：该题与前一题类似，其记录结构如下。<br />
货物号&nbsp;&nbsp;&nbsp;&nbsp; 货物名&nbsp;&nbsp;&nbsp;&nbsp; 单价&nbsp;&nbsp;&nbsp;&nbsp; 进库日期&nbsp;&nbsp;&nbsp;&nbsp; 货物数量<br />
&nbsp;……&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ……&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; ……&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; ……&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;……<br />
<br />
按以下步骤操作。
</p>
<p>
	(1)执行“工程”菜单中的“添加模块”命令，在工程中添加一个新的标准模块，然后在该模块定义如下记录类型和全局变量：<br />
(2)在窗体上画三个命令按钮，其标题分别设質为“输人数据”、“输出数据”和“退出。<br />
(3)编写第一个命令按钮的事件过程:<br />
<span id="__kindeditor_bookmark_start_10__">Private Sub Command1_Click()<br />
&nbsp;&nbsp;&nbsp; Num = InputBox("请输人货物种类数")<br />
&nbsp;&nbsp;&nbsp; Num = CInt(Num)<br />
&nbsp;&nbsp;&nbsp; n = n + Num<br />
&nbsp;&nbsp;&nbsp; ReDim bole_stock(Num) As bole_Info<br />
&nbsp;&nbsp;&nbsp; Open "d:\BoleI.txt" For Append As #1<br />
&nbsp;&nbsp;&nbsp; For i = 1 To Num<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bole_stock(i).bole_num = InputBox("请输人货物号")<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bole_stock(i).bole_name = InputBox("请输人货物名称")<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bole_stock(i).price = InputBox("请输人货物单价")<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bole_stock(i).stock_date = InputBox("请输入进库日期")<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bole_stock(i).amount = InputBox("请输入货物数量")<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Write #1, bole_stock(i).bole_num, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bole_stock(i).bole_name, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bole_stock(i).price, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bole_stock(i).stock_date, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bole_stock(i).amount<br />
&nbsp;&nbsp;&nbsp; Next i<br />
&nbsp;&nbsp;&nbsp; Close #1<br />
&nbsp;&nbsp;&nbsp; Open "d:\bole.txt" For Output As #1<br />
&nbsp;&nbsp;&nbsp; Print #1, n<br />
&nbsp;&nbsp;&nbsp; Close #1<br />
End Sub<br />
<br />
(4)编写第二个命令按钮的事件过程：<br />
Private Sub Command2_Click()<br />
&nbsp;&nbsp;&nbsp; Open "d:\bole.txt" For Input As #1<br />
&nbsp;&nbsp;&nbsp; Input #1, n<br />
&nbsp;&nbsp;&nbsp; Close #1</span>
</p>
<p>
	<span>&nbsp;&nbsp;&nbsp; ReDim bole_stock(n) As bole_Info<br />
&nbsp;&nbsp;&nbsp; Open "d:\BoleI.txt" For Input As #2<br />
&nbsp;&nbsp;&nbsp; x = 1<br />
&nbsp;&nbsp;&nbsp; Print "货物号&nbsp; "; "货物名&nbsp; "; "单价&nbsp; "; "进库日期&nbsp;&nbsp; "; "货物数"<br />
&nbsp;&nbsp;&nbsp; Print<br />
&nbsp;&nbsp;&nbsp; Do While Not EOF(2)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Input #2, bole_stock(i).bole_num, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bole_stock(i).bole_name, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bole_stock(i).price, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bole_stock(i).stock_date, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bole_stock(i).amount</span>
</p>
<p>
	<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Print bole_stock(i).bole_num; "&nbsp;&nbsp;&nbsp;&nbsp; "; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bole_stock(i).bole_name; "&nbsp;&nbsp;&nbsp;&nbsp; "; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; bole_stock(i).price; "&nbsp;&nbsp;&nbsp;&nbsp; "; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bole_stock(i).stock_date; "&nbsp;&nbsp;&nbsp;&nbsp; "; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bole_stock(i).amount<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x = x + 1<br />
&nbsp;&nbsp;&nbsp; Loop<br />
&nbsp;&nbsp;&nbsp; Close #2<br />
End Sub<br />
<br />
(5)编写第三个命令按钮的事件过程：<br />
Private Sub Command3_Click()<br />
&nbsp;&nbsp;&nbsp; End<br />
End Sub<br />
<br />
程序运行后，单击“输人数据”按钮，即可根据提示输人相应的数据。输入后单击“输出数据”按钮，将在窗体上输出结果，如下图所示。<br />
<img alt="" src="http://www.wb98.com/vb1/zb_users/upload/2016/8/20160806163389118911.PNG" /><br />
</span>
</p>]]></description><category>VB程序设计教程第4版答案刘炳文</category><comments>http://www.wb98.com/vb1/post/vb_14.13.html#comment</comments><wfw:commentRss>http://www.wb98.com/vb1/feed.asp?cmt=71</wfw:commentRss></item><item><title>编写一个建立图书数据文件的程序。程序运行后，可以从键盘上输入每种图书的有关数据，包括图书分类号、登记号、作者、单价、购进数、借出数、出版日期和出版社名称，把这些数据存人文件中。文件建立后，按登记号的顺</title><author>null@null.com (hyf64)</author><link>http://www.wb98.com/vb1/post/vb_14.12.html</link><pubDate>Sat, 06 Aug 2016 08:57:56 +0800</pubDate><guid>http://www.wb98.com/vb1/post/vb_14.12.html</guid><description><![CDATA[<p>
	编写一个建立图书数据文件的程序。程序运行后，可以从键盘上输入每种图书的有关数据，包括图书分类号、登记号、作者、单价、购进数、借出数、出版日期和出版社名称，把这些数据存人文件中。文件建立后，按登记号的顺序（由小到大）输出全部内容。<br />
<br />
解：图书数据文件记录的结构见下表：<br />
分类号&nbsp; 登记号&nbsp; 作者&nbsp; 单价&nbsp; 购进数&nbsp; 借出数&nbsp; 出版日期&nbsp; 出版社<br />
&nbsp;&nbsp; &nbsp;…&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; …&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;…&nbsp;&nbsp;&nbsp;&nbsp; …&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; …&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; …&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; …&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; …<br />
<br />
按以下步骤操作。
</p>
<p>
	(1)执行“工程”菜单中的“添加模块”命令，建立一个新的标准模块，在该模块中定义如下的记录类型和全局变量：<br />
Type Book_Info<br />
&nbsp;&nbsp;&nbsp; class_num As Integer<br />
&nbsp;&nbsp;&nbsp; reg_num As Integer<br />
&nbsp;&nbsp;&nbsp; Author As String * 6<br />
&nbsp;&nbsp;&nbsp; price As Single<br />
&nbsp;&nbsp;&nbsp; buy_num As Integer<br />
&nbsp;&nbsp;&nbsp; loan_num As Integer<br />
&nbsp;&nbsp;&nbsp; pub_date As String<br />
&nbsp;&nbsp;&nbsp; pub_com As String * 18<br />
End Type
</p>
<p>
	Option Base 1<br />
Public Book_num() As Book_Info<br />
&nbsp;Public n As Integer<br />
<br />
(2)在窗体层编写输入数据的通用过程:<br />
Sub B_Input(Num As Integer)<br />
&nbsp;&nbsp;&nbsp; n = n + Num<br />
&nbsp;&nbsp;&nbsp; ReDim Book_num(Num) As Book_Info<br />
&nbsp;&nbsp;&nbsp; Open "d:\BookI.txt" For Append As #1<br />
&nbsp;&nbsp;&nbsp; For i = 1 To Num<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Book_num(i).class_num = InputBox("请输人图书分类号")<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Book_num(i).reg_num = InputBox("请输人登记号")<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Book_num(i).Author = InputBox("请输人作者名")<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Book_num(i).price = InputBox("请输入单价")<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Book_num(i).buy_num = InputBox("请输人购进数")<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Book_num(i).loan_num = InputBox("请输人借出数")<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Book_num(i).pub_date = InputBox("出版日期")<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Book_num(i).pub_com = InputBox("请输人出版社名称")<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Write #1, Book_num(i).class_num, Book_num(i).reg_num, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Book_num(i).Author, Book_num(i).price, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Book_num(i).buy_num, Book_num(i).loan_num, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; Book_num(i).pub_date, Book_num(i).pub_com<br />
&nbsp;&nbsp;&nbsp; Next i<br />
&nbsp;&nbsp;&nbsp; Close #1<br />
&nbsp;&nbsp;&nbsp; Open "d:\num.txt" For Output As #1<br />
&nbsp;&nbsp;&nbsp; Print #1, n<br />
&nbsp;&nbsp;&nbsp; Close #1<br />
End Sub<br />
<br />
该过程用来输入数据，并把输人的数据存人磁盘文件。它有1个参数，即需要输人的图书种类数。文件用Append方式打开，因此每次输人的数据都附加到原来数据的后面。这里应注意全局变量n的使用。调用该过程时，把Num的实参与n相加，再赋予n，从而可以把多次调用该过程所输人的图书种类数累加起来。在过程的最后，把n存人一个磁盘文件，这样，即使退出程序或关机，仍可以记下当前图书数文件中记录的个数。在这个过程中，输人的数据被存入记录数组。
</p>
<p>
	(3)在窗体层编写输出数据的通用过程：<br />
Sub B_output()<br />
&nbsp;&nbsp;&nbsp; Open "d:\num.txt" For Input As #1<br />
&nbsp;&nbsp;&nbsp; Input #1, n<br />
&nbsp;&nbsp;&nbsp; Close #1<br />
&nbsp;&nbsp;&nbsp; ReDim Book_num(n) As Book_Info<br />
&nbsp;&nbsp;&nbsp; Open "d:\BookI.txt" For Input As #2<br />
&nbsp;&nbsp;&nbsp; x = 1<br />
&nbsp;&nbsp;&nbsp; Print "分类号&nbsp; "; "登记号&nbsp;&nbsp; "; "作者&nbsp;&nbsp;&nbsp;&nbsp; "; "单价&nbsp; "; "购进数 "; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; "借出数&nbsp; "; "出版日期 "; "出版社"<br />
&nbsp;&nbsp;&nbsp; Print<br />
&nbsp;&nbsp;&nbsp; Print "原来顺序："<br />
&nbsp;&nbsp;&nbsp; Do While Not EOF(2)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Input #2, Book_num(x).class_num, Book_num(x).reg_num, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Book_num(x).Author, Book_num(x).price, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Book_num(x).buy_num, Book_num(x).loan_num, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Book_num(x).pub_date, Book_num(x).pub_com
</p>
<p>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Print Book_num(x).class_num; "&nbsp; "; Book_num(x).reg_num; "&nbsp; " _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; Book_num(x).Author; "&nbsp; "; Book_num(x).price; "&nbsp; "; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Book_num(x).buy_num; "&nbsp; "; Book_num(x).loan_num; "&nbsp; " _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; Book_num(x).pub_date; "&nbsp; "; Book_num(x).pub_com
</p>
<p>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x = x + 1<br />
&nbsp;&nbsp;&nbsp; Loop<br />
&nbsp;&nbsp;&nbsp; Close #2<br />
&nbsp;&nbsp;&nbsp; Print<br />
&nbsp;&nbsp;&nbsp; SortB<br />
End Sub<br />
<br />
该过程用来输出图书数据文件中的记录，它首先打开前一个过程建立的文件,然后按建立顺序输出每个记录。由于题目要求按登记号由小到大的顺序输出记录，因此用一个过程对各记录进行排序，并输出排序后的结果。
</p>
<p>
	排序过程如下：<br />
Sub SortB()<br />
For k = n To 2 Step -1<br />
&nbsp;&nbsp;&nbsp; For l = 1 To k - 1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If Book_num(l).reg_num &gt; Book_num(l + 1).reg_num Then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t = Book_num(l + 1).reg_num<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Book_num(l + 1).reg_num = Book_num(l).reg_num<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Book_num(l).reg_num = t
</p>
<p>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t = Book_num(l + 1).class_num<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Book_num(l + 1).class_num = Book_num(l).class_num<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Book_num(l).class_num = t
</p>
<p>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t = Book_num(l + 1).Author<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Book_num(l + 1).Author = Book_num(l).Author<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Book_num(l).Author = t
</p>
<p>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t = Book_num(l + 1).price<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Book_num(l + 1).price = Book_num(l).price<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Book_num(l).price = t
</p>
<p>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t = Book_num(l + 1).buy_num<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Book_num(l + 1).buy_num = Book_num(l).buy_num<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Book_num(l).buy_num = t
</p>
<p>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t = Book_num(l + 1).pub_date<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Book_num(l + 1).pub_date = Book_num(l).pub_date<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Book_num(l).pub_date = t
</p>
<p>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t = Book_num(l + 1).pub_com<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Book_num(l + 1).pub_com = Book_num(l).pub_com<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Book_num(l).pub_com = t<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If<br />
&nbsp;&nbsp;&nbsp; Next l<br />
Next k
</p>
<p>
	Print "按登记号排序后顺序："<br />
For j = 1 To n<br />
&nbsp;&nbsp;&nbsp; Print Book_num(j).class_num; "&nbsp; "; Book_num(j).reg_num; "&nbsp; "; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Book_num(j).Author; "&nbsp; "; Book_num(j).price; "&nbsp; "; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Book_num(j).buy_num; "&nbsp; "; Book_num(j).loan_num; "&nbsp; "; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Book_num(j).pub_date; "&nbsp; "; Book_num(j).pub_com<br />
Next j<br />
End Sub<br />
<br />
该过程用冒泡法对文件中的记录进行排序，然后输出。
</p>
<p>
	(4)编写如下窗体单击事件过程：<br />
Private Sub Form_Click()<br />
&nbsp;&nbsp;&nbsp; Dim h As Integer<br />
&nbsp;&nbsp;&nbsp; an = InputBox("是第一次运行程序吗？（Y/N)")<br />
&nbsp;&nbsp;&nbsp; If UCase(an) &lt;&gt; "Y" Then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Open "d:\num.txt" For Input As #1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Input #1, n<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Close #1<br />
&nbsp;&nbsp;&nbsp; End If
</p>
<p>
	&nbsp;&nbsp;&nbsp; IOrO = InputBox("输入或输出？ (I/O)")<br />
&nbsp;&nbsp;&nbsp; If UCase(IOrO) = "I" Then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; h = InputBox("需要输入多少种图书")<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; h = Val(h)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B_Input h<br />
&nbsp;&nbsp;&nbsp; Else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B_output<br />
&nbsp;&nbsp;&nbsp; End If<br />
End Sub<br />
<br />
在该过程中，首先询问是不是第一次运行程序，如果不是，则打开存放图书种类数的文件，读人种类数，并把它赋予全局变量n。接着询问是输人还是输出。如果是输入，则调用输人过程，否则调用输出过程。
</p>
<p>
	程序运行后，单击窗体，在输人对话框中输入“Y”（第一次运行程序），在接下来的输 人对话框中输人“I”（输入），然后即可根据提示输人数据。假定输人如下表1所列的数据。
</p>
<p>
	分类号&nbsp; 登记号&nbsp;&nbsp; 作者&nbsp;&nbsp;&nbsp; 单价&nbsp; 购进数&nbsp; 借出数&nbsp; 出版日期&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 出版社<br />
3001&nbsp;&nbsp;&nbsp; 2006&nbsp;&nbsp;&nbsp; 王大明&nbsp;&nbsp; 56&nbsp;&nbsp;&nbsp;&nbsp; 40&nbsp;&nbsp;&nbsp;&nbsp; 12&nbsp;&nbsp;&nbsp; 2000年5月&nbsp;&nbsp;&nbsp; 海天出版社<br />
3008&nbsp;&nbsp;&nbsp; 2003&nbsp;&nbsp;&nbsp; 张得功&nbsp;&nbsp; 45&nbsp;&nbsp;&nbsp;&nbsp; 60&nbsp;&nbsp;&nbsp;&nbsp; 21&nbsp;&nbsp;&nbsp; 2000年3月&nbsp;&nbsp;&nbsp; 华联出版社<br />
3009&nbsp;&nbsp;&nbsp; 2004&nbsp;&nbsp;&nbsp; 李得胜&nbsp;&nbsp; 26&nbsp;&nbsp;&nbsp;&nbsp; 80&nbsp;&nbsp;&nbsp;&nbsp; 35&nbsp;&nbsp;&nbsp; 1999年12月&nbsp;&nbsp; 环宇出版社<br />
3005&nbsp;&nbsp;&nbsp; 2012&nbsp;&nbsp;&nbsp; 杨国春&nbsp;&nbsp; 48&nbsp;&nbsp;&nbsp;&nbsp; 60&nbsp;&nbsp;&nbsp;&nbsp; 14&nbsp;&nbsp;&nbsp;&nbsp; 2000年6月&nbsp;&nbsp; CPW出版公司<br />
3013&nbsp;&nbsp;&nbsp; 2015&nbsp;&nbsp;&nbsp; 陈雷&nbsp;&nbsp;&nbsp;&nbsp; 24&nbsp;&nbsp;&nbsp;&nbsp; 40&nbsp;&nbsp;&nbsp;&nbsp; 16&nbsp;&nbsp;&nbsp;&nbsp; 2000年2月&nbsp;&nbsp; 家电出版社<br />
<br />
程序的运行情况如下图所示。<br />
<img alt="" src="http://www.wb98.com/vb1/zb_users/upload/2016/8/20160806111199859985.PNG" /> <br />
<br />
visual basic 程序设计教程第四版答案 <a href="http://www.wb86.com" target="_blank">刘炳文</a> 编著
</p>]]></description><category>VB程序设计教程第4版答案刘炳文</category><comments>http://www.wb98.com/vb1/post/vb_14.12.html#comment</comments><wfw:commentRss>http://www.wb98.com/vb1/feed.asp?cmt=70</wfw:commentRss></item><item><title>假定磁盘上有一个学生成绩文件，存放着100个学生的情况，包括学号、姓名、性别、年龄和5门课程的成绩。试编写一个程序，建立以下4个文件：(1)女生情况的文件。........</title><author>null@null.com (hyf64)</author><link>http://www.wb98.com/vb1/post/vb_14.11.html</link><pubDate>Fri, 05 Aug 2016 17:00:13 +0800</pubDate><guid>http://www.wb98.com/vb1/post/vb_14.11.html</guid><description><![CDATA[<p>
	假定磁盘上有一个学生成绩文件，存放着100个学生的情况，包括学号、姓名、性别、年龄和5门课程的成绩。试编写一个程序，建立以下4个文件：<br />
(1)女生情况的文件。<br />
(2)按5门课程成绩高低排列的学生情况的文件(需增加平均成绩一栏）?<br />
(3)按年龄从小到大顺序排列的全部学生情况的文件。<br />
(4)按5门课程及平均成绩的分数段（60分以下，60～70，71～80,81～90,90分以上)进行人数统计的文件。
</p>
<p>
	&nbsp;&nbsp;&nbsp; 解：该题需要建立4个文件,其中第(2)和第(3)建立文件的操作是类似的，我们将只建立“按5门课程高低排列的学生情况的文件”。为了便于试验程序，我们给出—个学生 成绩登记表，如下：<br />
学号&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; 姓名&nbsp;&nbsp;&nbsp;&nbsp; 性别&nbsp; 年龄&nbsp;&nbsp; 成绩1&nbsp; 成绩2&nbsp; 成绩3&nbsp; 成绩4&nbsp;&nbsp; 成绩5&nbsp; &nbsp;平均<br />
20001&nbsp;&nbsp; &nbsp;钟宇光&nbsp; 男&nbsp;&nbsp;&nbsp; &nbsp;20&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 87&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 76&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;90&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;78&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;94<br />
........<br />
200010&nbsp;&nbsp;况新云&nbsp; 女&nbsp;&nbsp;&nbsp;&nbsp; 18&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 87&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 96&nbsp; &nbsp;&nbsp;&nbsp; 92&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 98&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; 93
</p>
<p>
	上面的登记表共有10项，没有100项，但用来建立4个文件的操作是一样的。我们把这个登记表放到一个文件中，该文件名为stud.txt，（本程序的几个txt文件的位置都在D盘根目录）内容如下：
</p>
<p>
	20001,"钟宇光","男",20,87,76,90,78,94<br />
20002,"王海华","女",19,97,86,92,88,92<br />
20003,"吴天明","男",21,82,86,79,86,87<br />
20004,"王明华","女",20,89,65,74,88,84<br />
20005,"程世清","男",22,57,46,50,68,59<br />
20006,"于向群","女",23,67,76,70,42,64<br />
20007,"李云清","男",18,97,86,98,89,92<br />
20008,"钟洪涛","女",19,87,76,80,68,72<br />
20009,"张小伟","男",24,86,63,70,68,74<br />
200010,"况新云","女",18,87,96,92,98,93
</p>
<p>
	按以下步骤操作。<br />
(1)在窗体上画5个命令按钮。<br />
(2)编写窗体的Load事件过程：<br />
Private Sub Form_Load()<br />
&nbsp;&nbsp;&nbsp; Command1.Caption = "显示原来数据"<br />
&nbsp;&nbsp;&nbsp; Command2.Caption = "建立女生文件"<br />
&nbsp;&nbsp;&nbsp; Command3.Caption = "建立成绩文件"<br />
&nbsp;&nbsp;&nbsp; Command4.Caption = "建立分数段文件"<br />
&nbsp;&nbsp;&nbsp; Command5.Caption = "退&nbsp; 出"<br />
End Sub<br />
’该过程用来设置5个命令按钮的标题。
</p>
<p>
	(3)执行“工程”菜单中的“添加模块”命令，建立一个新的标准模块，然后在该模块中输人如下代码：<br />
Type Stud_Grade<br />
&nbsp;&nbsp;&nbsp; num As Long<br />
&nbsp;&nbsp;&nbsp; Stud_Name As String<br />
&nbsp;&nbsp;&nbsp; Sex As String<br />
&nbsp;&nbsp;&nbsp; Age As Integer<br />
&nbsp;&nbsp;&nbsp; Grade1 As Single<br />
&nbsp;&nbsp;&nbsp; Grade2 As Single<br />
&nbsp;&nbsp;&nbsp; Grade3 As Single<br />
&nbsp;&nbsp;&nbsp; Grade4 As Single<br />
&nbsp;&nbsp;&nbsp; Grade5 As Single<br />
&nbsp;&nbsp;&nbsp; Grade_Aver As Single<br />
End Type
</p>
<p>
	Option Base 1<br />
Public Stud_TabIe() As Stud_Grade<br />
Public n As Integer<br />
’上述代码建立了一个名为Stud_Grade的记录类型，然后定义了该记录类型的一个全局数组，名为Stud_Table。<br />
<br />
(4)编写第一个命令按钮的事件过程：<br />
Private Sub Command1_Click()
</p>
<p>
	&nbsp;&nbsp;&nbsp; n = InputBox("请输人文件中的记录个数")<br />
&nbsp;&nbsp;&nbsp; n = CInt(n)<br />
&nbsp;&nbsp;&nbsp; ReDim Stud_Table(n) As Stud_Grade<br />
&nbsp;&nbsp;&nbsp; Open "d:\stud.txt" For Input As #2<br />
&nbsp;&nbsp;&nbsp; sp = "&nbsp;&nbsp;&nbsp; "<br />
&nbsp;&nbsp;&nbsp; Cls<br />
&nbsp;&nbsp;&nbsp; Print "文件中原来的数据"<br />
&nbsp;&nbsp;&nbsp; Print<br />
&nbsp;&nbsp;&nbsp; Print " 学号", "姓名"; sp; "性别"; sp; "年龄"; sp; "成绩1"; sp; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "成绩2"; sp; "成绩3"; sp; "成绩4"; sp; "成绩5"<br />
&nbsp;&nbsp;&nbsp; Print<br />
&nbsp;&nbsp;&nbsp; For x = 1 To n<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Input #2, Stud_Table(x).num, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Stud_Name, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Sex, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Age, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade1, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade2, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade3, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade4, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade5
</p>
<p>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Print Stud_Table(x).num, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Stud_Name; sp; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Sex; sp; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Age; sp; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade1; sp; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade2; sp; "&nbsp; "; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade3; sp; "&nbsp; "; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade4; sp; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade5<br />
&nbsp;&nbsp;&nbsp; Next x<br />
&nbsp;&nbsp;&nbsp; Close #2
</p>
<p>
	End Sub<br />
’该过程用来显示原始文件中的数据。它首先打开原始文件，然后从文件中读出记录，并在窗体上显示出来。程序运行后，单击该按钮，在显示的输人对话框中输人10,单击“确定”按钮，结果如下图所示。<br />
<img alt="" src="http://www.wb98.com/vb1/zb_users/upload/2016/8/20160805171448484848.PNG" /><br />
<br />
(5)编写第二个命令按钮的代码：<br />
Private Sub Command2_Click()<br />
&nbsp;&nbsp;&nbsp; n = InputBox("请输人文件中的记录个数")<br />
&nbsp;&nbsp;&nbsp; n = CInt(n)<br />
&nbsp;&nbsp;&nbsp; ReDim Stud_Table(n) As Stud_Grade<br />
&nbsp;&nbsp;&nbsp; Open "d:\stud.txt" For Input As #1<br />
&nbsp;&nbsp;&nbsp; sp = "&nbsp;&nbsp;&nbsp; "<br />
&nbsp;&nbsp;&nbsp; Cls<br />
&nbsp;&nbsp;&nbsp; Print "女生情况的数据:"<br />
&nbsp;&nbsp;&nbsp; For x = 1 To n<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Input #1, Stud_Table(x).num, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Stud_Name, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Sex, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Age, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade1, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade2, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade3, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade4, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade5<br />
&nbsp;&nbsp;&nbsp; Next x<br />
&nbsp;&nbsp;&nbsp; Close #1
</p>
<p>
	&nbsp;&nbsp;&nbsp; Open "d:\female.txt" For Output As #1<br />
&nbsp;&nbsp;&nbsp; Print<br />
&nbsp;&nbsp;&nbsp; Print " 学号", "姓名"; sp; "性别"; sp; "年龄"; sp; "成绩1"; sp; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "成绩2"; sp; "成绩3"; sp; "成绩4"; sp; "成绩5"<br />
&nbsp;&nbsp;&nbsp; Print<br />
&nbsp;&nbsp;&nbsp; For x = 1 To n<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If Stud_Table(x).Sex = "女" Then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Print Stud_Table(x).num, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Stud_Name; sp; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Sex; sp; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Age; sp; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade1; sp; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade2; sp; "&nbsp; "; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade3; sp; "&nbsp; "; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade4; sp; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade5
</p>
<p>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Write #1, Stud_Table(x).num, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Stud_Name, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Sex, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Age, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade1, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade2, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade3, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade4, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade5
</p>
<p>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If<br />
&nbsp;&nbsp;&nbsp; Next x
</p>
<p>
	&nbsp;&nbsp;&nbsp; Print<br />
&nbsp;&nbsp;&nbsp; Print "以上数据已经写入文件female.txt"<br />
&nbsp;&nbsp;&nbsp; Print<br />
&nbsp;&nbsp;&nbsp; Close #1<br />
End Sub<br />
<br />
&nbsp;&nbsp;&nbsp; 该过程首先打开原始文件,把它读到内存，然后査找文件中性别为“女”的记录，把这些记录在窗体上显示出来，同时写入文件female.txt。<br />
&nbsp;&nbsp;&nbsp; 程序运行后，单击该命令按钮，将显示一个输人对话框，在对话框中输人10,再单击“确定”按钮，即可在窗体上显示女生情况的记录，在显示的同时，把每个记录写人文件。
</p>
<p>
	执行上述操作后，建立女生情况文件female.txt,内容如下:<br />
20002,"王海华","女",19,97,86,92,88,92<br />
20004,"王明华","女",20,89,65,74,88,84<br />
20006,"于向群","女",23,67,76,70,42,64<br />
20008,"钟洪涛","女",19,87,76,80,68,72<br />
200010,"况新云","女",18,87,96,92,98,93<br />
<br />
(6)编写第三个命令按钮的事件过程:<br />
Private Sub Command3_Click()<br />
&nbsp;&nbsp;&nbsp; n = InputBox("请输入文件中的记录个数")<br />
&nbsp;&nbsp;&nbsp; n = CInt(n)<br />
&nbsp;&nbsp;&nbsp; ReDim Stud_Table(n) As Stud_Grade<br />
&nbsp;&nbsp;&nbsp; Open "d:\stud.txt" For Input As #1<br />
&nbsp;&nbsp;&nbsp; sp = "&nbsp;&nbsp;&nbsp; "<br />
&nbsp;&nbsp;&nbsp; Cls<br />
&nbsp;&nbsp;&nbsp; Print "按5门课程成绩髙低排列的数据："<br />
&nbsp;&nbsp;&nbsp; For x = 1 To n<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Input #1, Stud_Table(x).num, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Stud_Name, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Sex, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Age, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade1, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade2, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade3, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade4, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade5<br />
&nbsp;&nbsp;&nbsp; Next x<br />
&nbsp;&nbsp;&nbsp; Close #1
</p>
<p>
	&nbsp;&nbsp;&nbsp; '求平均分数<br />
&nbsp;&nbsp;&nbsp; For x = 1 To n<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade_Aver = _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Format((Stud_Table(x).Grade1 + _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade2 + _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade3 + _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade4 + _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade5) / 5, "00.00")<br />
&nbsp;&nbsp;&nbsp; Next x
</p>
<p>
	&nbsp;&nbsp;&nbsp; '按平均分排序<br />
&nbsp;&nbsp;&nbsp; For k = n To 2 Step -1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; For l = 1 To k - 1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If Stud_Table(l).Grade_Aver &gt; Stud_Table(l + 1).Grade_Aver Then
</p>
<p>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t = Stud_Table(l + 1).Grade_Aver<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(l + 1).Grade_Aver = Stud_Table(l).Grade_Aver<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(l).Grade_Aver = t
</p>
<p>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t = Stud_Table(l + 1).num<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(l + 1).num = Stud_Table(l).num<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(l).num = t
</p>
<p>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t = Stud_Table(l + 1).Stud_Name<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(l + 1).Stud_Name = Stud_Table(l).Stud_Name<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(l).Stud_Name = t
</p>
<p>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t = Stud_Table(l + 1).Sex<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(l + 1).Sex = Stud_Table(l).Sex<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(l).Sex = t
</p>
<p>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t = Stud_Table(l + 1).Age<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(l + 1).Age = Stud_Table(l).Age<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(l).Age = t
</p>
<p>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t = Stud_Table(l + 1).Grade1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(l + 1).Grade1 = Stud_Table(l).Grade1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(l).Grade1 = t
</p>
<p>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t = Stud_Table(l + 1).Grade2<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(l + 1).Grade2 = Stud_Table(l).Grade2<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(l).Grade2 = t
</p>
<p>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t = Stud_Table(l + 1).Grade3<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(l + 1).Grade3 = Stud_Table(l).Grade3<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(l).Grade3 = t
</p>
<p>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t = Stud_Table(l + 1).Grade4<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(l + 1).Grade4 = Stud_Table(l).Grade4<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(l).Grade4 = t
</p>
<p>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t = Stud_Table(l + 1).Grade5<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(l + 1).Grade5 = Stud_Table(l).Grade5<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(l).Grade5 = t
</p>
<p>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Next l<br />
&nbsp;&nbsp;&nbsp; Next k
</p>
<p>
	&nbsp;&nbsp;&nbsp; Open "d:\grade.txt" For Output As #1<br />
&nbsp;&nbsp;&nbsp; '输出按平均分排序的记录并写入到文件<br />
&nbsp;&nbsp;&nbsp; Print<br />
&nbsp;&nbsp;&nbsp; Print " 学号", "姓名"; sp; "性别"; sp; "年龄"; sp; "成绩1"; sp; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "成绩2"; sp; "成绩3"; sp; "成绩4"; sp; "成绩5"; sp; "平均"
</p>
<p>
	&nbsp;&nbsp;&nbsp; Print
</p>
<p>
	&nbsp;&nbsp;&nbsp; For x = 1 To n
</p>
<p>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Print Stud_Table(x).num, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Stud_Name; sp; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Sex; sp; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Age; sp; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade1; sp; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade2; sp; "&nbsp; "; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade3; sp; "&nbsp; "; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade4; sp; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade5; sp; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade_Aver
</p>
<p>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Write #1, Stud_Table(x).num, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Stud_Name, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Sex, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Age, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade1, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade2, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade3, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade4, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade5, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade_Aver
</p>
<p>
	&nbsp;&nbsp;&nbsp; Next x
</p>
<p>
	&nbsp;&nbsp;&nbsp; Print<br />
&nbsp;&nbsp;&nbsp; Print "以上数据已写人文件grade, txt"<br />
&nbsp;&nbsp;&nbsp; Print<br />
&nbsp;&nbsp;&nbsp; Close #1<br />
End Sub<br />
<br />
&nbsp;&nbsp;&nbsp; 该过程首先打开原始文件，把数据读到内存，接着求出5门课程的平均分数，再按平均分对记录进行排序，然后把排过序的数据在窗体上显示出来，并把这些数据写入磁盘文件。程序运行后，单击该命令按钮,在输入对话框中输人10,单击“确定”按钮，即可输出排序后的数据，在窗体上会有结果显示。
</p>
<p>
	&nbsp;&nbsp;&nbsp; 上述过程建立的文件名为grade.txt,内容如下:
</p>
<p>
	20005,"程世清","男",22,57,46,50,68,59,56<br />
20006,"于向群","女",23,67,76,70,42,64,63.8<br />
20009,"张小伟","男",24,86,63,70,68,74,72.2<br />
20008,"钟洪涛","女",19,87,76,80,68,72,76.6<br />
20004,"王明华","女",20,89,65,74,88,84,80<br />
20003,"吴天明","男",21,82,86,79,86,87,84<br />
20001,"钟宇光","男",20,87,76,90,78,94,85<br />
20002,"王海华","女",19,97,86,92,88,92,91<br />
20007,"李云清","男",18,97,86,98,89,92,92.4<br />
200010,"况新云","女",18,87,96,92,98,93,93.2<br />
<br />
(7)编写第四个命令按钮的事件过程：<br />
&nbsp;&nbsp;&nbsp; n = InputBox("请输人文件中的记录个数")<br />
&nbsp;&nbsp;&nbsp; n = CInt(n)<br />
&nbsp;&nbsp;&nbsp; ReDim Stud_Table(n) As Stud_Grade<br />
&nbsp;&nbsp;&nbsp; Static score(10, 6) As Single<br />
&nbsp;&nbsp;&nbsp; Dim assort(5, 6) As Single
</p>
<p>
	&nbsp;&nbsp;&nbsp; Open "d:\stud.txt" For Input As #1<br />
&nbsp;&nbsp;&nbsp; sp = "&nbsp;&nbsp;&nbsp; "<br />
&nbsp;&nbsp;&nbsp; Cls
</p>
<p>
	&nbsp;&nbsp;&nbsp; For x = 1 To n<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Input #1, Stud_Table(x).num, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Stud_Name, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Sex, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Age, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade1, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade2, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade3, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade4, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade5
</p>
<p>
	&nbsp;&nbsp;&nbsp; Next x<br />
&nbsp;&nbsp;&nbsp; Close #1
</p>
<p>
	&nbsp;&nbsp;&nbsp; '求平均分数<br />
&nbsp;&nbsp;&nbsp; For x = 1 To n<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade_Aver = _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Format((Stud_Table(x).Grade1 + _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade2 + _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade3 + _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade4 + _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stud_Table(x).Grade5) / 5, "00.00")<br />
&nbsp;&nbsp;&nbsp; Next x
</p>
<p>
	&nbsp;&nbsp;&nbsp; '建立分数数组
</p>
<p>
	&nbsp;&nbsp;&nbsp; For i = 1 To n<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; score(i, 1) = Stud_Table(i).Grade1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; score(i, 2) = Stud_Table(i).Grade2<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; score(i, 3) = Stud_Table(i).Grade3<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; score(i, 4) = Stud_Table(i).Grade4<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; score(i, 5) = Stud_Table(i).Grade5<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; score(i, 6) = Stud_Table(i).Grade_Aver<br />
&nbsp;&nbsp;&nbsp; Next i
</p>
<p>
	&nbsp;&nbsp;&nbsp; '输出分数数组<br />
&nbsp;&nbsp;&nbsp; Print "输出分数："<br />
&nbsp;&nbsp;&nbsp; Print<br />
&nbsp;&nbsp;&nbsp; For i = 1 To n<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; For j = 1 To 6<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Print score(i, j);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Next j<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Print<br />
&nbsp;&nbsp;&nbsp; Next i
</p>
<p>
	&nbsp;&nbsp;&nbsp; '对分数按分数段分类<br />
&nbsp;&nbsp;&nbsp; For i = 1 To n<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; For j = 1 To 6<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If score(i, j) &lt; 60 Then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; assort(1, j) = assort(1, j) + 1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ElseIf score(i, j) &gt;= 60 And score(i, j) &lt;= 70 Then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; assort(2, j) = assort(2, j) + 1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ElseIf score(i, j) &gt; 70 And score(i, j) &lt;= 80 Then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; assort(3, j) = assort(3, j) + 1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ElseIf score(i, j) &gt; 80 And score(i, j) &lt; 90 Then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; assort(4, j) = assort(4, j) + 1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; assort(5, j) = assort(5, j) + 1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Next j<br />
&nbsp;&nbsp;&nbsp; Next i
</p>
<p>
	&nbsp;&nbsp;&nbsp; '输出分类的分数并写人文件<br />
&nbsp;&nbsp;&nbsp; Open "d:\assort.txt" For Output As #1<br />
&nbsp;&nbsp;&nbsp; Print<br />
&nbsp;&nbsp;&nbsp; Print "*", "成绩1 "; "成绩2 "; "成绩3 "; "成绩4 "; "成绩5 "; "平均"<br />
&nbsp;&nbsp;&nbsp; Write #1, "*", "成绩1 "; "成绩2 "; "成绩3 "; "成绩4 "; "成绩5 "; "平均"<br />
&nbsp;&nbsp;&nbsp; Print<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; For i = 1 To 5<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If i = 1 Then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; msg = "60分以下"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ElseIf i = 2 Then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; msg = "60 ～ 70"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ElseIf i = 3 Then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; msg = "71 ～ 80"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ElseIf i = 4 Then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; msg = "81 ～ 90"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; msg = "90分以上"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Print msg,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Write #1, msg,
</p>
<p>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; For j = 1 To 6<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Print assort(i, j); "&nbsp;&nbsp; ";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Write #1, assort(i, j); "&nbsp;&nbsp; ";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Next j
</p>
<p>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Print #1, "&nbsp; "<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Print<br />
&nbsp;&nbsp;&nbsp; Next i<br />
&nbsp;&nbsp;&nbsp; Close #1<br />
&nbsp;&nbsp;&nbsp; Print<br />
&nbsp;&nbsp;&nbsp; Print "以上数据已写人文件 assort.txt"<br />
End Sub<br />
<br />
&nbsp;&nbsp;&nbsp; 该过程首先打开原始文件，把数据读到内存，接着求出每个学生课程成绩的平均分, 然后把5门课程的分数及平均分放到一个二维数组中，再对这个二维数组进行处理，从中 求出每门课程及平均分的不同分数段的人数，并把它放入另一个二维数组中。最后输出各分数段的人数，同时把这些数据写人磁盘文件。<br />
&nbsp;&nbsp;&nbsp; 程序运行后，单击第四个命令按钮,在输人对话框中输人10,单击“确定”按钮后，结果如下图所示。<br />
<img alt="" src="http://www.wb98.com/vb1/zb_users/upload/2016/8/2016080517240477477.PNG" /> 
</p>
<p>
	&nbsp;&nbsp;&nbsp; 以上过程建立的文件名为assort.txt,内容如下：<br />
<br />
"*","成绩1 ","成绩2 ","成绩3 ","成绩4 ","成绩5 ","平均"<br />
"60分以下",1,"&nbsp;&nbsp; ",1,"&nbsp;&nbsp; ",1,"&nbsp;&nbsp; ",1,"&nbsp;&nbsp; ",1,"&nbsp;&nbsp; ",1,"&nbsp;&nbsp; ",&nbsp; <br />
"60 ～ 70",1,"&nbsp;&nbsp; ",2,"&nbsp;&nbsp; ",2,"&nbsp;&nbsp; ",3,"&nbsp;&nbsp; ",1,"&nbsp;&nbsp; ",1,"&nbsp;&nbsp; ",&nbsp; <br />
"71 ～ 80",0,"&nbsp;&nbsp; ",3,"&nbsp;&nbsp; ",3,"&nbsp;&nbsp; ",1,"&nbsp;&nbsp; ",2,"&nbsp;&nbsp; ",3,"&nbsp;&nbsp; ",&nbsp; <br />
"81 ～ 90",6,"&nbsp;&nbsp; ",3,"&nbsp;&nbsp; ",0,"&nbsp;&nbsp; ",4,"&nbsp;&nbsp; ",2,"&nbsp;&nbsp; ",2,"&nbsp;&nbsp; ",&nbsp; <br />
"90分以上",2,"&nbsp;&nbsp; ",1,"&nbsp;&nbsp; ",4,"&nbsp;&nbsp; ",1,"&nbsp;&nbsp; ",4,"&nbsp;&nbsp; ",3,"&nbsp;&nbsp; ",&nbsp; <br />
<br />
(8)编写第五个命令按钮的事件过程:<br />
Private Sub Command5_Click()<br />
&nbsp;&nbsp;&nbsp; End<br />
End Sub
</p>]]></description><category>VB程序设计教程第4版答案刘炳文</category><comments>http://www.wb98.com/vb1/post/vb_14.11.html#comment</comments><wfw:commentRss>http://www.wb98.com/vb1/feed.asp?cmt=69</wfw:commentRss></item><item><title>VB编程：假定在磁盘上已建立了一个通信录文件，文件中的每个记录包括编号、用户名、电话号码和地址等4项内容。试编写一个程序，用自己选择的检索方法（如二分法）从文件中查找指定的用户的编号，并在文本框中输出</title><author>null@null.com (hyf64)</author><link>http://www.wb98.com/vb1/post/vb_14.10.html</link><pubDate>Thu, 04 Aug 2016 08:12:46 +0800</pubDate><guid>http://www.wb98.com/vb1/post/vb_14.10.html</guid><description><![CDATA[<p>
	假定在磁盘上已建立了一个通信录文件，文件中的每个记录包括编号、用户名、电话号码和地址等4项内容。试编写一个程序，用自己选择的检索方法（如二分法）从文件中查找指定的用户的编号，并在文本框中输出其名字、电话号码和地址。
</p>
<p>
	&nbsp;&nbsp;&nbsp; 解：我们假定已建立了通信录文件，并且知道该文件中记录的个数。通信录文件名为comm.txt，该文件中记录的个数存放在tel.txt文件中，这两个文件均位于d:\目录下。<br />
comm.txt的内容如下：<br />
1602,"张三","13776541255","解放路15号"<br />
1609,"李四","13987651543","建国大道123号"<br />
1601,"王五麻子","13598769988","张家巷98号"<br />
1603,"江学民","18977650876","胜利路19号附3号"<br />
1606,"李小明","18632781234","和平路88号"<br />
1605,"潘小东","12587654455","北京路129号"<br />
1608,"胡鑫","18798765432","青年大道45号"<br />
1604,"龚小英","13298231877","重庆东路8号"<br />
1607,"朱明","18976541234","韶山北路1号"
</p>
<p>
	tel.txt文件的内容为：9
</p>
<p>
	&nbsp; 按以下步骤操作。
</p>
<p>
	(1)在窗体画三个命令按钮，其标题分別为“添加数据”、“检索数据”和“退出”，在属性窗口中设置适当的字体和字号，完成后的窗体如下图所示。<br />
<img alt="" src="http://www.wb98.com/vb1/zb_users/upload/2016/8/20160804230065806580.PNG" /><br />
<br />
(2)执行“工程”菜单中的“添加窗体”命令，添加一个窗体（Form2)，在窗体上画4个标签、3个文本框和一个命令按钮，如下图所示。<br />
<img alt="" src="http://www.wb98.com/vb1/zb_users/upload/2016/8/20160804230112761276.PNG" /><br />
<br />
(3)执行“工程”菜单中的“添加模块”命令，添加一个标准模块，在该模块中定义如下类型和变量:<br />
Type Tel_Addr<br />
num As Integer<br />
User_Name As String<br />
Tel As String<br />
User_Addr As String<br />
End Type
</p>
<p>
	Option Base 1<br />
Public Tel_Addr_Rec() As Tel_Addr<br />
Public n As Integer<br />
<br />
&nbsp;(4)编写第一个窗体的Form_Load事件过程：
</p>
<p>
	Private Sub Form_Load()<br />
&nbsp;&nbsp;&nbsp;&nbsp; Command1.Enabled = False<br />
&nbsp;End Sub
</p>
<p>
	在该过程中，把第一个命令按钮（即“添加数据”）的Enabled属性设置为False。也就说，在程序开始运行时，该按钮是禁用的。只有在单击“检索数据”按钮后才能启用“添数据”按钮（见后）。
</p>
<p>
	(5)编写第一个窗体中“添加数据”按钮的事件过程：<br />
<br />
Private Sub Command1_Click()<br />
&nbsp;&nbsp;&nbsp; num = InputBox("请输入要添加的用户数量")<br />
&nbsp;&nbsp;&nbsp; num = CInt(num)<br />
&nbsp;&nbsp;&nbsp; n = n + num<br />
&nbsp;&nbsp;&nbsp; ReDim Tel_Addr_Rec(num) As Tel_Addr<br />
&nbsp;&nbsp;&nbsp; Open "d:\comm.txt" For Append As #1<br />
&nbsp;&nbsp;&nbsp; For i = 1 To num<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tel_Addr_Rec(i).num = InputBox("输人编号：")<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tel_Addr_Rec(i).User_Name = InputBox("请输人用户名字")<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tel_Addr_Rec(i).Tel = InputBox("请输人用户电话号码")<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tel_Addr_Rec(i).User_Addr = InputBox("请输人地址")<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Write #1, Tel_Addr_Rec(i).num, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tel_Addr_Rec(i).User_Name, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tel_Addr_Rec(i).Tel, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tel_Addr_Rec(i).User_Addr<br />
&nbsp;&nbsp;&nbsp; Next i<br />
&nbsp;&nbsp;&nbsp; Close #1<br />
&nbsp;&nbsp;&nbsp; Open "d:\tel.txt" For Output As #1<br />
&nbsp;&nbsp;&nbsp; Print #1, n<br />
&nbsp;&nbsp;&nbsp; Close #1<br />
End Sub
</p>
<p>
	<br />
&nbsp;<br />
该程序用来向通信录文件中添加数据。如前所述，只有在执行“检索数据”按钮的事件过程后才能执行这个事件过程。过程中的全局变量n在执行“检索数据”事件过程时得到，新添加的id录个数为num,添加完数据后，文件中记录的个数为n = n + mun。在过程的最后，把n写人存放记录个数的文件（tel.txt)，以备下次检索时使用。
</p>
<p>
	(6)编写第一个窗体中“检索数据”按钮事件过程：
</p>
<p>
	Private Sub Command2_Click()
</p>
<p>
	&nbsp;&nbsp;&nbsp; Command1.Enabled = True<br />
&nbsp;&nbsp;&nbsp; Open "d:\tel.txt" For Input As #1<br />
&nbsp;&nbsp;&nbsp; Input #1, n<br />
&nbsp;&nbsp;&nbsp; Close #1
</p>
<p>
	&nbsp;&nbsp;&nbsp; ReDim Tel_Addr_Rec(n) As Tel_Addr<br />
&nbsp;&nbsp;&nbsp; Open "d:\comm.txt" For Input As #2<br />
&nbsp;&nbsp;&nbsp; x = 1<br />
&nbsp;&nbsp;&nbsp; '读数据<br />
&nbsp;&nbsp;&nbsp; Me.Cls<br />
&nbsp;&nbsp;&nbsp; Print "文件中原来的数据"<br />
&nbsp;&nbsp;&nbsp; Do While Not EOF(2)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Input #2, Tel_Addr_Rec(x).num, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tel_Addr_Rec(x).User_Name, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tel_Addr_Rec(x).Tel, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tel_Addr_Rec(x).User_Addr
</p>
<p>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Print Tel_Addr_Rec(x).num, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tel_Addr_Rec(x).User_Name, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tel_Addr_Rec(x).Tel, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tel_Addr_Rec(x).User_Addr<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x = x + 1<br />
&nbsp;&nbsp;&nbsp; Loop<br />
&nbsp;&nbsp;&nbsp; Close #2
</p>
<p>
	&nbsp;&nbsp;&nbsp; '排序
</p>
<p>
	&nbsp;&nbsp;&nbsp; For i = n To 2 Step -1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; For j = 1 To i - 1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If Tel_Addr_Rec(j).num &gt; Tel_Addr_Rec(j + 1).num Then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; T = Tel_Addr_Rec(j + 1).num<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tel_Addr_Rec(j + 1).num = Tel_Addr_Rec(j).num<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tel_Addr_Rec(j).num = T
</p>
<p>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; T = Tel_Addr_Rec(j + 1).User_Name<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tel_Addr_Rec(j + 1).User_Name = Tel_Addr_Rec(j).User_Name<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tel_Addr_Rec(j).User_Name = T
</p>
<p>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; T = Tel_Addr_Rec(j + 1).Tel<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tel_Addr_Rec(j + 1).Tel = Tel_Addr_Rec(j).Tel<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tel_Addr_Rec(j).Tel = T
</p>
<p>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; T = Tel_Addr_Rec(j + 1).User_Addr<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tel_Addr_Rec(j + 1).User_Addr = Tel_Addr_Rec(j).User_Addr<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tel_Addr_Rec(j).User_Addr = T<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Next j<br />
&nbsp;&nbsp;&nbsp; Next i
</p>
<p>
	&nbsp;&nbsp;&nbsp; '排序后输出<br />
&nbsp;&nbsp;&nbsp; Print "---------------------------"<br />
&nbsp;&nbsp;&nbsp; Print "排序后的数据："<br />
&nbsp;&nbsp;&nbsp; For i = 1 To n<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Print Tel_Addr_Rec(i).num, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tel_Addr_Rec(i).User_Name, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tel_Addr_Rec(i).Tel, _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tel_Addr_Rec(i).User_Addr<br />
&nbsp;&nbsp;&nbsp; Next i
</p>
<p>
	&nbsp;&nbsp;&nbsp; '检索<br />
&nbsp;&nbsp;&nbsp; flag = 0<br />
&nbsp;&nbsp;&nbsp; ta = InputBox("请输人要检索的编号", "输入査找内容", , 5000, 6000)<br />
&nbsp;&nbsp;&nbsp; lo = 1<br />
&nbsp;&nbsp;&nbsp; hi = n + 1&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp; i = Int(n / 2 + 1)<br />
&nbsp;&nbsp;&nbsp; For k = 1 To Int(n / 2)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If Tel_Addr_Rec(i).num = ta Then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Form2.Show<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Form2.Text1.Text = Tel_Addr_Rec(i).User_Name<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Form2.Text2.Text = Tel_Addr_Rec(i).Tel<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Form2.Text3.Text = Tel_Addr_Rec(i).User_Addr<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flag = 1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Exit For<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If Tel_Addr_Rec(i).num &lt; ta Then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lo = i<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hi = i<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i = Int((hi - lo) / 2) + lo<br />
&nbsp;&nbsp;&nbsp; Next k<br />
&nbsp;&nbsp;&nbsp; If flag = 0 Then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MsgBox "没有要査找的编号", , ""<br />
&nbsp;&nbsp;&nbsp; End If
</p>
<p>
	End Sub
</p>
<p>
	Private Sub Command3_Click()<br />
&nbsp;&nbsp;&nbsp; End<br />
End Sub
</p>
<p>
	Private Sub Form_Load()<br />
&nbsp;&nbsp;&nbsp; Command1.Enabled = False<br />
End Sub<br />
<br />
该过程代码较多，实际上执行了3种操作，即：<br />
1.把通信录中的数据读到内存，放到记录数组 Tel_Addr_rec中，然后在窗体上显示出来。<br />
2.对记录按编号从小到大的顺序迸行排序。二分法（折半法）只能对排过序的记录进行检索，因此，在检索前必须对记录排序。<br />
3.用二分法检索数据。二分法检索的基本思路是：首先把要检索的数据项与文件中位于中部(二分之一处)的记录进行比较，如果相等，则它就是要检索的数据；如果大于，则要査找的数据项位于文件的后半部，否则位于前半部，然后再取后半部 或前半部继续检索，直至找到所需要的数据项（如果有的话）。找到所需要的数据 (编号）后，将打开第二个窗体，显示记录的内容；如果没有找到，则显示相应的信息。
</p>
<p>
	(7)编写第一个窗体中“退出”按钮事件过程：<br />
Private Sub Command3_Click()<br />
&nbsp;&nbsp;&nbsp;&nbsp; End<br />
&nbsp;End Sub<br />
该过程用来结束程序运行。<br />
<br />
(8)编写第二个窗体的事件过程：<br />
Private Sub Command1_Click()<br />
&nbsp;Unload Me<br />
End Sub
</p>
<p>
	Private Sub Form_Load()<br />
&nbsp;&nbsp;&nbsp; Label1.FontSize = 16<br />
&nbsp;&nbsp;&nbsp; Label1.Caption = "姓名"<br />
&nbsp;&nbsp;&nbsp; Label2.FontSize = 16<br />
&nbsp;&nbsp;&nbsp; Label2.Caption = "电话"<br />
&nbsp;&nbsp;&nbsp; Label3.FontSize = 16<br />
&nbsp;&nbsp;&nbsp; Label3.Caption = "地址"<br />
&nbsp;&nbsp;&nbsp; Label4.FontSize = 16<br />
&nbsp;&nbsp;&nbsp; Label4.FontName = "幼圆"<br />
&nbsp;&nbsp;&nbsp; Label4.FontBold = True<br />
&nbsp;&nbsp;&nbsp; Label4.Caption = "要査找的用户为："<br />
&nbsp;&nbsp;&nbsp; Text1.FontSize = 16<br />
&nbsp;&nbsp;&nbsp; Text2.FontSize = 16<br />
&nbsp;&nbsp;&nbsp; Text3.FontSize = 16<br />
&nbsp;&nbsp;&nbsp; Command1.Caption = "返回"<br />
&nbsp;&nbsp;&nbsp; Command1.FontSize = 18<br />
&nbsp;&nbsp;&nbsp; Command1.FontName = "隶书"<br />
End Sub<br />
<br />
最后运行此程序，效果如下图所示。<br />
<img alt="" src="http://www.wb98.com/vb1/zb_users/upload/2016/8/20160804230963686368.PNG" /> 
</p>]]></description><category>VB程序设计教程第4版答案刘炳文</category><comments>http://www.wb98.com/vb1/post/vb_14.10.html#comment</comments><wfw:commentRss>http://www.wb98.com/vb1/feed.asp?cmt=68</wfw:commentRss></item><item><title>VB编程：编写程序，按下列格式输出月历，并把结果放入一个文件中：</title><author>null@null.com (hyf64)</author><link>http://www.wb98.com/vb1/post/vb_14.9.html</link><pubDate>Thu, 04 Aug 2016 08:08:11 +0800</pubDate><guid>http://www.wb98.com/vb1/post/vb_14.9.html</guid><description><![CDATA[<p>
	编写程序，按下列格式输出月历，并把结果放入一个文件中：
</p>
<p>
	SUN MON TUE WED THU FRI SAT<br />
&nbsp;1&nbsp; &nbsp;&nbsp; &nbsp;2&nbsp;&nbsp;&nbsp; &nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;4&nbsp;&nbsp;&nbsp; &nbsp;5&nbsp;&nbsp;&nbsp; &nbsp;6&nbsp;&nbsp;&nbsp; &nbsp;7<br />
&nbsp;8&nbsp;&nbsp; &nbsp;&nbsp; 9&nbsp;&nbsp;&nbsp;&nbsp; 10&nbsp;&nbsp;&nbsp;&nbsp; 11&nbsp; &nbsp;12&nbsp;&nbsp; &nbsp;13&nbsp; 14<br />
&nbsp;15&nbsp;&nbsp; &nbsp;16 &nbsp; 17&nbsp;&nbsp;&nbsp;&nbsp; 18&nbsp; &nbsp;19&nbsp;&nbsp; &nbsp;20&nbsp; &nbsp;21<br />
&nbsp;22&nbsp;&nbsp;&nbsp; 23&nbsp; &nbsp;24&nbsp;&nbsp;&nbsp; &nbsp;25&nbsp;&nbsp; 26&nbsp;&nbsp; &nbsp;27&nbsp;&nbsp; 28<br />
&nbsp;29&nbsp;&nbsp;&nbsp; 30 &nbsp; 31<br />
</p>
<p>
	<strong>解</strong>：在窗体上建立一个命令按钮，然后编写如下事件过程。
</p>
<p>
	Private Sub Command1_Click()
</p>
<p>
	Open "d:\monology.txt" For Output As #1<br />
Print #1, "SUN&nbsp;&nbsp;&nbsp; "; "MON&nbsp;&nbsp;&nbsp; "; "TUE&nbsp;&nbsp;&nbsp; "; "WED&nbsp;&nbsp;&nbsp; "; "THU&nbsp;&nbsp;&nbsp; "; "FRI&nbsp;&nbsp;&nbsp; "; "SAT"<br />
Print #1, ""<br />
For i = 1 To 31<br />
If i Mod 7 = 0 Then<br />
Print #1, i<br />
Print #1, ""<br />
Else<br />
If i &lt; 10 Then<br />
Print #1, i; "&nbsp;&nbsp;&nbsp; ";<br />
Else<br />
Print #1, i; "&nbsp;&nbsp; ";<br />
End If<br />
End If<br />
Next i<br />
Close #1
</p>
<p>
	&nbsp;&nbsp;&nbsp; MsgBox "已经在D盘根目录里建立了 monology.txt 点“确定”将打开它。"<br />
&nbsp;&nbsp;&nbsp; Shell "c:\windows\notepad.exe " &amp; "d:\monology.txt", vbNormalFocus
</p>
<p>
	End Sub<br />
<br />
程序运行后，单击按钮，将在当前目录下建立一个名为monology.txt的文件，程序将调用记事本打开它。<br />
</p>]]></description><category>VB程序设计教程第4版答案刘炳文</category><comments>http://www.wb98.com/vb1/post/vb_14.9.html#comment</comments><wfw:commentRss>http://www.wb98.com/vb1/feed.asp?cmt=67</wfw:commentRss></item><item><title>编写一个程序，用来处理活期存款的结算事务。程序运行后，先由用户输入一个表示结存的初值，然后进入循环，询问是接收存款还是扣除支出。每次处理之后，程序都要显示当前的结存，并把它存入一个文件中。要求输出的浮</title><author>null@null.com (hyf64)</author><link>http://www.wb98.com/vb1/post/vb_14.8.html</link><pubDate>Wed, 03 Aug 2016 16:46:58 +0800</pubDate><guid>http://www.wb98.com/vb1/post/vb_14.8.html</guid><description><![CDATA[<p>
	编写一个程序，用来处理活期存款的结算事务。程序运行后，先由用户输入一个表示结存的初值，然后进入循环，询问是接收存款还是扣除支出。每次处理之后，程序都要显示当前的结存，并把它存入一个文件中。要求输出的浮点数保留小数点后两位。
</p>
<p>
	&nbsp;&nbsp;&nbsp; 解：编写程序如下：<br />
<br />
Private Sub Form_Click()
</p>
<p>
	&nbsp;&nbsp;&nbsp; Open "d:\delosit.txt" For Output As #1<br />
&nbsp;&nbsp;&nbsp; initVal = InputBox("", "请输入结存初值")<br />
&nbsp;&nbsp;&nbsp; initVal = Val(initVal)<br />
&nbsp;&nbsp;&nbsp; initVal = Format(initVal, "0.00")<br />
&nbsp;&nbsp;&nbsp; Print #1, "结存初值为"; initVal<br />
&nbsp;&nbsp;&nbsp; cl = Chr(13) &amp; Chr(10)<br />
&nbsp;&nbsp;&nbsp; Do<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; answer = InputBox("请选择" &amp; cl &amp; "1.接收存款" &amp; cl &amp; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "2.扣除支出" &amp; cl &amp; "3.退出", "选择")<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If answer = 1 Then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; currVal = InputBox("请输入存款数")<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; currVal = Val(currVal)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; initVal = initVal + currVal<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; initVal = Format(initVal, "0.00")<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Print "存入"; currVal; "当前结存数"; initVal<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Print #1, "存入"; currVal; "当前结存数"; initVal<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ElseIf answer = 2 Then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; currVal = InputBox("请输入支出数")<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; currVal = Val(currVal)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; initVal = initVal - currVal<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; initVal = Format(initVal, "0.00")<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Print "支出"; currVal; "当前结存数"; initVal<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Print #1, "支出"; currVal; "当前结存数"; initVal<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Exit Do<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If<br />
&nbsp;&nbsp;&nbsp; Loop<br />
&nbsp;&nbsp;&nbsp; Close 1<br />
&nbsp;&nbsp;&nbsp; <br />
End Sub<br />
<br />
运行此程序，单击窗体，根据显示的输入对话框输入所需要的数据，程序即可以执行存款，支出等操作，并即时显示在窗体上，同时也会把数据写入到delosit.txt这个文件中。
</p>
<p>
	运行此程序，输入图中所示数据，效果如下图所示。<br />
<img alt="" src="http://www.wb98.com/vb1/zb_users/upload/2016/8/20160803170665746574.PNG" /><br />
<br />
运行此程序后，delosit.txt这个文件的跟窗体显示的是一样的，即：<br />
结存初值为：35847.64<br />
存入 12000 ，当前结存为：47847.64<br />
存入 3765.5 ，当前结存为：51613.14<br />
支出 4000 ，当前结存为：47613.14<br />
存入 2000 ，当前结存为：49613.14<br />
存入 18000 ，当前结存为：67613.14<br />
支出 3428 ，当前结存为：64185.14<br />
<span id="__kindeditor_bookmark_start_0__"></span>
</p>]]></description><category>VB程序设计教程第4版答案刘炳文</category><comments>http://www.wb98.com/vb1/post/vb_14.8.html#comment</comments><wfw:commentRss>http://www.wb98.com/vb1/feed.asp?cmt=66</wfw:commentRss></item><item><title>某单位全年每次报销的经费（假定为整数）存入在一个磁盘文件中，试编写一个程序，从该文件中读出每次报销的经费，计算其总和，并将结果存入另一个文件中。</title><author>null@null.com (hyf64)</author><link>http://www.wb98.com/vb1/post/vb_14.7.html</link><pubDate>Wed, 03 Aug 2016 16:23:30 +0800</pubDate><guid>http://www.wb98.com/vb1/post/vb_14.7.html</guid><description><![CDATA[<p>
	某单位全年每次报销的经费（假定为整数）存入在一个磁盘文件中，试编写一个程序，从该文件中读出每次报销的经费，计算其总和，并将结果存入另一个文件中。
</p>
<p>
	&nbsp;&nbsp;&nbsp;&nbsp; 解：假定存入报销经费的文件为outlayI.txt，位置在D盘根目录，其内容为：<br />
3635<br />
1476<br />
3267<br />
4356<br />
8542<br />
7564<br />
8754<br />
3614<br />
6547<br />
12435<br />
2314<br />
6755<br />
69259
</p>
<p>
	编写如下事件过程：<br />
<br />
Private Sub Form_Click()<br />
Me.Cls<br />
&nbsp;&nbsp;&nbsp; Open "d:\outlayI.txt" For Input As #1<br />
&nbsp;&nbsp;&nbsp; Print "从文件读出每次报销经费，显示并相加："
</p>
<p>
	&nbsp;&nbsp;&nbsp; Do While Not EOF(1)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Input #1, n<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Print n<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sum = Sum + n<br />
&nbsp;&nbsp;&nbsp; Loop<br />
&nbsp;&nbsp;&nbsp; Close 1<br />
&nbsp;&nbsp;&nbsp; Print<br />
&nbsp;&nbsp;&nbsp; Print "把计算结果（总和）写入文件(d:\outlayO.txt)。"<br />
&nbsp;&nbsp;&nbsp; Print Sum<br />
&nbsp;&nbsp;&nbsp; Open "d:\outlayO.txt" For Output As #1<br />
&nbsp;&nbsp;&nbsp; Print #1, Sum<br />
&nbsp;&nbsp;&nbsp; Close 1
</p>
<p>
	&nbsp;&nbsp;&nbsp; MsgBox "已经在d盘根目录里建立了 outlayO.txt 文件(计算结果已经写入这个文件)，点“确定”将打开它。"<br />
&nbsp;&nbsp;&nbsp; Shell "c:\windows\notepad.exe " &amp; "d:\outlayO.txt", vbNormalFocus
</p>
<p>
	End Sub<br />
<br />
运行此程序，结果如下图所示。<br />
<img alt="" src="http://www.wb98.com/vb1/zb_users/upload/2016/8/201608031624008888.PNG" /><br />
<br />
visual basic 程序设计教程第4版 课后答案 刘炳文 编著
</p>]]></description><category>VB程序设计教程第4版答案刘炳文</category><comments>http://www.wb98.com/vb1/post/vb_14.7.html#comment</comments><wfw:commentRss>http://www.wb98.com/vb1/feed.asp?cmt=65</wfw:commentRss></item><item><title>在磁盘上以文件形式建立一个三角函数表，其格式如下：</title><author>null@null.com (hyf64)</author><link>http://www.wb98.com/vb1/post/vb_14.6.html</link><pubDate>Wed, 03 Aug 2016 15:54:41 +0800</pubDate><guid>http://www.wb98.com/vb1/post/vb_14.6.html</guid><description><![CDATA[<p>
	在磁盘上以文件形式建立一个三角函数表，其格式如下：<br />
*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SIN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; COS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TAN<br />
0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; ?<br />
1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ?&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ?<br />
2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; ?<br />
3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; ?<br />
…&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; …&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; …&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;…<br />
99&nbsp;&nbsp;&nbsp;&nbsp; ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; ?
</p>
<p>
	解，在窗体上画一个命令按钮，然后编写如下事件过程。
</p>
<p>
	Private Sub Command1_Click()<br />
<br />
&nbsp;&nbsp;&nbsp; Dim sinval, cosval, tanval As Single<br />
&nbsp;&nbsp;&nbsp; Open "d:\TrigFun.txt" For Output As #1<br />
&nbsp;&nbsp;&nbsp; Print #1, " *", "SIN", "COS", "TAN"<br />
&nbsp;&nbsp;&nbsp; Print #1, ""<br />
&nbsp;&nbsp;&nbsp; For i = 1 To 90<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; arg = i * 3.14159 / 180<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sinval = Sin(arg)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sinval = Format(sinval, "0.000000")<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cosval = Cos(arg)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cosval = Format(cosval, "0.000000")<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tanval = Tan(arg)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tanval = Format(tanval, "0.000000")<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Print #1, i, sinval, cosval, "0" &amp; tanval<br />
&nbsp;&nbsp;&nbsp; Next<br />
&nbsp;&nbsp;&nbsp; Close #1<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; MsgBox "已经在d盘根目录里建立了 TrigFun.txt 文件，点“确定”将打开它。"<br />
&nbsp;&nbsp;&nbsp; Shell "c:\windows\notepad.exe " &amp; "d:\TrigFun.txt", vbNormalFocus
</p>
<p>
	End Sub<br />
<br />
******************************<br />
visual basic程序设计教程第四版答案 刘炳文 编著
</p>]]></description><category>VB程序设计教程第4版答案刘炳文</category><comments>http://www.wb98.com/vb1/post/vb_14.6.html#comment</comments><wfw:commentRss>http://www.wb98.com/vb1/feed.asp?cmt=64</wfw:commentRss></item><item><title>仿照本章中的例子（例13.1）建立多窗体程序。</title><author>null@null.com (hyf64)</author><link>http://www.wb98.com/vb1/post/vb_13.8.html</link><pubDate>Wed, 03 Aug 2016 11:18:10 +0800</pubDate><guid>http://www.wb98.com/vb1/post/vb_13.8.html</guid><description><![CDATA[<p>
	仿照本章中的例子（例13.1）建立多窗体程序。<br />
&nbsp;&nbsp;&nbsp; 设计一个“古诗选读”程序，该程序由3个字体构成，其中一个窗体为封面窗体，一个窗体为诗歌列表窗体，一个为诗歌显示窗体。，程序运行后，先显示封面窗体，接着显示列表窗体，在该窗体中列出所要阅读的古诗目录，双击某个目录后，在另一个窗体的文本框中显示相应的诗文内容。<br />
&nbsp;<br />
1.首先建立第一个窗体，中间一个image控件（加入漂亮图片，起美化作用），下面两个按钮，如下图所示。<br />
&nbsp; 此窗体属性：<br />
&nbsp; Name:"多窗体程序示例"<br />
&nbsp; Caption:ListForm<br />
&nbsp; 按钮字体为“隶书”，大小为小二<br />
<img alt="" src="http://www.wb98.com/vb1/zb_users/upload/2016/8/20160803111963156315.PNG" /><br />
<br />
编写如下代码：（注意，此代码只输入了四首诗歌，其它的大家自己输入吧。）
</p>
<p>
	Private Sub Command1_Click()<br />
ListForm.Show<br />
FormCover.Hide<br />
End Sub
</p>
<p>
	Private Sub Command2_Click()<br />
End<br />
End Sub
</p>
<p>
	2.编写第二个窗体（ListForm），即诗歌选择窗体，窗体中一个标签，一个按钮，再加一个列表框控件。各控件字体大小等属性可自己选择（本示例中，标签选择行楷字体，大小为二号；列表框字体为幼圆，字体大小为三号；按钮字体为隶书，大小为小二）。<br />
<img alt="" src="http://www.wb98.com/vb1/zb_users/upload/2016/8/20160803111919021902.PNG" /><br />
<br />
编写如下代码
</p>
<p>
	Private Sub Command1_Click()<br />
&nbsp;&nbsp;&nbsp; Unload Me<br />
End Sub
</p>
<p>
	Private Sub Form_Load()<br />
&nbsp;&nbsp;&nbsp; List1.AddItem "望天门山"<br />
&nbsp;&nbsp;&nbsp; List1.AddItem "黄鹤楼送孟浩然之广陵"<br />
&nbsp;&nbsp;&nbsp; List1.AddItem "黄鹤楼"<br />
&nbsp;&nbsp;&nbsp; List1.AddItem "蜀相"<br />
&nbsp;&nbsp;&nbsp; List1.AddItem "早发白帝城"<br />
&nbsp;&nbsp;&nbsp; List1.AddItem "秋日登岳阳楼晴望"<br />
&nbsp;&nbsp;&nbsp; List1.AddItem "经河源军汉村作"<br />
&nbsp;&nbsp;&nbsp; List1.AddItem "金陵怀古"<br />
&nbsp;&nbsp;&nbsp; List1.AddItem "赋得古原草送别"<br />
End Sub
</p>
<p>
	Private Sub Form_Unload(Cancel As Integer)<br />
&nbsp;&nbsp;&nbsp; FormCover.Show<br />
End Sub
</p>
<p>
	Private Sub List1_DblClick()<br />
&nbsp;&nbsp;&nbsp; ListForm.Hide<br />
&nbsp;&nbsp;&nbsp; SG.Caption = List1.Text
</p>
<p>
	&nbsp;&nbsp;&nbsp; Select Case List1.ListIndex<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Case 0
</p>
<p>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SG.Label1.Caption = "李白"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SG.Text1.Text = "天门中断楚江开，" &amp; Chr(13) &amp; Chr(10) &amp; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "碧水东流至此回。" &amp; Chr(13) &amp; Chr(10) &amp; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "两岸青山相对出，" &amp; Chr(13) &amp; Chr(10) &amp; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "孤帆一片日边来。"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Case 1
</p>
<p>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SG.Label1.Caption = "李白"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SG.Text1.Text = "故人西辞黄鹤楼，" &amp; Chr(13) &amp; Chr(10) &amp; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "烟花三月下扬州" &amp; Chr(13) &amp; Chr(10) &amp; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "孤帆远影碧空尽，" &amp; Chr(13) &amp; Chr(10) &amp; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "唯见长江天际流。"
</p>
<p>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Case 2
</p>
<p>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SG.Label1.Caption = "崔颢"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SG.Text1.Text = "昔人已乘黄鹤去，" &amp; Chr(13) &amp; Chr(10) &amp; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "此地空余黄鹤楼。" &amp; Chr(13) &amp; Chr(10) &amp; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "黄鹤一去不复返，" &amp; Chr(13) &amp; Chr(10) &amp; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "白云千载空悠悠。" &amp; Chr(13) &amp; Chr(10) &amp; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "晴川历历汉阳树，" &amp; Chr(13) &amp; Chr(10) &amp; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "芳草萋萋鹦鹉洲。" &amp; Chr(13) &amp; Chr(10) &amp; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "日暮乡关何处是？" &amp; Chr(13) &amp; Chr(10) &amp; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "烟波江上使人愁。"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Case 3
</p>
<p>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SG.Label1.Caption = "杜甫"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SG.Text1.Text = "丞相祠堂何处寻，" &amp; Chr(13) &amp; Chr(10) &amp; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "锦官城外柏森森。" &amp; Chr(13) &amp; Chr(10) &amp; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "映阶碧草自春色，" &amp; Chr(13) &amp; Chr(10) &amp; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "隔叶黄鹂空好音。" &amp; Chr(13) &amp; Chr(10) &amp; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "三顾频烦天下计，" &amp; Chr(13) &amp; Chr(10) &amp; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "两朝开济老臣心。" &amp; Chr(13) &amp; Chr(10) &amp; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "出师未捷身先死，" &amp; Chr(13) &amp; Chr(10) &amp; _<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "长使英雄泪满襟。"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Case 4
</p>
<p>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Case 5
</p>
<p>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Case 6
</p>
<p>
	&nbsp;&nbsp;&nbsp; End Select
</p>
<p>
	&nbsp;&nbsp;&nbsp; SG.Show<br />
End Sub<br />
<br />
3.最后编写诗歌显示窗体（SG）<br />
窗体有三个控件：一个标签，用于显示诗歌作者，（作者名称就直接用窗体的Caption来显示了），一个文本框，用来显示诗歌，一个按钮，用于返回。<br />
<img alt="" src="http://www.wb98.com/vb1/zb_users/upload/2016/8/2016080311210596596.PNG" /><br />
<br />
编写代码如下：<br />
Private Sub Command1_Click()<br />
&nbsp;&nbsp;&nbsp; Unload Me<br />
End Sub
</p>
<p>
	Private Sub Form_Unload(Cancel As Integer)<br />
&nbsp;&nbsp;&nbsp; ListForm.Show<br />
End Sub<br />
<br />
最后运行程序，显示诗歌效果如下图所示。<br />
<img alt="" src="http://www.wb98.com/vb1/zb_users/upload/2016/8/20160803112256765676.PNG" />
</p>]]></description><category>VB程序设计教程第4版答案刘炳文</category><comments>http://www.wb98.com/vb1/post/vb_13.8.html#comment</comments><wfw:commentRss>http://www.wb98.com/vb1/feed.asp?cmt=63</wfw:commentRss></item><item><title>在窗体上画一个文本框和三个命令按钮，在文本框中输入一段文本（汉字），然后实现以下操作：(1)通过字体对话框把文本框中文本的字体设置为黑体，字体样式设置为粗斜体，字体大小设置为24。......</title><author>null@null.com (hyf64)</author><link>http://www.wb98.com/vb1/post/vb_12.6.html</link><pubDate>Fri, 29 Jul 2016 16:38:45 +0800</pubDate><guid>http://www.wb98.com/vb1/post/vb_12.6.html</guid><description><![CDATA[<p>
	在窗体上画一个文本框和三个命令按钮，在文本框中输入一段文本（汉字），然后实现以下操作：<br />
(1)通过字体对话框把文本框中文本的字体设置为黑体，字体样式设置为粗斜体，字体大小设置为24。该操作在第一个命令按钮的亊件过程中实现。<br />
(2)通过颜色对话框把文本框中文字的前景色设置为红色。该操作在第二个命令按钮的事件过程中实现。<br />
(3)通过颜色对话框把文本框中文字的背景色设置为黄色。该操作在第三个命令按钮的事件过程中实现。
</p>
<p>
	解：在窗体上画一个文本框、一个通用对话框和三个命令按钮，并把文本框的MultiLine属性设置为True。<br />
&nbsp;&nbsp;&nbsp; 编写如下事件过程：Private Sub Command1_Click()<br />
&nbsp;&nbsp;&nbsp; CommonDialog1.Flags = 3<br />
&nbsp;&nbsp;&nbsp; CommonDialog1.ShowFont<br />
&nbsp;&nbsp;&nbsp; Text1.FontName = CommonDialog1.FontName<br />
&nbsp;&nbsp;&nbsp; Text1.FontSize = CommonDialog1.FontSize<br />
&nbsp;&nbsp;&nbsp; Text1.FontBold = CommonDialog1.FontBold<br />
&nbsp;&nbsp;&nbsp; Text1.FontItalic = CommonDialog1.FontItalic<br />
&nbsp;&nbsp;&nbsp; Text1.FontUnderline = CommonDialog1.FontUnderline<br />
&nbsp;&nbsp;&nbsp; Text1.FontStrikethru = CommonDialog1.FontStrikethru<br />
End Sub
</p>
<p>
	Private Sub Command2_Click()<br />
&nbsp;&nbsp;&nbsp; CommonDialog1.Flags = vbccrgbinit<br />
&nbsp;&nbsp;&nbsp; CommonDialog1.Color = BackColor<br />
&nbsp;&nbsp;&nbsp; CommonDialog1.Action = 3<br />
&nbsp;&nbsp;&nbsp; Text1.ForeColor = CommonDialog1.Color<br />
End Sub
</p>
<p>
	Private Sub Command3_Click()<br />
&nbsp;&nbsp;&nbsp; CommonDialog1.Flags = vbccrgbinit<br />
&nbsp;&nbsp;&nbsp; CommonDialog1.Color = BackColor<br />
&nbsp;&nbsp;&nbsp; CommonDialog1.Action = 3<br />
&nbsp;&nbsp;&nbsp; Text1.BackColor = CommonDialog1.Color<br />
End Sub
</p>
<p>
	Private Sub Form_Load()<br />
&nbsp;&nbsp;&nbsp; Me.Caption = "设置文本框字体和颜色"<br />
&nbsp;&nbsp;&nbsp; Command1.Caption = "设置字体"<br />
&nbsp;&nbsp;&nbsp; Command2.Caption = "设置前景颜色"<br />
&nbsp;&nbsp;&nbsp; Command3.Caption = "设置背景颜色"<br />
&nbsp;&nbsp;&nbsp; msg = vbCrLf &amp; "诗情放，剑气豪。" &amp; vbCrLf &amp; "英雄不把穷通较。"<br />
&nbsp;&nbsp;&nbsp; msg = msg &amp; vbCrLf &amp; "江中斩蛟，云间射雕，席上挥毫。" &amp; vbCrLf<br />
&nbsp;&nbsp;&nbsp; msg = msg &amp; "他得志笑闲人，他失脚闲人笑。"<br />
&nbsp;&nbsp;&nbsp; Text1.Text = msg<br />
End Sub<br />
</p>
<p>
	运行结果如下图所示：<br />
<img alt="" src="http://www.wb98.com/vb1/zb_users/upload/2016/7/20160729164663826382.PNG" /><br />
<br />
</p>
<p>
	<span style="color:#2A2A2A;background-color:#FFFFFF;">*********************</span><br />
<span style="color:#2A2A2A;background-color:#FFFFFF;">新世纪计算机基础教育丛书 丛书主编：谭浩强</span><br />
<span style="color:#2A2A2A;background-color:#FFFFFF;">Visual Basic 程序设计教程 题解与上机指导（第四版） 刘炳文 编著</span>
</p>]]></description><category>VB程序设计教程第4版答案刘炳文</category><comments>http://www.wb98.com/vb1/post/vb_12.6.html#comment</comments><wfw:commentRss>http://www.wb98.com/vb1/feed.asp?cmt=62</wfw:commentRss></item></channel></rss>
