电子书.doc

上传人:小小飞 文档编号:5052306 上传时间:2020-01-30 格式:DOC 页数:12 大小:188KB
返回 下载 相关 举报
电子书.doc_第1页
第1页 / 共12页
电子书.doc_第2页
第2页 / 共12页
电子书.doc_第3页
第3页 / 共12页
电子书.doc_第4页
第4页 / 共12页
电子书.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《电子书.doc》由会员分享,可在线阅读,更多相关《电子书.doc(12页珍藏版)》请在三一文库上搜索。

1、 华 东 交 通 大 学 课程设计 学 号 _20110110010527_ 班 级 _土木五班_ 姓 名 _指导教师 _熊李艳_2012年6月18目 录一、标题二、需求分析4三、设计分析4四、关键技术6五、总结6六、完整的源程序16七、参考文献20 课程设计(论文)任务书 土木建筑 学院 土木工程 专业 五 班 一、课程设计(论文)题目 电子书 二、课程设计(论文)工作自 2012 年 6 月 10 日起至 12 年 6 月 14 日止。三、课程设计(论文) 地点: 计算中心 四、课程设计(论文)内容要求:1本课程设计的目的(1)使学生掌握系统各功能模块的基本工作原理; (2)培养学生掌握程

2、序设计的基本思路和方法; (3)使学生掌握程序调试方法;(4)培养学生分析、解决问题的能力;(5)提高学生的论文写作能力。 2课程设计的任务及要求1)基本要求:(1)分析系统各功能模块 ;(2)选用合适的控件及算法;(3)提出系统的设计方案; (4)对所设计程序进行调试。一、需求分析 1、设计电子书这个软件牵涉的知识点:1、读文本文件 2、字符串处理 3、通用对话框的使用 4 、动态数组的使用2、题目介绍本题目要求编制一个“电子书”应用程序,该程序可以打开指定格式的文件,显示文本中保存的文本内容,并以一种方便的形式供使用者阅读。3、 需要一个控件去连接磁盘,读取本地的文本文件。 用户界面友好,

3、功能明确,操作方便;可以增加其它功能或修饰快速准确找到电子书所在位置,确定路径。户界面中的菜单(或命令按钮)至少应包括“打开”、“上一个文本”、“下一个文本” 、“退出”4项文本格式包括.txt和.cnt两种。2 设计分析 这个软件一共需要三个控件,一个是LABELL,记录文件在哪里;一个是text1,用来显示文本,第三个控件是用来显示注释与译文。“计算器”界面如图1所示的。程序启动后,“目录”、“内容”和“注释与题解”中均为空(不显示任何内容),除了“打开”按钮之外,其他按钮均无效。单击“打开”按钮,显示如图2(图2是在Windows 7环境下截取的,若在Windows XP环境下,截图会稍

4、有不同,但都是“打开”对话框)所示的“打开”对话框,此对话框只显示扩展名为“.cnt”的电子书目录文件名。从“打开”对话框中选择一个目录文件(如“唐诗五十首.cnt”),单击“打开”按钮后,程序打开此目录文件和与其同名但扩展名为“.txt”的正文文件,显示电子书的目录与内容。图1图2(2)打开诗词文件之后(见图1),“目录”列表中显示电子书中目录,单击其中一条,“内容”框和“注释与题解”框中分别显示此篇文章的正文和注释、点评等内容。(3)只要有电子书打开,所有的按钮就都可以使用了。单击和,程序显示目录中前一篇或后一篇的内容。如果当前显示的是第一篇文章的内容,则无效,如果显示的是最后一篇文章的内

5、容,则按钮无效。(4)打开新的电子书文件后,旧的文件自动关闭。也可以单击按钮关闭当前电子书,这样就可以回到启动状态。(5)在打开电子书时,如果程序在目录文件的同一文件夹中找不到相应的正文文件(例如,有“唐诗五十首.cnt”文件而没有“唐诗五十首.txt”文件),则显示图3所示的消息框。3、 关键技术(1)、本题提供了“唐诗五十首”、“李白诗”、“杜甫诗”和“古代笑话”等4个电子书文件供大家调试程序使用。也可以按规定格式自制诗词文件由本程序显示并阅读。(2)、一个电子书由两个文件保存,二者的主文件名相同,扩展名分别为“.cnt”和“.txt”。例如唐诗五十首是由“唐诗五十首.cnt”和“唐诗五十

6、首.txt”共同定义的,二者均为文本文件且必须位于同一文件夹中。前者为目录文件,其中每一行是诗词的题目(如图4所示)。后者为正文文件,保存诗词的正文和注释、评点等内容。同一个电子书的目录文件和正文文件的内容和顺序相互对应。图4(3)正文文件中保存了电子书的详细内容。如图5所示,存储格式为:*正文1*正文1的注释、题解、点评等内容*正文2*正文2的注释、题解、点评等内容*正文n*正文n的注释、题解、点评等内容*在正文文件中,每篇文章的内容总是由一个星号“*”引导,且正文之后注释之前也有一个星号“*”隔开,整个文件的最后还有一个星号“*”。可见,如果一个电子书中有n篇位置,则其中会有2*n+1个星

7、号“*”。图5应注意的是,一个星号“*”不一定单独占一行,如图5所示。所以,正确地判断星号的位置是正确显示电子书内容的关键。(4)用“通用公共对话框”控件来显示“打开”对话框。4、 总结四、总结通过一周对VB课程设计,使我对VB程序设计的过程有了一个更加深入的了解,在原有知识的基础上得到了进一步的提高,对一些控件的运用能够更加熟练。在VB编程语言中比较重要的编程语句有了更加深刻的记忆。在同学的指导与帮助以及自己的努力下终于完成了我的课设题目:电子书.虽然在设计编程中遇到了一些问题与困难,但都以图书馆查资料或者请教同学的方式解决了,编程中充分认识到自己对于VB个控件使用熟练程度上和编程速度上的欠

8、缺,同时对于增进了对DriveListBox、DirListBox LABELLh和TEXT控件的掌握程度。同时我也了解了VB的出现是一场技术革命,它在生活中各个方面都能发挥巨大的作用,虽然我的专业不是学计算机,但通过对vb的学习,很好的锻炼了我的思考能力和仔细程度。5、 完整源代码Public strName As String 公共变量strName用于记录文件路径Private Sub CmdUpM_Click() If List1.Text = Then Exit Sub 若List1.Text为空字符则退出 Text1.Text = 将两文本框设为空字符 Text2.Text = L

9、ist1.ListIndex = List1.ListIndex - 1 选种条目号减一 If List1.ListIndex List1.ListCount - 1 Then int1 = 0 条目处于最后一个时循坏到第一个 List1.ListIndex = int1 再赋值给List1.ListIndex激发List1_Click事件End SubPrivate Sub CmdOpen_Click() Dim strL As String 用于读取目录 CommonDialog1.Filter = 目录文件(*.cnt)|*.cnt 设定文件类型 CommonDialog1.ShowOp

10、en 显示对话框 If CommonDialog1.FileName = Then Exit Sub 若按取消键则退出 List1.Clear 列表框清空 Text1.Text = Text2.Text = 将两文本框设为空字符 Form1.Caption = Mid(CommonDialog1.FileName, 1, Len(CommonDialog1.FileName) - 4) 使用Mid()函数改变窗体名称 strName = Mid(CommonDialog1.FileName, 1, Len(CommonDialog1.FileName) - 3) + txt 使用Mid()函数

11、将cnt文件改变为txt文件并作为字符串赋给strName Open CommonDialog1.FileName For Input As #1 打开目录文件 Do While Not EOF(1) 读写条目 Line Input #1, strL List1.AddItem strL Loop Close #1 关闭文件 1 List1.ListIndex = 0 开始时选中条目一激发Click事件End SubPrivate Sub List1_Click() Dim bln1 As Boolean 由于判断两种 *无注释* 语句 Dim str1 As String 用于读文件 Dim

12、 str2 As String 用于读*【注释】语句时将【注释】读出而不带* Dim i As Integer 用于记录*号数 Text1.Text = 将两文本框设为空字符 Text2.Text = Open strName For Input As #2 读文本文件 Do While Not EOF(2) 读写内容及注释 Line Input #2, str1 下面 If 语句用于记录*号数 If str1 = * Then * 单独一行 i = i + 1 ElseIf str1 = *【注释】 Then *【注释】 样式 i = i + 1 ElseIf str1 = *(无注释)*

13、Or str1 = *(无注释) * Then *(无注释)* 样式 bln1 = True i = i + 2 End If 下面If 语句用来写文件 If i = List1.ListIndex * 2 + 1 Then 每一诗词开始前的 * 号数 If str1 = * Or str1 = *(无注释) * Or str1 = *(无注释)* Then Text1.Text = 开始读诗时将Text1.Text清空 Else Text1.Text = Text1.Text + str1 + Chr(13) + Chr(10) 向Text1中增加诗词内容每加一句使用Chr()函数换行 En

14、d If ElseIf i = List1.ListIndex * 2 + 2 And str1 = *【注释】 Then *【注释】 样式 str2 = Mid(str1, 2, Len(str1) - 1) 将【注释】读出而不带* Text2.Text = Text2.Text + str2 + Chr(13) + Chr(10) 向Text2中增加文本内容 【注释】 ElseIf i = List1.ListIndex * 2 + 2 And str1 *【注释】 Then *【注释】 样式 Text2.Text = Text2.Text + str1 + Chr(13) + Chr(1

15、0) 向Text2中增加 *【注释】行之后的注释语句 ElseIf bln1 Then 开始对两种 *无注释* 语句进行判断 If i = List1.ListIndex * 2 + 3 And str1 = *(无注释)* Then *(无注释)* 样式 Text2.Text = Mid(str1, 2, Len(str1) - 2) ElseIf i = List1.ListIndex * 2 + 3 And str1 = *(无注释) * Then *(无注释)* 样式 Text2.Text = Mid(str1, 2, Len(str1) - 2) End If End If Loop Close #2 关闭文件 2End Sub6、 参考文献Visual Basic程序设计教程大学计算机基础

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物业管理


经营许可证编号:宁ICP备18001539号-1