汽车零部件查询系统设计说明书.docx
《汽车零部件查询系统设计说明书.docx》由会员分享,可在线阅读,更多相关《汽车零部件查询系统设计说明书.docx(39页珍藏版)》请在冰豆网上搜索。
汽车零部件查询系统设计说明书
汽车零部件查询系统设计说明书
交通与汽车工程学院
课程设计说明书
课程名称:
运算机应用基础课程设计
课程代码:
6011339
题目:
汽车零部件查询系统设计
年级/专业/班:
学生姓名:
学 号:
开始时间:
2020年4月1日
完成时间:
2020年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所示。
图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主界面
要紧代码如下:
DimcarsAsqiche‘通用代码
Dima(5)
(1)修改零件代码如下:
PrivateSubCommand1_Click()
IfList1(0).Text=""Then
MsgBox"请选择要修改的零件"
Else
Form7.Show