首页 列车时刻表查询vb代码及课程设计报告

列车时刻表查询vb代码及课程设计报告

举报
开通vip

列车时刻表查询vb代码及课程设计报告Visual Basic 课 程 设 计 报 告 所属课程名称:Visual Basic程序设计 课程设计题号:题目9 课程设计题目:列车时刻查询 课程设计难度:★★ 课程设计时间:2014.2.23 ~ 4.9 学  号:9 姓  名:林鑫 自评成绩:90分 0 南京理工大学机械工程学院 二〇一四年三月 一、 程序功能 涉及知识点:(1)读文本文件;(2)动态数组(3)字符串处理(4)列表框控件的使用(4)多行文本框控件的使用 功能要求: (1) 程序启动后,左边的列表框显示所有的车次,点击其中一项,显示...

列车时刻表查询vb代码及课程设计报告
Visual Basic 课 程 设 计 报 告 所属课程名称:Visual Basic程序设计 课程设计题号:题目9 课程设计题目:列车时刻查询 课程设计难度:★★ 课程设计时间:2014.2.23 ~ 4.9 学  号:9 姓  名:林鑫 自评成绩:90分 0 南京理工大学机械工程学院 二〇一四年三月 一、 程序功能 涉及 知识点 高中化学知识点免费下载体育概论知识点下载名人传知识点免费下载线性代数知识点汇总下载高中化学知识点免费下载 :(1)读文本文件;(2)动态数组(3)字符串处理(4)列表框控件的使用(4)多行文本框控件的使用 功能要求: (1) 程序启动后,左边的列表框显示所有的车次,点击其中一项,显示相应的详细信息。 (2) 在“经停车站”组合框中选择或输入一个站名然后回车,列表框中只列出经过该车站的车次。单击列表框下方的“显示全部车次”按钮,列表框中重新列出所有车次。 (3) 文本框(或右边的列表框)中详细信息整齐排列。 二、 课程设计的详细设计 1、 总体设计思路 先将信息读入到两个动态数组中,再根据相关的事件调用数组。 2、界面设计 界面有frame,list,combol,text,command,label. 3、功能模块设计 三、 设计中遇到的问题与解决办法 【问题1】:在读取文件的过程中,我选择的是正行的读取,如何将正行读取的 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 分开,并且显示一部分的内容,程序中很多地方都需要用到靠特定的分隔符,把字符串拆开。 【解决办法】:在课本上提供了可以分解字符串的通用过程,我将它运用到自己的程序中。 【问题2】:显示车次详细信息的时候,如何让时间,站点都需要对齐。 【解决办法】:依靠len()函数及space()函数,对中间的空格进行确定,其中的中文字符相当于两个空格字符。 【问题3】:在程序中要多次调用文本文件中的内容,如何不需要多次读写文件。 【解决办法】:依靠动态数组在窗体第一次加载的时候就把相关的信息度入动态数组中。其中要多次redim数组,而且需要preserve。 四、 更上一层楼 在改进版中点击右边列表框中的站点在左侧的列表框即可显示经过该站点的车次。 五、 课程设计 总结 初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf (1) 整体的功能还是实现了,运行应该是没有问题的。 (2) 在做这次课程设计的过程中,我深刻领悟到实践的重要性,看似困难的课程设计,一下一下来,问题一个一个解决,最后回首会觉得自己懂得了好多好多。 (3) 我也知道了,不能光靠自己的课本,要借助网络快速的查找自己所需要的知识点。 六、 源程序代码 Option explicit Public n As Integer, ashu As Integer, cshu As Integer Private a() As String, c() As String Public Function dividestring(s As String, d As String, a() As String) As Integer Dim i As Integer, j As Integer, num As Integer ' 分解字符串的函数过程 i = InStr(s, d) j = 1 Do While i > 1 num = num + 1 ReDim Preserve a(num) a(num) = Mid(s, j, i - j) j = i + 1 i = InStr(j, s, d) Loop num = num + 1 ReDim Preserve a(num) a(num) = Mid(s, j, Len(s) - j + 1) dividestring = num End Function '单击复选框,左下方出现相应车次 Private Sub Combo1_click() Dim i As Integer, j As Integer, e As Integer, zf() As String Textout.Text = "" List1.Clear For j = 1 To cshu i = dividestring(c(j), ",", zf()) If zf(1) = Combo1.Text Then e = j Do While c(e) <> "*" e = e - 1 Loop List1.AddItem c(e + 1) & "次" Erase zf() End If Next j End Sub '单击按钮,显示全部车次 Private Sub Command1_Click() Dim i As Integer, zf() As String, l As Integer List1.Clear For i = 1 To ashu l = dividestring(a(i), ",", zf()) List1.AddItem zf(1) & "次" Next i End Sub '可以搜索所有的途径车站 Private Sub Command2_Click() Dim a As String Textstart.Text = "" Textget.Text = "" Texttime.Text = "" Textgettime.Text = "" a = InputBox("请输入要搜索的城市", "搜索", "温州") If a = "" Then Exit Sub Dim i As Integer, j As Integer, e As Integer, zf() As String Textout.Text = "" List1.Clear For j = 1 To cshu i = dividestring(c(j), ",", zf()) If zf(1) = a Then e = j Do While c(e) <> "*" e = e - 1 Loop List1.AddItem c(e + 1) & "次" Erase zf() End If Next j If e = 0 Then Call MsgBox("没有相关城市内容", 16, "提示") End If End Sub Private Sub Form_Load() '将两个文件内容都储存在a(),c() 两数组中 Dim i As Integer, b() As String, l As Integer, j As Integer Open App.Path & "\content.txt" For Input As #1 Open App.Path & "\detail.txt" For Input As #2 Do j = j + 1 ReDim Preserve c(j) Line Input #2, c(j) If EOF(2) = True Then cshu = j Exit Do End If Loop Do i = i + 1 ReDim Preserve a(i) Line Input #1, a(i) If EOF(1) = True Then ashu = i Exit Do End If Loop ReDim Preserve a(i + 1) a(i + 1) = " " For i = 1 To ashu l = dividestring(a(i), ",", b()) List1.AddItem b(1) & "次" Next i Close End Sub Private Sub List1_Click() Dim i As Integer, q() As String, l As Integer, j As Integer Dim e As Integer, w As Integer Dim r As Integer, t As String, d() As String, Y As String, u As String Erase q() '显示起始站终点站以及时刻 For i = 1 To ashu l = dividestring(a(i), ",", q()) If q(1) & "次" = List1.Text Then Textstart.Text = q(2) Textget.Text = q(3) Texttime.Text = q(4) Textgettime.Text = q(5) End If Next '在右下方显示详细信息 For j = 1 To cshu If c(j) & "次" = List1.List(List1.ListIndex) Then e = j w = j Do While c(e) <> "*" e = e - 1 Loop Do While c(w) <> "*" w = w + 1 If c(w) = " " Then Exit Do Loop Textout.Text = "" For r = e + 2 To w - 1 l = dividestring(c(r), ",", d()) Y = d(1) & Space((8 - Len(d(1))) * 2) u = Space((9 - Len(d(2)))) & d(2) t = Space((19 - Len(d(3)))) & d(3) If Textout.Text = "" Then
本文档为【列车时刻表查询vb代码及课程设计报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_266065
暂无简介~
格式:doc
大小:26KB
软件:Word
页数:0
分类:工学
上传时间:2019-03-26
浏览量:1