毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 计算机论文 >> 正文

VB唐诗选读系统设计论文 第4页

更新时间:2016-9-27:  来源:毕业论文
在这里用“【”来标识年级;用“《”来标识唐诗的名称;用“(”来标识作者;什么符号也没有标识内容。也正因为如此,所以,我们在后台程序编写的时候,必须要去掉每一行的空格,以免读取内容时出错。
添加模块Module,在模块中定义TangPoetry这个类及其属性,其属性包括标题、作者、年级、内容以及唐诗的总数量,并定义一个二文表,保存唐诗数据。本文来自优)文!论(文@网,毕业论文 www.youerw.com 加7位QQ324'9114找源文
主要程序代码集中在Form1中,针对按钮编写Click事件,因为增加了11个相同的按钮,所以VB自动创建了控件数组来存放这些按钮,我们可以通过index这个属性,来确定选择的是哪个按钮,并将按钮上的名称,也就是年级,赋给Form2 “显示唐诗名称”窗体中的Lable标签,在Lable中显示唐诗的名称。利用for循环查找唐诗,如果唐诗的年级这个属性=按钮上的年级,那么就把这首唐诗的题目添加到Form2的ListBox中,并显示出来。
首先要读入数据源,即我们上一节数据源的选择中所提到的文本文档部分。给Form1编写窗体载入事件End Sub当窗体载入时调用ReadTangText过程:
Private Sub Form_Load()
Call a
Call ReadTangText
End Sub
Private Sub ReadTangText()
Dim line As String
Dim CurInt As Integer
CurInt = 0
Open App.Path & "\小学唐诗选读.txt" For Input As #1
编写ReadTangText过程,读取全部唐诗到内存中,定义CurInt为唐诗下标,并初始化唐诗下标为0。添加Open App.Path & "\小学唐诗选读.txt" For Input As #1语句,载入数据源文件,也就是保存唐诗的文本文件,确保程序的数据来源。
编写窗体unload事件,Form1关闭时,触发事件,关闭Form2。
然后给按钮编写Click事件,添加Private Sub Command1_Click(Index As Integer)语句,因为增加了12个相同的按钮,所以VB自动创建了控件数组来存放这些按钮,我们可以通过index这个属性,来确定选择的是哪个按钮。将按钮上的名称,也就是年级,赋给窗体2,也就是“显示唐诗名称”这个窗体中的Label标签具体实现语句为Form2.Label1.Caption = Command1(Index).Caption。在这里还要添加From2中listbox的刷新语句Form2.List1.Clear,因为如果不刷新,会出现每点击一次button按钮,listbox中就会添加一次唐诗题目的情况。
在Do Until循环中,嵌套select case多重选择语句,来判断数据源是否符合选项条件。在这里不得不提到Trim()函数的作用,line = Trim(line)。函数的作用是去除空格,这一点是程序实现的很重要的一个细节。另外还有一个很重要的函数,就是Left(a,M)函数,主要代码是Select Case Left(line,1),它的作用是取出Line这个字符串中左数第一个字符,这个Select Case的语句的作用是根据line这个字符串作数第一个的字符,判断这一行是标题还是年级还是作者,或者是内容什么的。这两个函数的应用,决定了系统是否能够查找成功。
Select Case语句判断年级、标题、作者、内容的具体语句如下:
Select Case Left(line, 1)
Case "【"
recordofTangPoetry(0).Grade = Mid$(line, 2, Len(line) - 2)    
Case "《"
CurInt = CurInt + 1
recordofTangPoetry(0).TotalNum = CurInt
ReDim Preserve recordofTangPoetry(CurInt)
recordofTangPoetry(CurInt).Grade= recordofTangPoetry(0).Grade
recordofTangPoetry(CurInt).Title = Mid$(line, 2, Len(line) - 2)
Case "("
recordofTangPoetry(CurInt).Author = Mid$(line, 2, Len(line) - 2)
Case Else          
If line = vbCrLf Then
Else
recordofTangPoetry(CurInt).Content=recordofTangPoetry(CurInt).Content & line & vbCrLf
End If
End Select
这一部分是整个系统的核心内容,系统主要实现的查询搜索功能,都是由这一部分代码体现的。这里利用Left(line, 1)函数取出每一行中左数第一个字符,如果是本文来自优)文!论(文@网,毕业论文 www.youerw.com 加7位QQ324'9114找源文【,说明这一行显示的是年级,是“《”则说明这一行是标题,遇到“(”则表示这一行是作者,若既不是不是题目、作者也不是年级的话,就只可能是内容或者空行。再做一个判断,如果该行取到的是换行符,那么不做任何操作。否则,说明这一行是唐诗内容,就将这一行的内容和之前的唐诗题目、作者连接起来。而Mid$(line, 2, Len(line) - 2)函数的作用是从line这个字符串中读取从第2个到第len(line)-2个字符,将读取的年级赋给中间变量。CurInt是定义的表示唐诗下标的量,若遇到标题,则说明唐诗的数量增加了,故而CurInt = CurInt + 1。因为每查找一首唐诗,唐诗的总数量就要增加,相应的,存放唐诗的数组就要扩充,所以添加ReDim Preserve recordofTangPoetry(CurInt)语句,扩充数组并保存数据。
在Form2中,编写unload事件,当Form2关闭时,关闭Form3。在这里,要创建一个 List1_DblClick() 事件,也就是List的双击事件,当用户对着listbox(列表框)双击鼠标时,同时触发dblclick(双击事件)和click(单击事件),只是我们希望只有在双击列表框的内容的时候,才触发事件,所以这里用了dblclick事件。利用For循环,将唐诗的标题、作者、内容全部都显示在Form3的TextBox中

上一页  [1] [2] [3] [4] 

VB唐诗选读系统设计论文 第4页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。