区内医院地理信息管理系统毕业设计范例.docx
《区内医院地理信息管理系统毕业设计范例.docx》由会员分享,可在线阅读,更多相关《区内医院地理信息管理系统毕业设计范例.docx(19页珍藏版)》请在冰豆网上搜索。
![区内医院地理信息管理系统毕业设计范例.docx](https://file1.bdocx.com/fileroot1/2022-11/22/045266e1-49b3-44fc-995f-cbdad6593301/045266e1-49b3-44fc-995f-cbdad65933011.gif)
区内医院地理信息管理系统毕业设计范例
区内医院地理信息
管理系统
学院
专业
班级
学号
姓名
指导教师
教师职称
年
月
日
摘要
【摘要】
随着技术的发展,通过图形图像的形式来表达计算机系统信息内容和主题是其他表现方式所无法比拟的。
区内医院地理管理系统从其外在表现来说是一种功能强大的电子地图,操作方便灵活。
我们可以通过电脑地图直观地查询医院所在区位的地理信息位置、分布情况以及其他相关信息。
它迅速、直观、简洁、精准,为市民提供了更具人性化的服务。
基本上搭起了数字化基础框架平台。
使计算机系统的应用更直观、更容易理解和更生动形象化。
使现代化管理更上一个台阶。
区内医院地理管理系统,改变了长期以来广大市民靠地图来查询医院地理位置的模式,实现了基础的计算机动态管理。
我们还可以随时对区内医院地理位置的信息进行增加、删除以及变更。
为市民提供全方位的服务。
本系统将根据城市的地理位置对医院信息进行常规设置(包括添加、查看、修改、删除),方便用户查找详细的医院信息资源。
本系统在设计的时候应该满足以下几个目标:
●系统最大限度地实现了易安装性、易维护性和易操作性。
●系统运行稳定、安全可靠。
●软件结构清晰,功能一目了然。
●根据地理位置对医院进行添加及删除,方便顾客查看的同时也避免因医院发生变动给顾客带来不便。
●简单、快捷的医院信息查询。
●根据需要随时对医院详细信息进行增加、修改、删除等操作。
【关键词】电子地图区内医院地理信息管理系统
目录
摘要
目录
0引言
1需求分析
1.1需求分析
1.2可行性分析
2总体设计
2.1项目规划
2.2系统功能结构
3系统设计
3.1设计目标
3.2开发及运行环境
3.3数据库设计
4主要功能模块设计
4.1程序主界面的设计
4.2系统登录界面设计
4.3添加新医院模块程序设计
附录A参考文献
附录B数据表
附录C文件架构
0引言
随着技术的发展,通过图形图像的形式来表达计算机系统信息内容和主题是其他表现方式所无法比拟的。
区内医院地理管理系统从其外在表现来说是一种功能强大的电子地图,操作方便灵活。
我们可以通过电脑地图直观地查询医院所在区位的地理信息位置、分布情况以及其他相关信息。
它迅速、直观、简洁、精准,为市民提供了更具人性化的服务。
基本上搭起了数字化基础框架平台。
使计算机系统的应用更直观、更容易理解和更生动形象化。
使现代化管理更上一个台阶。
区内医院地理管理系统,改变了长期以来广大市民靠地图来查询医院地理位置的模式,实现了基础的计算机动态管理。
我们还可以随时对区内医院地理位置的信息进行增加、删除以及变更。
为市民提供全方位的服务。
1需求分析
1.1需求分析
通过市场调查,要求本系统具有以下功能:
●界面友好、操作方便灵活。
●强大的医院信息查询功能,最大限度地满足您的需要。
●规范、完善的基础信息设置。
●依据医院的变动情况对医院信息可增加、可删除,确保信息的准确。
1.2可行性分析
随着医疗事业的不断发展,为顾客提供方便、快捷、周到的查询服务已迫在眉捷,根据顾客的需求,本系统将地理位置与各大医院的实际情况结合,开发了功能强大的电子地图式医院信息管理系统,
功能强大的电子地图式信息查询系统,操作方便灵活,图形化显示界面是其他表现方式所无法比拟的,它将多系列、枯燥的数据源,通过图形的点,线,面表现方式,将数据迅速直观,简了又极其精确的表现出来,更深层次的提高了计算机应用管理水平。
是顾客搜寻医疗部门信息的首选。
2总体设计
2.1项目规划
区内医院地理信息管理系统是一个典型的医院信息查询系统,系统主要实现的功能包括:
医院的添加、删除以及对医院详细信息的添加、查看及修改。
以最大的限度满足顾客对医疗信息的需求。
规划系统功能模块如下:
●医疗部分的添加及删除
●对医院重命名
●添加及修改医院的详细信息
2.2系统功能结构
区内医院地理信息管理系统的功能结构如图1所示。
图1系统功能结构图
3系统设计
3.1设计目标
本系统将根据城市的地理位置对医院信息进行常规设置(包括添加、查看、修改、删除),方便用户查找详细的医院信息资源。
本系统在设计的时候应该满足以下几个目标:
●系统最大限度地实现了易安装性、易维护性和易操作性。
●系统运行稳定、安全可靠。
●软件结构清晰,功能一目了然。
●根据地理位置对医院进行添加及删除,方便顾客查看的同时也避免因医院发生变动给顾客带来不便。
●简单、快捷的医院信息查询。
●根据需要随时对医院详细信息进行增加、修改、删除等操作。
3.2开发及运行环境
系统开发平台:
MicrosoftVisualFoxPro6.0。
运行平台:
WindowsXP/Windows2000/Windows2003
分辨率:
最佳效果1024×768像素
3.3数据库设计
本系统采用的是VisualFoxPro自带的数据库,数据库文件名为database。
由于篇幅所限,关于数据库中的数据表请参见附录B。
4主要功能模块设计
4.1程序主界面的设计
程序主界面的设计的好坏往往会影响到软件的整体形象,因此首先要处理好主程序窗体的设计问题。
这一点非常重要,因此这使很多的程序开发者都付出自己很多的心思与汗水。
主程序窗体界面也包含着整个系统程序所要完成的主要功能。
区内医院地理管理系统主程序运行结果如图2所示。
图2主程序运行结果
1.表单设计
(1)新建一个表单,将表单的名称设置为“Form1”,BorderStyle属性设置为“3-可调边框(默认)”,设置Picture属性,为表单添加图片,设置Caption属性为“区内医院地理信息管理”,设置ShowWindown属性为“2-设为顶层表单”,设置TitleBar属性为“0-关闭”,设置WindowState属性为“2-最大化”,设置ShowTips属性为“True”。
(2)在表单上添加Shape控件、Timer控件、Image控件
(3)设置控件的属性,其重要属性如表1所示。
表1重要属性及值
对象
属性
值
Shape
BackStyle
透明
Timer
Enabled
True
Timer
Interval
0
Image
Stretch
0剪载(默认值)
Image
Picture
=sys(5)+sys(2003)+"\images\滚动\img_1.JPG"
Image
KeyPreview
.F.
Image
ShowWindow
2-作为顶层表单
Image
WindowState
2-最大化
2.代码设计
Map控件的Init事件中添加如下代码设置图片控件的picture属性。
This.Picture=Sys(5)+Sys(2003)+"\Images\长春.JPG"
Map控件的MouseDown事件的相关程序代码如下所示:
LPARAMETERSnButton,nShift,nXCoord,nYCoord
*获取鼠标的坐标值
cbuff=space(16)
mymouse=GetCursorPos(@cBuff)
MouseX=ASC(substr(cBuff,2,1))*256+ASC(substr(cBuff,1,1))
MouseY=ASC(substr(cBuff,6,1))*256+ASC(substr(cBuff,5,1))
Flag=.T.
*改变光标的形状
thisform.Map.MousePointer=99
thisform.Map.MouseICON=sys(5)+sys(2003)+"\Images\mycursor.CUR"
Map控件的MouseMove事件的相关程序代码如下所示:
LPARAMETERSnButton,nShift,nXCoord,nYCoord
MyX=nXCoord
MyY=nYCoord
Map控件的MouseUp事件的相关程序代码如下所示:
LPARAMETERSnButton,nShift,nXCoord,nYCoord
Flag=.F.
*恢复光标为系统默认光标
thisform.Map.MousePointer=0
Form1表单中的load事件的相关程序代码如下所示:
SetSafetyOFF
publicx,y,Down_x,Down_y,MouseX,MouseY,Flag,Ctrl_Count,MyX,MyY,Flag_Init
publicformname
formname=thisform
Store0ToMouseX,MouseY
DeclareintegerGetCursorPosinuser32String@lpPoint&&声明API函数
*获取鼠标的坐标值
cbuff=space(16)
mymouse=GetCursorPos(@cBuff)
MouseX=ASC(substr(cBuff,2,1))*256+ASC(substr(cBuff,1,1))
MouseY=ASC(substr(cBuff,6,1))*256+ASC(substr(cBuff,5,1))
Store.F.ToFlag,Flag_Init
Ctrl_Count=3
Timer1控件中的Timer事件的相关程序代码如下所示:
OpenDatabaseDatabase\Database.dbc&&打开数据库文件
UseDatabase\Tab_Create
*获取鼠标的坐标值
cbuff=space(16)
mymouse=GetCursorPos(@cBuff)
x=ASC(substr(cBuff,2,1))*256+ASC(substr(cBuff,1,1))
y=ASC(substr(cBuff,6,1))*256+ASC(substr(cBuff,5,1))
**************鼠标移动到屏幕边缘时,图片自动移动******************
ifX=0andthisform.Map.left<0
thisform.Map.left=thisform.Map.left+7&&地图向右移
GoTop
DoWhile!
Eof()
CtrlName=Alltrim(Tab_Create.名称)
Thisform.&CtrlName..Left=thisform.&CtrlName..left+7
SKIP
EndDo
endif
ifY=0andthisform.Map.top<0
thisform.Map.top=thisform.Map.top+7&&地图向下移
GoTop
DoWhile!
Eof()
CtrlName=Alltrim(Tab_Create.名称)
Thisform.&CtrlName..Top=thisform.&CtrlName..Top+7
SKIP
EndDo
endif
ifX>thisform.left+thisform.widthandthisform.Map.left+thisform.Map.width>thisform.width
thisform.Map.left=thisform.Map.left-7&&地图向左移
GoTop
DoWhile!
Eof()
CtrlName=Alltrim(Tab_Create.名称)
Thisform.&CtrlName..Left=thisform.&CtrlName..left-7
SKIP
EndDo
endif
ifY>thisform.top+thisform.heightandthisform.Map.top+thisform.Map.height>thisform.height
thisform.Map.top=thisform.Map.top-7&&地图向下移
GoTop
DoWhile!
Eof()
CtrlName=Alltrim(Tab_Create.名称)
Thisform.&CtrlName..Top=thisform.&CtrlName..Top-7
SKIP
EndDo
endif
****************拖动图时,图片跟随鼠标时实移动*********************
IfFlag=.T.
IfMouseX!
=XORMouseY!
=Y
thisform.Map.left=thisform.Map.left-MouseX+x
thisform.Map.top=thisform.Map.top-MouseY+y
*医院位置随地图移动
GoTop
DoWhile!
Eof()
CtrlName=Alltrim(Tab_Create.名称)
Thisform.&CtrlName..Left=thisform.&CtrlName..left-MouseX+x
Thisform.&CtrlName..Top=thisform.&CtrlName..Top-MouseY+y
SKIP
EndDo
*到左边界时
IfThisform.Map.Left>0
Thisform.Map.Left=0
GoTop
DoWhile!
Eof()
CtrlName=Alltrim(Tab_Create.名称)
Thisform.&CtrlName..Left=Tab_Create.X值-24
SKIP
EndDo
Endif
*到上边界时
IfThisform.Map.Top>0
Thisform.Map.Top=0
GoTop
DoWhile!
Eof()
CtrlName=Alltrim(Tab_Create.名称)
Thisform.&CtrlName..Top=Tab_Create.Y值-23
SKIP
EndDo
Endif
*到底边界时
IfABS(Thisform.Map.Top)+Thisform.Height>Thisform.Map.Height
Thisform.Map.Top=-(Thisform.Map.Height-Thisform.Height)
GoTop
DoWhile!
Eof()
CtrlName=Alltrim(Tab_Create.名称)
Thisform.&CtrlName..Top=Thisform.Height-(Thisform.Map.Height-Tab_Create.Y值)-23
SKIP
EndDo
Endif
*到右边界时
IfABS(Thisform.Map.Left)+Thisform.Width>Thisform.Map.Width
Thisform.Map.Left=-(Thisform.Map.Width-Thisform.Width)
GoTop
DoWhile!
Eof()
CtrlName=Alltrim(Tab_Create.名称)
Thisform.&CtrlName..Left=Thisform.Width-(Thisform.Map.Width-Tab_Create.X值)-24
SKIP
EndDo
Endif
MouseX=ASC(substr(cBuff,2,1))*256+ASC(substr(cBuff,1,1))
MouseY=ASC(substr(cBuff,6,1))*256+ASC(substr(cBuff,5,1))
Endif
Endif
Use
CloseDatabase
Timer2控件中的Timer事件的相关程序代码如下所示:
IfFlag_Init=.F.
SETPROCEDURETOMyProg&&打开过程文件
DoAddCtrlwiththisform&&调用过程显示医院信息
Flag_Init=.T.
Endif
This.Interval=0
4.2系统登录界面设计
运行区内医院地理管理程序时,将进入“系统登录”界面,其运行结果如图3所示。
图3系统登录运行结果
1.表单设计
(1)新建一个表单,将表单的名称设置为“Form1”,Caption属性设置为“系统登录”、AutoCenter属性为“True”,设置WindowState属性为“0-普通”,设置WindowType属性为“0-无模式”,设置ShowWindow属性为“2-作为顶层表单”。
(2)在表单中添加Label控件、Text控件、Command控件。
(3)设置表单、控件的属性,其重要属性如表2所示。
表2重要属性及值
对象
属性
值
Label
AutoSize
True
Text
BackStyle
1-不透明
Text
BorderColor
255,255,255
Text
SpecialEffect
1-平面
2.代码设计
登录按钮中的Click事件的相关代码如下所示:
ifempty(alltrim(thisform.manager.value))
messagebox("请输入管理员名称!
",48,"系统提示!
")
else
ifempty(thisform.PWD.value)
messagebox("请输入密码!
",48,"系统提示!
")
return
else
no=0
OpenDatabaseDatabase\Database.dbc&&打开数据库文件
UseDatabase\tab_manager
setexacton&&设置字符精确比较
locatfor管理员名称=alltrim(thisform.manager.value)&&定位记录
iffound()
ifalltrim(tab_manager.密码)==alltrim(thisform.PWD.value)
UserStatus=.T.
thisform.release
doformform/区内医院地理信息管理
else
no=no+1
ifno>=3
messagebox("登录失败!
",16,"系统提示!
")
_screen.visible=.t.
_screen.top=0
quit&&关闭表单
else
messagebox("您输入的密码不正确!
",16,"系统提示!
")
thisform.PWD.value=""
thisform.PWD.setfocus()
endif
endif
else
no=no+1
ifno>=3
messagebox("登录失败!
",16,"系统提示!
")
_screen.visible=.t.
_screen.top=0
quit&&关闭表单
else
messagebox("您输入的管理员名称错误!
",16,"系统提示!
")
thisform.manager.value=""
thisform.PWD.value=""
thisform.manager.setfocus()
endif
endif
endif
endif
use
CloseDatabase
取消按钮中的click事件下的相关程序代码如下所示:
thisform.manager.value=""
thisform.PWD.value=""
thisform.manager.setfocus()
普通用户进入按钮的click事件的相关程序代码如下所示:
thisform.release
UserStatus=.F.
doformform/区内医院地理信息管理
退出按钮的click事件的相关程序代码如下所示:
_screen.visible=.t.
_screen.top=0
quit&&关闭表单
4.3添加新医院模块程序设计
通过单击鼠标右键可以进行新医院的添加操作,此时将弹出一个添加新医院的窗体,在相应的文件框中输入所要添加的新医院名称,再单击“确定”按钮将成功地添加所指定的新医院。
添加新医院程序设计结果如图4所示。
图4添加新医院设计结果
1.表单设计
(1)新建一个表单,将窗体的名称设置为“Form1”,BorderStyle属性设置为“2-固定对话框”,设置Caption属性为“添加新医院”,设置ShowWindow属性设为“1-在顶层表单中”,设置WindwType属性为“1-模式”设置AutoCenter属性为“True”。
(2)在表单上添加Label控件、Text控件、Command控件。
(3)设置控件的属性,其重要属性如表3所示。
表3重要属性及值
对象
属性
值
Label
AutoSize
True
Text
SpecialEffect
0-3维
Command
ColorScheme
1-用户窗口
2.代码设计
通过单击确定按钮成功添加新医院,其关键代码如下所示:
If!
Empty(Alltrim(Thisform.Text1.Value))
HospitalName=Alltrim(Thisform.Text1.Value)
Thisform.Release
SETPROCEDURETOMyProg&&打开过程文件
DoCreateHospital&&调用过程创建新医院
Endif
附录A参考文献
1.《VisualBasic精彩编程200例》机械工业出版社赛奎春、高春艳等
2003年1月
2.《VisualBasic数据库开发实例解析》机械工业出版社刘志铭、高春艳等
2003年8月
3.《VisualFoxPro数据库开发实例解析》机械工业出版社王晶莹、王国辉等
2003年9月
4.《PowerBuilder数据库开发实例解析》机械工业出版社华传铭、张振坤等
2003年9月
5.《Delphi数据库开发实例解析》机械工业出版社赛奎春、郑骁鹏等
2004年2月
6.《PowerBuilder精彩编程200例》机械工业出版社张振坤、李文立等
2004年9月
7.《Visua