1、(二)项目管理器和数据库的建立1.项目管理器(1)什么是项目管理器项目管理器是 Visual Foxpro 开发应用系统的综合性平台,在这里可以建立数据库、表 单、菜单、程序、编译等。几乎每一个 VFP 6.0 的应用程序都是由数据库、查询、表单、报表、菜单、工具栏以及程序等大量的文件组成的,这些文件的集合叫做“项目”。在 VFP 6.0 里这些文件是由项目管 理器来实现管理和维护的,并且最终保存为具有扩展名 PJX 的项目文件。项目管理器是 VFP 6.0 的“控制中心”和应用程序运行的驱动器。项目管理器有 6 个选 项卡,分别是:全部、数据、文档、类、代码和其他,每个选项卡包含某一类文件,
2、如:“数据”选项卡包含了一个项目中的所有数据,如数据库、自由表、查询和视图等。“文档”选项 卡中包含了处理数据时的所有文档,如表单、报表和标签等。表单用于显示和编辑表的内容;报表是一种文件,它告诉 VFP 6.0 如何设置查询,以从表中提取结果以及如何将它们打印出 来;标签是打印在纸上的带有特殊格式的报表。其余选项卡主要用于为最终用户创建应用程序。(2)建立项目管理器 从“文件”菜单下选“新建”,在“新建”对话框中,选“项目”单选按钮,再单击“新建文件按钮”,给文件命名为“Hospital”,并保存在 D 盘的“医院管理”文件夹下。2.数据库的建立单击“Hospital”项目管理器的“数据”卡
3、,单击“数据库”,然后点击“新 建”按钮 单击“新建数据库”按钮,将数据库命名为“hospital”,并保存在 D 盘的“医院管理” 文件夹下,对随后出现的“数据库设计器”,直接关闭。(三)创建数据表和输入部分数据 数据库是有关联的数据表的集合,一般通过公共字段彼此关联。使用“数据库设计器”可以创建一个数据库。数据库文件的扩展名为.dbc。 数据库由多个相关联的数据表构成,数据表是整个系统的基础。数据表文件的扩展名为.dbf。查询被保存为带有.qpr 后缀的文件。1.创建数据表单击上图“hospital”左侧的“”号,展开后出现“表”、“本地视图”、“远程视图” 等,单击“表”,并单击右侧的“
4、新建”按钮。按以下表名和结构建立四个“表”,不要使用“向导”功能。表 1:apparatus.dbf 字段名类型宽度小数位数apparatus_id3apparatus_name10apparatus_price2appaeatus_quantityApparatus_rem40索引的设置:apparatus.dbf 按“apparatus_name”和“apparatus_id”升序普通索引表 2:bed.dbfroom_number字符型Bed_numberPatient_name bed.dbf 按“bed_number”、“room_number”、“patient_name”升序,并
5、设置为普通索引, 字段“patient_name”后NULL选项打钩。表 3:学生选课.dbf patient_name-patient_genderPatient_data_startPatient_deptPatient_satate20Patient_doc12Patient_roomPatient_bedpatient.dbf 按“patient_room”、“patient_doc”、“patient_dept”、“patient_gender”、“patient_name”、“patient_data_start”升序普通索引。4:potion.dbfPotion_id数值型Pot
6、ion_namePotion_price5Potion_quantityPotion_rempotion.dbf 按“potion_id”、“potion_name”升序普通索引 2.部分表输入数据(1)为“apparatus.dbf”输入数据可以在创建该表时,当提示“是否输入数据?”时回答“Y”,然后输入;也可以按以下 步骤输入:单击上图中的“apparatus”表,单击右侧的“浏览”按钮,进入浏览窗口。将“显示”菜单下的“追加方式”打上,然后就可输入数据了。实验二 建立主表单1.熟悉表单的概念、常用控件的用途、对象的属性等基础知识;2.掌握 Visual Foxpro 数据输入表单的建立过
7、程:首先是打开表单设计器,无论是新建 表单还是修改已有的表单,均可以通过菜单操作或专用的命令,或单击常用工具栏中的有关 按钮来打开表单设计器;接着是进行对象的操作与编码,可利用表单设计工具来完成;最后 是保存表单以及运行表单。1建立一个“医院管理系统”表单;2在表单上根据需要设计各控件,并为有关控件建立相应的应用程序;3在表单运行状态下输入数据。(一)打开项目管理器1.按实验一的方法启动 Visual Foxpro。2.打开项目管理器“Hosptial”文件 打开 找到文件“hosptial.PJX”,选中并按“确定”键。或:(二)建立主表单基础知识回顾1表单的概念、常用控件的用途、对象的属性
8、等表单一词译自英文的 FORM,表单在图形界面的应用软件中大量地获得应用,是人和程序 进行交互的重要界面。在软件中出现的对话框、向导、设计器等各类窗口,在 VFP 系统中均 可以通过创建表单来实现。表单是一个容器,可以在其中包含多个控件或菜单,还可以捆绑 数据环境。运行表单时,它所包含的所有控件都将被加载,同时数据环境中的表和视图等也 自动打开。如果一个程序要同时运行多个表单,这时可以创建表单集。表单集也是一个容器, 它可以包含一个或多个表单,这些表单在表单集运行时,将自动加载,它们共享一个数据环 境,并可以根据需要显示、隐藏、移动或切换其中的某个或某些表单。VFP 提供三种表单设 计工具表单
9、向导、表单设计器和快速表单。在本实验教材中,我们用表单设计器来创建 表单。对象是构成程序的基本单位和运行实体,就是软件中所看到的表单、文本框、按钮、标 签等,可放在表单内的对象,如按钮、文本框等常被称为控件。常用的控件有组合框、标签、 文本框、列表框、形状、复选框、线条、图像、命令按钮、编辑框等。对象的属性用来表示 它的特征,对于属性的设置,有些必须在属性窗口中进行,有些只需作适当的拖动即可,比 如长、宽、位置。2数据输入表单的建立过程Visual Foxpro 数据输入表单的建立过程,首先是打开表单设计器,无论是新建表单还 是修改已有的表单,均可以通过菜单操作或专用的命令,或单击常用工具栏中
10、的有关按钮来 打开表达设计器,接着是进行对象的操作与编码,可利用表单设计工具来完成,最后是保存 表单以及运行表单。3VFP 提供的表单设计工具VFP 提供下列表单设计工具供程序员选择使用(如图 2-1 所示)。表单设计器窗口及其表 单窗口:其中表单设计器窗口中的 Form1 即表单对象,称为表单窗口。多数设计工作将在表 单窗口进行,包括往窗口内添加对象(控件),并对各种对象进行操作与编码。属性窗口:用 于设置修改表单及其包含的对象属性。代码编辑窗口:可为对象添加各种事件代码和方法程 序代码。表单工具栏:包括如下四种表单设计工具栏,(1)表单控件工具栏:用于在表单上添 加文本框或按钮等各类控件,
11、(2)表单设计器工具栏:该工具栏包括的按钮用于打开或关闭数 据环境对话框、设置 tab 键次序、属性窗口、代码窗口、表单控件工具栏、调色板工具栏、 布局工具栏、表单生成器和自动格式工具栏等,(3)布局工具栏:用于对齐、放置控件以及 调整控件大小等,(4)调色板工具栏:用于指定某个控件的前景色或背景色等。数据环境设 计器窗口:用于设计表单的数据环境。工具栏的显示可在系统“显示”菜单中设置,也可以 直接单击“表单设计器工具栏”中相应的按钮。利用表单设计器设计“医院管理系统”表单1.进入表单设计界面单击项目管理器上方的“文档”选项卡。单击“表单”,再单击右边的“新建”,进入表单设计界面。单击窗口右上
12、角最大化按钮,使“表单设计main.SCX”窗口最大化。移动鼠标,适当放大表单窗口。激活“属性main.SCX”窗口,找到属性“CAPTION”,将原来的名字“Form1” 改名为“医院管理系统”。2.标题设置单击“表单控件”中的标签按钮,使其凹下去,此时鼠标变成十字形状,按住 鼠标左键在表单上方拖放,松开鼠标后,出现“Label1”标签。在“属性”窗口中找到对象“Label1”的“Caption”属性,改名为“欢迎进入医院管理系统”。设置字体、字号:在“属性”窗口中找到对象“Label1”的“FontName”属性,将其 设置为“楷体”,同时将“FontSize”属性设置为 24(号字)。适
13、当设置其背景色“BackColor”属性的值和前景色“ForeColor” 属性的值。方法为:找到“BackColor”属性,单击属性设置窗口右边的按钮,在打开的“颜色”窗口任 意自选一种颜色即可。“ForeColor” 属性的设置方法相同。在表单中用鼠标适当拖动“学生基本数据输入”,使其居于上部中间。3.命令按钮设置单击表单控件中的命令按钮然后再在表单中画一按钮,在属性窗口中,将命令按钮的CAPTION属性由员俩的“command”改为“住院部”同时将FontSize属性改为16,用同样的方法设置其他2个命令按钮:“药品仪器”、“退出”,适当调整各命令按钮的位置4.过程代码编辑双击“住院部”
14、按钮,进入对象与过程的代码编辑窗口。保证对象是Command2,过程是Click,在屏幕上键入do form hospitalformzyb然后关闭窗口,回到表单编辑状态。用同样的方法设计另外 62个命令按钮“药品仪器”、“退出”各命令按钮的 click 过程命令如下:药品仪器do form hospitalformypyq退出:thisform.releaseclear events关闭窗口,主表单设计完成。实验三 建立住院部表单1建立一个“住院部”表单;(一)进入项目管理器1按实验一的方法启动 Visual Foxpro2打开项目管理器“Hosptial”文件 打开 找到文件“Hospti
15、al.PJX”,选中并按“确定”键。(二)建立成绩输入表单1进入表单设计界面按“Ctrl+S”键保存表单,取名为“住院部”。单击窗口右上角最大化按钮,使“表单设计住院部.SCX”窗口最大化。激活“属性住院部.SCX”窗口,找到属性“CAPTION”,将原来的名字“Form1” 改名为“住院部”。2输入标题签单击表单控件中的标按钮,使其凹下去,此时鼠标变成十字形状,用鼠标在表 单上方拖放,松开鼠标后,出现“Label1”标签。在“属性”窗口中找到对象“Label1”的“Caption”属性,改名为“学生成绩输入”。3建立选项按钮组单击表单控件中的选项按钮组,使其凹下去,此时鼠标变成十字形状,用鼠
16、标在表 单上方拖放,松开鼠标后,出现option按钮组。单击“optiongroup1”对象,在属性窗口中为此对象设置属性值如下:Value-1Autosize-FBackstyle-1-不透明Borderstyle-固定单线Bottoncount-2Height-84Left-72Top-84Width-145单击“option1”对象,在属性窗口中为此对象设置属性caption为病床管理,单击“option2”对象,在属性窗口中为此对象设置属性caption为病人管理4.命令按钮设置单击表单控件中的命令按钮然后再在表单中画一按钮,在属性窗口中,将命令按钮的CAPTION属性由员俩的“com
17、mand”改为“确定”同时将FontSize属性改为16,用同样的方法设置其他2个命令按钮:“退出”,适当调整各命令按钮的位置5.过程代码编辑双击“确定”按钮,进入对象与过程的代码编辑窗口。保证对象是Command1,过程是Click,在屏幕上键入selename=thisform.optiongroup1.valueif selename=1 do form hospitalformbcglelse do form hospitalformbrglendif用同样的方法设计另外 “退出”关闭窗口,住院部表单设计完成。实验三 建立病床管理表单1熟悉表格在输入数据方面的应用;2掌握 Visual
18、 Foxpro 表格(Grid)的编辑方法。表单或页框中的页面均可以添加表格(Grid)控件,主要用于显示后台数据表中的字段,用户可以修改表格中的数据。表格(Grid) 控件由若干行和列组成,可以通过数据环境创建,也可以利用表格生成器创建;3掌握表格与数据表对应关系的建立方法。1建立一个“病床管理”表单,为表单设计输入数据所需的控件;2为表单设计应用所需的数据环境;3通过数据环境在表单上创建表格,并为有关控件建立相应的应用程序;(二)建立病床管理表单1.设置表格在属性窗口选择 form1,再单击表单控件中的容器按钮,在叶框中画一个容器在属性窗口选择 form1,再单击表单控件中的表格按钮,在容
19、器中画一表格,该表格名为 Grid1,立即在属性窗口中将其 ColumnCount 属性改为 4。接着对 Grid1 下的各部分作如下修改:Column1 下的 Header1 的 Caption 属性改为“房间号”; Column2 下的 Header1 的 Caption 属性改为“病床名”;Column3 下的 Header1 的 Caption 属性改为“病人姓名”;Column1 下的 text1 的Enabled 属性改为“F 假”;Column2 下的 text1 的Enabled 属性改为“F 假”;Column3 下的 text1 的Enabled 属性改为“F 假”;2.建
20、立组合框单击表单控件中的容器按钮,使其凹下去,此时鼠标变成十字形状,用鼠标在表单中上方拖放,松开鼠标后,出现“container”容器。单击表单控件中的组合框按钮,使其凹下去,此时鼠标变成十字形状,用鼠标在表单中上方拖放,松开鼠标后,出现“combo1”。以此类推。建立如图:4为组合框 Combo1 、2、3设置属性单击“Combo1”对象,在属性窗口中为此对象设置属性,设置如下:RowSource 101,102Rowsourcetype 1 默认值单击“Combo2”对象,在属性窗口中为此对象设置属性,设置如下:RowSource 1,2,3Rowsourcetype 1 值单击“Comb
21、o3”对象,在属性窗口中为此对象设置属性,设置如下:RowSource patient.patient_nameRowsourcetype 6 字段inroom=alltrim(bo1.value)inbed=alltrim(bo2.value)inpatient=alltrim(bo3.value)if empty(inroom) or empty(inbed) or empty(inpatient)messagebox(资料不足,48,错误)else sele bed set order to patient_na seek inpatient if found() cMessageTit
22、le=管理系统 cMessageText=该病人已经分配过病床,要修改吗? nDialogType=4+32 nAnswer=messagebox(cMessageText,nDialogType,cMessageTitle) do case case nAnswer=6 update bed set patient_name= where patient_name=inpatient sele patient locate for patient_room=inroom and patient_bed=inbed replace patient.patient_room with patie
23、nt.patient_bed with update bed set patient_name=inpatient where room_number=inroom and bed_number=inbed update patient set patient_room=inroom,patient_bed=inbed where patient_name=inpatient case nAnswer=7 endcase else update bed set patient_name=inpatient where room_number=inroom and bed_number=inbe
24、d update patient set patient_room=inroom,patient_bed=inbed where patient_name=inpatient endifthisform.container3.grid1.refresh用同样的方法设计另外 “确定清空”、“退出”确定清空if empty(inroom) or empty(inbed)确定要清空该病床的病人吗? case nAnswer=6 where room_number=inroom and bed_number=inbed update patient set patient_room=,patient_bed= where patient_room=inroom and patient_bed=inbed
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1