汽车零部件查询系统设计说明书.docx
《汽车零部件查询系统设计说明书.docx》由会员分享,可在线阅读,更多相关《汽车零部件查询系统设计说明书.docx(44页珍藏版)》请在冰豆网上搜索。
汽车零部件查询系统设计说明书
交通与汽车工程学院
课程设计说明书
课程名称:
计算机应用基础课程设计
课程代码:
6011339
题目:
汽车零部件查询系统设计
年级/专业/班:
学生姓名:
学 号:
开始时间:
2012年4月1日
完成时间:
2012年4月12日
课程设计成绩:
学习态度及平时成绩(30)
技术水平与实际能力(20)
创新(5)
说明书(计算书、图纸、分析报告)撰写质量(45)
总分(100)
指导教师签名:
年月日
摘要…………………………………………………………………………………………1
1引言…………………………………………………………………………………………
2方案设计…………………………………………………………………………………
2.汽车零部件查询模拟系统方案设计……………………………………………………5
2.1.1系统功能描述………………………………………………………………………5
2.1.2系统结构分析………………………………………………………………………5
2.1.3系统流程分析………………………………………………………………………5
2.2程序界面和代码设计…………………………………………………………………6
2.2.1系统工程设计框架…………………………………………………………………6
2.2.2系统各界面设计及代码设计………………………………………………………8
3结果分析………………………………………………………………………………33
结论………………………………………………………………………………………45
致………………………………………………………………………………………46
参考文献…………………………………………………………………………………47
摘要
随着计算机的普及,计算机高级语言已经运用到生活中的各个方面,本次课程设计使用VB语言作为开发工具,进行了汽车零部件查询系统的程序设计,该程序能实现汽车零部件查询模拟功能,进行汽车零部件的查询,修改,添加等操作,查询结果简便明了,运行界面清晰实用,操作方便,易于实际处理。
关键词:
网络化计算机对策VB语言汽车零部件查询程序
1引言
1.1问题的提出
随着计算机的普及,网络进入大众的家庭。
VB一种可视化的、面向对象和采用事件驱动方式的高级程序设计语言,可用于开发Windows环境下的各类应用程序。
本次课程设计主要容就是使用VB编制简单、实用的小程序,以巩固我们所学的计算机VB语言知识,提高分析问题和解决问题的能力,锻炼我们独立动手的能力。
1.2任务与分析
本课题主要的目的是为了检测步进电机步距角误差,并把误差进行分析计算,最终得到一份误差数据,用误差曲线的方式在坐标上面把误差和步数结果表现出来,方便日后对误差的分析、误差的减少讨论出相应的方案…
2设计方案
首先根据题目要求设计合理界面,确定哪些控件会用到,要考虑到操作的方便性和美观性。
再按题目的功能要求编写对象的事件代码,并其逐一进行调试和修改。
…
2.1系统总体方案的设计
2.1.1系统的驱动控制方案设计
根据设计要求,程序要达到的功能如下:
(1)、用随机文件建立汽车零部件和管理员的信息档案;
(2)、读出汽车零部件的信息,显示在列表框中;
(3)、能实现汽车零部件及管理员的信息的查询,修改,添加,删除等操作;
(4)、对汽车零部件搜索。
2.1.2系统结构分析
根据上面对系统功能的描述,构建出系统的总体功能结构图,如图1所示
汽车零部件查询系统
对管理员信息的维护
对汽车零部件信息的维护
对汽车零部件搜索
对汽车零部件的查询
使用说明
图1系统的总体功能结构图
2.1.3系统流程分析
本系统运行后从欢迎(登录)界面进入主界面。
程序的主要工作流程图如图2所示。
用户登录
读取用户数据并登录
开始
失败
重试3次
操作主界面
(1).卡片式
(2).列表框式
查询零件
精确或粗略搜索
搜索零件
1.添加数据2.删除数据3.修改数据
管理员数据
1.添加数据2.删除数据3.修改数据
零件管理
图2系统主要流程图
2.2程序界面和代码设计
2.2.1系统工程设计框架
在设计程序之前,应先布局整个工程。
本系统可设立一个工程文件,取名汽车零部件查询系统.vbp,该工程中包括1个模块文件,11个窗体文件,如图3所示。
图3工程容
模块代码如下:
Dimh
Typeqiche
pjAsString*10
ljxhAsString*10
sychAsString*10
jgAsString*10
fbAsString*10
rqAsString*10
dwAsString*10
EndType
DimcarsAsqiche
Typemanager
bhAsString*10
xbAsVariant
xmAsVariant
mmAsString*10
EndType
DimpersAsmanager
Subsave()
KillApp.Path+"\mag.dat"
OpenApp.Path+"\mag.dat"ForRandomAs#1
Fori=0ToForm4.List1.ListCount-1
pers.bh=Form4.List1.List(i)
pers.xb=Form4.List2.List(i)
pers.xm=Form4.List3.List(i)
pers.mm=Form4.List4.List(i)
Put#1,i+1,pers
Nexti
Close
EndSub
Subxishi(p)
Form10.Text5(0)=""
Form10.Text5
(1)=""
Form10.Text5
(2)=""
Form10.Text5(3)=""
Form10.Text5(4)=""
Form10.Text5(5)=""
Form10.Text5(0)=Form12.List1(0).List(p)
Form10.Text5
(1)=Form12.List1
(1).List(p)
Form10.Text5
(2)=Form12.List1
(2).List(p)
Form10.Text5(3)=Form12.List1(3).List(p)
Form10.Text5(4)=Form12.List1(4).List(p)
Form10.Text5(5)=Form12.List1(5).List(p)
EndSub
2.2.2系统各界面设计
根据功能不同,在本系统中设计了11个窗体。
(1)欢迎界面
欢迎界面的主要功能是让用户了解程序软件的用途
(2)用户登录界面
用户登录界面的功能是让管理员进入系统,防止非工作人员进入。
用户登录主界面如图5所示
图5登录界面
登录页面主要代码如下:
DimpersAsmanager
PrivateSubCommand1_Click()'登录系统按钮
StatictAsInteger
f=False
IfText2.Text=""OrText1=""Then
MsgBox"请填写完整的个人信息"
EndIf
IfText2.Text<>""Then
OpenApp.Path+"\mag.dat"ForRandomAs#1
n=LOF
(1)/Len(pers)
DoWhileNotEOF
(1)
Get#1,,pers
IfTrim(Text2.Text)=Trim(pers.bh)Then
f=True
Form3.Show
UnloadForm2
ExitDo
EndIf
Loop
Close
Iff=FalseThen
t=t+1
Ift<3Then
MsgBox"用户不存在,请重新输入!
",vbOKOnly+vbInformation,"用户名错误"
Else
MsgBox"重试次数已到,即将退出本系统!
",vbOKOnly+vbExclamation,"用户名错误"
End
ExitSub
EndIf
EndIf
EndIf
EndSub
PrivateSubCommand2_Click()'结束按钮
End
EndSub
(3)主界面一如图6所示
主界面的功能是展示出系统软件的功能,使用户一目了然。
图6主界面
主要代码如下:
DimcarsAsqiche’通用定义代码
Dima(5)
PrivateSubForm_Load()
Frame1.Visible=False
List2.Visible=False
EndSub
PrivateSubbz_Click()’查看系统帮助
Form9.Show
EndSub
PrivateSubss_Click()‘搜索零件
List2.Visible=True
Frame1.Visible=True
List2.Visible=NotList2.Visible
List2.Clear
EndSub
PrivateSubCommand1_Click()’依照零件信息对零件搜索
Fori=0To4
IfCombo1(i).Text=""Then
Forj=0ToForm12.List1(i).ListCount-1
List3(i).AddItemForm12.List1(i).List(j)
Nextj
Else
t=i
Callhunt(t)
EndIf
Nexti
IfText1<>""AndText2<>""Then
Callhunt2
ElseIfText1=""AndText2<>""ThenText1=0:
Callhunt2
ElseIfText1<>""AndText2=""ThenText2=10^10:
Callhunt2
Else
Forj=0ToForm12.List1(5).ListCount-1
List3(5).AddItemForm12.List1(5).List(j)
Nextj
EndIf
Fork=0To5
m=List3(k).ListCount
Forj=0Tom
IfList3(k).List(j)<>""Then
a(k)=a(k)+1
EndIf
Nextj
Nextk
Max=a(0)
Fori=1To5
Ifa(i)>MaxThen
Max=a(i)
EndIf
Nexti
Fork=0ToVal(Max)
IfList3(0).List(k)<>""AndList3
(1).List(k)<>""AndList3
(2).List(k)<>""AndList3(3).List(k)<>""AndList3(4).List(k)<>""AndList3(5).List(k)<>""Then
List2.AddItemList3(0).List(k)&List3
(1).List(k)&List3
(2).List(k)&List3(3).List(k)&List3(4).List(k)&List3(5).List(k)
EndIf
Nextk
Frame1.Visible=False
List2.Visible=True
EndSub
Subhunt(t)
Fori=0ToForm12.List1(t).ListCount-1
IfTrim(Combo1(t).Text)=Trim(Form12.List1(t).List(i))Then
List3(t).AddItemForm12.List1(t).List(i),i
Else
List3(t).AddItem"",i
EndIf
Nexti
EndSub
Subhunt2()
Fori=0ToList1(5).ListCount-1
IfVal(Text1)Val(List1(5).List(i))Then
List3(5).AddItemList1(5).List(i),i
Else
List3(5).AddItem"",i
EndIf
Nexti
EndSub
PrivateSubCommand2_Click()‘退出搜索零部件
Frame1.Visible=False
EndSub
PrivateSubglsj_Click()‘打开管理员数据管理功能
Form4.Show
EndSub
PrivateSubbk_Click()‘表框式查询零部件
Form10.Show
Form10.Frame1.Visible=True
EndSub
PrivateSubkp_Click()‘卡片式查询零部件
Form10.Show
Form10.Frame2.Visible=True
EndSub
PrivateSubljgl_Click()‘打开零部件数据管理功能
Form12.Show
EndSub
PrivateSubtc_Click()‘退出系统
End
EndSub
(4)主界面二如图7所示
图7主界面
主要代码如下:
1.卡片式零件查询:
Dimq
(1).查看上一个零件的代码如下:
PrivateSubCommand1_Click()
StaticqAsInteger
Ifq=-1Thenq=List2.ListCount-1
p=Val(List2.List(q))
Callxishi(p)
q=q-1
EndSub
(2)查看下一个零件代码如下:
PrivateSubCommand2_Click()
StaticqAsInteger
Ifq>List2.ListCount-1Thenq=0
p=Val(List2.List(q))
Callxishi(p)
q=q+1
Command1.Enabled=True
EndSub
(3)退出卡片式查询代码如下:
PrivateSubCommand3_Click()
Form3.Show
UnloadMe
EndSub
(4)查看第一个零件代码如下:
PrivateSubCommand4_Click()
p=Val(List2.List(0))
Callxishi(p)
EndSub
(5)查看最后一个零件代码如下:
PrivateSubCommand5_Click()
p=Val(List2.List(List2.ListCount-1))
Callxishi(p)
EndSub
(6)卡片式配件框发生改变代码如下:
PrivateSubText3_Change()
List2.Clear
Fori=0ToForm12.List1(0).ListCount-1
IfText3<>""AndText4=""Then
IfTrim(Text3)=Trim(Form12.List1(0).List(i))Then
List2.AddItemi
EndIf
EndIf
IfText3<>""AndText4<>""Then
IfTrim(Form12.List1(0).List(i))=Trim(Text3)AndTrim(Form12.List1
(1).List(i))=Trim(Text4)Then
List2.AddItemi
EndIf
EndIf
Nexti
IfList2.ListCount>0Then
List2.ListIndex=0
p=Val(List2.Text)
Callxishi(p)
Else
Text5(0)=""
Text5
(1)=""
Text5
(2)=""
Text5(3)=""
Text5(4)=""
Text5(5)=""
EndIf
IfList2.ListCount>1ThenCommand2.Enabled=True
EndSub
(7)卡片式零件型号框发生改变代码如下:
PrivateSubText4_Change()
List2.Clear
Fori=0ToForm12.List1(0).ListCount-1
IfText4<>""AndText3=""Then
IfTrim(Text4)=Trim(Form12.List1
(1).List(i))Then
List2.AddItemi
EndIf
EndIf
IfText3<>""AndText4<>""Then
IfTrim(Form12.List1(0).List(i))=Trim(Text3)AndTrim(Form12.List1
(1).List(i))=Trim(Text4)Then
List2.AddItemi
EndIf
EndIf
Nexti
IfList2.ListCount>0Then
List2.ListIndex=0
p=Val(List2.Text)
Callxishi(p)
Else
Text5(0)=""
Text5
(1)=""
Text5
(2)=""
Text5(3)=""
Text5(4)=""
Text5(5)=""
EndIf
IfList2.ListCount>1ThenCommand2.Enabled=True
EndSub
2.列表框式零件查询:
(1)列表框式配件框发生改变代码如下:
PrivateSubText1_Change()
List1.Clear
List1.AddItem"配件"&""&""&"零件型号"&""&""&"适用车型"&""&""&""&""&"发布日期"&""&""&""&"单位"&""&""&""&""&""&"价格"
Fori=0ToForm12.List1(0).ListCount-1
IfText1<>""AndText2=""Then
IfTrim(Form12.List1(0).List(i))=Trim(Text1)Then
List1.AddItemForm12.List1(0).List(i)&Form12.List1
(1).List(i)&Form12.List1
(2).List(i)&Form12.List1(3).List(i)&Form12.List1(4).List(i)&Form12.List1(5).List(i)
EndIf
EndIf
IfText1<>""AndText2<>""Then
IfTrim(Form12.List1(0).List(i))=Trim(Text1)AndTrim(Form12.List1
(1).List(i))=Trim(Text2)Then
List1.AddItemForm12.List1(0).List(i)&Form12.List1
(1).List(i)&Form12.List1
(2).List(i)&Form12.List1(3).List(i)&Form12.List1(4).List(i)&Form12.List1(5).List(i)
EndIf
EndIf
Nexti
EndSub
(2)列表框式零件型号框发生改变代码如下:
PrivateSubText2_Change()
List1.Clear
List1.AddItem"配件"&""&""&"零件型号"&""&""&"适用车型"&""&""&""&""&"发布日期"&""&""&""&"单位"&""&""&""&""&""&"价格"
Fori=0ToForm12.List1(0).ListCount-1
IfText1=""AndText2<>""Then
IfTrim(Form12.List1
(1).List(i))=Trim(Text2)Then
List1.AddItemForm12.List1(0).List(i)&Form12.List1
(1).List(i)&Form12.List1
(2).List(i)&Form12.List1(3).List(i)&Form12.List1(4).List(i)&Form12.List1(5).List(i)
EndIf
EndIf
IfText1<>""AndText2<>""Then
IfTrim(Form12.List1(0).List(i))=Trim(Text1)AndTrim(Form12.List1
(1).List(i))=Trim(Text2)Then
List1.AddItemForm12.List1(0).List(i)&Form12.List1
(1).List(i)&Form12.List1
(2).List(i)&Form12.List1(3).List(i)&Form12.List1(4).List(i)&Form12.List1(5).List(i)
EndIf
EndIf
Nexti
EndSub
(5)主界面三如图8所示
图8主界面
主要代码如下