2011LIS实验上机操作指导 - 图文

更新时间:2024-03-04 10:46:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《物流信息系统》实验设计

上机操作指导 上机操作指导

(上机24学时,用PowerBuilder 8.0 或10.0开发工具)

重庆理工大学 工商管理学院 物流管理系 周 宏 2011-2-22 重庆理工大学 工商管理学院 物流管理系 周 宏 2011-2-22

部分参考教材:

1. 查先进.《物流信息系统》,东北财经大学出版社,2005.10 2. 黄梯云 主编,《管理信息系统》(第三版),高等教育出版社,2005.3 3. 陈景艳 主编,《管理信息系统》,中国铁道出版社,2001.5 4. <美>斯库塞斯 等著,《管理信息系统》,东北财经大学出版社,2000.10 5. 章祥荪 等编著《管理信息系统的系统理论与规划方法》,科学出版社,2001.3 6. 陈刚,董威,等编著,《PowerBuilder高级编程及其项目应用开放》,中国水利水电出版社,2003.7 7. 崔巍 主编,《PowerBuilder 7.0 使用指南》,清华大学出版社 2000.10 8. 王鹏 等编著,《PowerBuilder 7.0编程员指南》,北京希望电子出版社,2000.5 9. 胡存生 等编著,《PowerBuilder 7.0开发基础与范例》,电子工业出版社,2000.6 10.刘育楠 等编著,《PowerBuilder 7.0开发实例详解》,电子工业出版社,2000.5 11.张艳梅 主编,《PowerBuilder 7.0网络数据库》,北京邮电大学出版社,2000.4 12.http://www.sybase.com/products/internetappdevttools/powerbuilder

实验操作一 系统开发工具PowerBuilder

一、实验目的要求

初步了解什么是PowerBuilder,什么是PB画板(Painter);粗知用PB?开发管理信息系统过程和方法。

二、实验重点难点 PB的画板及其功能。

三、实验方式及时间分配 上机实习。共2学时。

四、演示实验与教具 微机演示。

五、实验提问 1、什么是PowerBuilder?

2、什么是PB画板(Painter)?它们有哪些功能? 3、什么是计算机局域网络?它是如何组成的? 4、什么是“客户机/服务器”模型?

六、实作要求:操作熟悉PowerBuilder。

七、实验内容

第一节 PowerBuilder认识

PowerBuilder 是一个图形界面形式的开发系统,?它是基于微机网络的“客户机/服务器”结构的一个应用程序开发环境,?一般是用于面向对象的应用程序开发。 图形界面: 用户看到并且用于操作和控制的微机屏幕(界面),是图形而不是字符。 微机网络: 一般是局域网络。简单网络的组成:服务器、工作站、网线、集线器(HUB)、收发器、网络操作系统,等等。 客户机/服务器结构: 网络中信息传输和处理的一种方式。?服务器是网络中信息传输和处理的中心,但客户机也承担较多的处理任务。

面向对象: 把要处理的事务定义为一些对象,然后针对这些对象来进行处理。每一个对象都可以有相应的程序,某个对象的程序规定这个对象的行为或功能。

PB用于开发具有视窗(Windows)风格的应用软件,?其本身也具有完全的视窗风格。 在每一个窗口中,有若干的按钮(图形表示)。每一个按钮图形都是可以按动的,一般是用鼠标点击(单击)来按动。可以用程序规定各个按钮的功能,以后,一旦按动某个按钮,就实现预先规定的相应功能。

第二节 PB画板(Painter)

PB的画板,是用于开发的工具。它由若干的按键或选项来调用,特定的一个按键或选项可调用某一种功能画板,在按键或选项上有代表该功能的图案。

多个按键排列在一起,成为一条,称为PowerBar。

一、画板功能简介

1、应用画板 Application Painter

应用,是一个实用系统的入口,也是这个实用系统所有层次和模块汇聚的“根”。应用本身是一个对象,它又包含、引导和调用系统中的其它对象。

应用画板的功能:

打开已经建立的应用;建立新的应用,定义应用程序的执行环境,规定应用程序用到的库文件;编写应用的脚本(程序),查看应用的结构,等等。

2、窗口画板 Window Painter

窗口是视窗风格的图形界面,它用于人机对话,是一个实用系统中的基本单元,通常用于完成这个实用系统的多项功能中的一种功能。

一个简单的窗口: 有一个数据显示窗,四个功能按钮。 ┌──────────────────────────┐ │ ┌───────────┐ ┌──┐ ┌──┐ │ │ │ │ │查询│ │添加│ │ │ │ 数据显示窗 │ └──┘ └──┘ │ │ │ │ ┌──┐ ┌──┐ │ │ │ │ │存储│ │退出│ │ │ └───────────┘ └──┘ └──┘ │ └──────────────────────────┘

要建造一个新的窗口,需要调用窗口画板;按动(单击)有窗口图案的选项,该画板即调出。

窗口画板的功能:

建立新的窗口,打开已经建立的窗口,规定或调整窗口的属性,建立窗口中的控件,如数据窗口控件、命令按钮、单选按钮、单行编辑框、多行编辑框、静态文本框等PB所定义的对象,编写窗口和窗口中其它对象的脚本,等等。

PB提供了大量控件供开发人员直接使用,其它的还有:复选框、编辑框、滚动条、列表框,TreeView(树形列表)控件、ListView(列表视图)控件、标签控件、各种绘图控件等。

3、菜单画板 Menu Painter

菜单,用于多种功能的选择。它是一个相对独立的基本对象。

菜单画板的功能:

建立新的下拉式菜单和工具栏,打开已经建立的菜单,编写菜单中各项调用不同窗口的相应脚本,规定或调整菜单的属性,等等。

菜单中的多个功能,可以用多个图形按钮来一一对应地实现。菜单对象可以用在窗口的菜单栏上(下拉式),也可作为应用程序的弹出式菜单。

4、数据窗口画板 DataWindow Painter 数据窗口,是人机对话最重要的对象,是数据在人与数据库之间输入输出的中间单元。一个数据窗口,用于完成系统中某一类数据的输入和输出。数据窗口对象十分重要。 数据窗口画板的功能:

建立新的数据窗口,打开已经建立的数据窗口,规定数据窗口调用数据库中的数据的要求,规定或调整数据窗口的属性,等等。

数据窗口能够智能地操纵数据库,它可以查询、修改数据库,不需要复杂的SQL编程;能够访问多种数据源,包括表、视图、查询、存储过程以及外部数据源等。

一个数据窗口有十几种显示格式。数据窗口由窗口中的数据窗口控件来控制。 注意: 窗口、数据窗口、数据窗口控件,是三个不同的概念,也是不同的对象。

窗口、数据窗口控件、数据窗口、数据库之间的关系: 好比墙面、画框、美术作品、作品收藏库之间的关系。墙面上可以挂画框,画框中可以选放不同的美术作品,而作品来源于作品收藏库。

窗口―――数据窗口控件―――数据窗口―――数据库 墙面 画框 美术作品 作品收藏库 挂在墙面上 放在画框中 存放美术作品

┌─────────── 窗 口 ───────────┐ │ ┌── 数据窗口控件 ──┐ ┌──┐ ┌──┐ │ │ │ │ │查询│ │添加│ │ │ │ 数据窗口(数据显示) │ └──┘ └──┘ │ │ │ │ ┌──┐ ┌──┐ │ │ │ │ │存储│ │退出│ │

│ └───────────┘ └──┘ └──┘ │ └──────────────────────────┘

5、数据库画板 DataBase Painter

数据库,是若干相关数据表的集合。这些数据表是实际用于存储数据的场所,也是信息系统数据管理的基础。

数据库画板的功能:

建立新的数据库,打开已经建立的数据库,修改调整数据库,选择调用数据表,建立各数据表的主关键字、外部关键字、索引、链接,等等。

用此画板,开发人员无须查阅SQL语句手册,就能够创建新表、修改旧表、操纵数据。 此画板的表操作子画板(Table Painter)用于建立和修改数据库表。数据库管理(DB Administration)子画板,可以执行和测试当前数据库支持的任何SQL语句,比如创建用户或用户组等。

6、数据管道画板 Data Pipeline Painter 数据管道画板的功能:

把一个数据表的结构和数据复制到另一个数据表,可实现数据库之间的数据转换。

7、查询画板 Query Painter 查询(名词),是若干查询数据表的要求,实际上是预先生成好的一组SQL语句。把某些要求定义为一个特定的“查询”,在需要的时候调用,可显著简化编程。

查询画板的功能:

建立新的查询,打开已经建立的查询,修改调整查询,选择调用数据表以及表中的字段,等等。 查询画板生成数据库查询语句,并将其作为一个对象进行保存。此对象可被数据窗口对象调用。开发人员不十分熟悉对数据库进行操作的SQL语句,用此画板也能实现复杂的查询功能。

8、数据库连接和ODBC配置画板 DB Profile和Configure ODBC DB Profile用于配置(规定)PB连接到数据库的连接参数。当PB开发环境要通过ODBC接口连接到数据库时,用此画板配置ODBC数据源的连接参数。

9、工程画板 Project Painter

工程画板的功能:

建立工程文件、编译应用程序、生成可执行文件、生成代理对象、产生类用户对象的C++头文件/源代码或目标库。

10、脚本画板 PowerScript Painter

脚本,就是程序。在PB中,是用PB的脚本语言编写脚本。

脚本画板的功能:

选择对象、事件,为选定的对象、事件编写新脚本,查看已经存在的脚本,修改调整脚本,等等。

11、结构画板 Structure Painter

结构,是若干相关变量的集合。变量可以是相同的数据类型,也可以是不同的数据类型。

一个结构可以作为一个整体来引用,这样就简化了脚本(程序)的编写。利用结构,开发人员能够有效地组织复杂的变量。例如,可以把职工的编码、姓名、地址等变量规定为一个结构,从而能方便地引用这一组变量。

结构画板的功能:

建立新的结构,打开已经建立的结构,修改调整结构,等等。此画板创建全局结构,并将其作为一个

对象保存到应用库中。

12、函数画板 Function Painter

函数,一般是用户定义的一种规则或计算,在脚本中要时常调用。

应用程序经常有这样的情况:某段程序需要在多个地方使用。用函数画板把常用的程序规定为一个“函数”,避免了重复编码,也提高了程序代码的可重用性。

函数画板的功能:

编写新函数,查看已经存在的函数,修改调整函数,等等。 函数画板创建的是全局函数,在整个应用程序中都可调用。

13、库画板 Library Painter

库,是可以包含应用、窗口、数据窗口、菜单、查询等任何对象的集合。这些对象集合在一起,构成库文件,它包括了用户开发的系统的全部内容。即,用户开发的全部软件,都是以库文件的形式存储的。 库文件的后缀是.PBL。一个应用可以调用一到多个库文件。

库不是数据库。数据库是若干数据表的集合。库、数据库,是PB开发的实用系统的两大部分。

库画板的功能:

建立新库,查看已经存在的库,修改调整库,等等。

库画板是管理应用程序各个组成部分的有效工具,它能够删除、修改、移出、移入、复制、重新生成应用程序中的各种对象(如窗口、菜单、数据窗口等)。

14、用户对象画板 User Object Painter

用户对象,是用户自己根据需要而建立的对象。 用户对象画板的功能:

建立新用户对象,查看已经存在的用户对象,修改调整用户对象,等等。

对象包括可视用户对象和类用户对象,这些对象可在应用程序内部反复使用,也能够在整个开发小组里公用。

15、调试画板 Debug

用于程序的调试和纠错。可单步跟踪、设置断点跟踪,察看应用程序的运行,并可在程序执行的过程中手工修改变量的取值。

二、其它的功能

1、对象浏览器 Browser

它可以浏览PB的环境,以及应用程序中各个对象的事件、属性、函数,并能够查阅系统预定义的枚举类型及其取值;还可根据需要生成超文本格式(RTF)文件。另外,还可以在对象浏览器中启动所选对象的相应画板,编辑、修改对象。

同样可以用对象浏览器查阅OLE自动服务器的类的类型、使用的枚举类型的数据、属性、事件、方法等信息。

2、文本编辑器 Edit

用于编辑诸如初始化文件(.INI)、资源文件(.PBR)等类型的文本文件。

3、运行 Run

在PB环境中运行应用程序。

第三节 用PB开发MIS ── 过程和方法

在系统调查、分析、设计之后,用PB开发管理信息系统的一般过程和方法是: 1、创建数据库和其中的数据表

这是用户系统的基础。每一个系统都必须连接(Connect)到一个数据库。

2、建立应用(应用对象)

应用对象形成用户系统的入口。开发的系统必须要有一个应用,在打开这个应用之后,才能调用相关的各种对象(功能)。

3、设计用户界面(窗口)

包括设计窗口、数据窗口、数据窗口控件,以及可能需要的按钮、单行编辑框、多行编辑框、静态文本,等等。

4、为对象编写脚本(编程)

用脚本定义对象的功能、行为、动作,等等。一个脚本属于一个对象下的某个事件。

5、加入数据

通过数据窗口向数据库加入数据。数据窗口必须事先定义好数据源,和存取数据的要求及规则。

6、生成报表(并不必须,但普遍需要) 设计报表,并在屏幕或打印机上输出报表。

7、建立帮助信息和文档(并不必须,但普遍需要)

在程序运行中有恰当的帮助信息,会给用户提供很大的方便,也显示程序有较高的质量。建立完善的文档,例如《用户手册》、《设计说明书》,对系统的正确使用维护、修改等都有必要。

8、通过库画板整理库和其中的各个对象(并不必须,但需要做)

例如调整库文件的个数及大小、删除某些无用的对象,运行某个窗口、某个数据窗口,或给某些对象加注释,等等。

在库中给对象加上注释(comment),有利于系统的管理。

9、调试程序

Debug是调试程序的好工具。通过它可以一句一句地执行脚本,也可以在脚本中设置断点,查看程序的运行及相关过程的变化,很快发现存在的问题和错误。

10、生成可执行文件

把编制完成的系统的全部库文件(.PBL),编译成可执行文件.EXE,同时也可以生成若干个动态连接库(.DLL文件)。

可执行文件加上必要的.DLL文件,是最后提交给用户使用的软件系统,它能脱离PB系统而独立运行。

实验操作一 小 结

PowerBuilder 是一个图形界面形式的开发系统,它是基于微机网络的“客户机/服务器”结构的一个应用程序开发环境,一般是用于面向对象的应用程序开发。

PB画板(Painter)是基本的开发(编程)工具。每一个画板有自己的功能,可以通过相应的图标调

用。

用PB开发管理信息系统的一般过程和方法,主要是对数据库、窗口、数据窗口和窗口控件功能的设计。

物流信息系统都是以计算机网络为基础,最基本的是局域网。“客户机/服务器”模型是网络系统和数据库应用的良好模型。

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

实验操作二 物流数据库设计

一、实验目的要求

理解数据库有关基本术语的含义;明确数据库设计的原则;理解数据表的关联,掌握物流实用数据库设计的方法。

二、实验重点难点 物流实用数据库设计的方法

三、教学方式及时间分配 上机实习。共4学时。

四、演示实验与教具 微机演示。

五、实验提问:1、什么是数据、数据表、数据库?

2、数据库设计有哪些原则?为什么要依据这些原则? 3、数据表如何关联?表的关联有何意义?

4、物流实用数据库设计主要是设计哪些内容? 5、如何排除数据冗余?

六、实作要求:选择物流管理的部分业务,设计一个实用数据库,画出数据表之间的关系图,并说明设计

的意图和思路。

(这也是以后“课程设计”的内容和基本要求之一)

七、实验内容

第一节 数据和数据库

一、基本术语

数据Data: 狭义:数字、文字类型的信息。

一般意义:数字、文字、图象、声音等信息。 广义:所有的信息。

数据库Database:存储信息的库,也是信息的集合。数据库一般由若干相关的数据表组成。 数据表Table:数据库中存储某部分信息的文件,简称为表。数据表中一般有若干记录。 记录Record:数据表中相对独立的一条信息。记录一般由若干的字段组成。 字段Column:数据表或记录中最基本的信息单位,也称为表栏。 索引: 检索导引。是按某种规律而进行的排序。

书的目录是一种索引,是按书的内容先后而进行的排序。字典的拼音排列是一种索引,是按拼音的音序进行的排序。建立索引能大大加速查找。

为加速查找,数据表中的记录一般应该建立所需要的索引。对有较多记录的数据表,建立索引非常必要。

第二节 数据库设计

一、数据库设计的原则

(1)能存储和输出全部信息

必须要能够存储需要存储的全部信息,包括现在和将来需要存储的信息。其中,表、字段及其长度的

设计很重要。所有的信息,要能方便地输出。 (2)保证数据的唯一性

在数据库中,某个数据只唯一地存储在一个地方。如果两个表之间要关联,相关联的字段和其中的数据是相同的,这是例外。

(3)尽量减少冗余数据和存储空间 尽量减小数据库的“体积”。

常见的冗余数据和浪费的存储空间:

① 在不同的数据表中有数据相同的字段;(除了相关联的关键字, 相同的字段不能存在) ② 在一个字段中有很多相同的数据; ③ 字段的长度超过需要; ④ 表的很多字段有空余空间。

如果数据表的某字段中,较多的记录有相同的内容,则需要单独建立一个数据表存储这些内容,然后把这个表与原有的表相关联。

例如,职工表的政治面貌一栏,不外乎四种内容:党员、团员、民主党派、无党派(群众)。因此,可以设计“政治面貌代码表”: 政治面貌代码 1 2 3 4 政治面貌 党员 团员 民主党派 无党派 在职工表的政治面貌一栏中,只需存储一位代码,大大减少了冗余数据。把两个表相关联,效果与直接存储表明政治面貌的汉字是一样的。这也是数据表相关联的原因和意义的一种体现。

二、数据库设计示例──学生管理数据库

数据表的设计和关联:

学生基本表: 成绩表:

───── ───── 课程代码表: P 学号──── 1:1─── P 学号 ───── 姓名 课程代码 F ── m:1── P 课程代码 出生日期 成绩 课程名称 ┌ F政治面貌代码 n:1

│ 政治面貌代码表: │ ─────

└ P 政治面貌代码 P:Primary,主关键字 政治面貌 F:Foreign,外关键字

简化的关系图表示:

┌─┬───── 1:1 ┌─┬─── │D1│学生基本表──<学习>──┤D2│成绩表 └┬┴───── └┬┴─── │ │

<政治面貌>n:1 <课程>m:1 │ │

┌┴┬─────── ┌┴┬───── │D3│政治面貌代码表 │D4│课程代码表 └─┴─────── └─┴─────

LIS设计(大作业)的要求和注意事项:

① 数据库设计,必须给出各表的关联图;关联图中,数据表字段的类型、长度、字段的汉字描述要显

示出来。

② 相关联的表的个数,要求不少于3个; ③ 合理设计各数据表;

例如:各类数据一般需要分别建数据表,每个数据表存储的是一个数据的小类。 ④ 正确建立关联,注意各表在逻辑上的主从关系;

主表是主键,从表是外键; ⑤ 设计代码,紧缩数据表;

⑥ 字段名最好用英文,不用拼音字头或汉字。

(3)设计比较

设计比较之一:下图中,课程成绩表的设计,如果课程发生变动,进行修改很麻烦。

图 4-1 三个数据表的关联

注:在设计书中,要有数据表的关联图;图中要把字段的数据类型、长度和字段的汉字描述显示出来。 显示的方法:在PB的以上关联图中,鼠标右键点空白处――在菜单中选Show Datatypes。

其中的党派代码表: party_id (模拟数据) party_id party 1 无党派 2 共产党 3 共青团 4 中国民主同盟 5 中国国民党革命委员会

代码表中的代码和党派的记录,可根据需要随时增加、删除、修改。

其中的党派代码表: party_id (模拟数据)

party_id party 1 无党派 2 共产党 3 共青团 4 中国民主同盟 5 中国国民党革命委员会 代码表中的代码和党派记录,可根据需要随时增加、删除、修改。

设计比较之二:下图中,课程成绩表的设计,如果课程发生变动,进行修改很简单。

图 4-2 四个数据表的关联

其中的课程代码表: course_id(模拟数据)

course_id course course_remark 080409 计算机应用技术开发 工商管理 080418 企业资源计划管理 物流管理 如果要更改课程名称,或有新课程开设,只需要修改本表,非常简便。

图 4-3 五个数据表的关联

注意:每个数据表所存储的,是一个小类的数据。把数据按需要划分为若干的小类,各自成为单独的数据

表,然后再把这些数据表按数据的逻辑关系关联起来。

上图最上面的成绩表,其设计不适合一般的管理需要,要避免类似的设计。 上图数据表的字段有汉字描述,便于理解。

第三节 物流实用数据库设计──物资管理数据库

数据库设计的基本考虑:

① 要设计哪些数据库?(大型企业是多个数据库) ② 有关的业务流程和数据流程是怎样的? ③ 要管理哪些数据,需要设计哪些数据表?

④ 各数据表中分别是哪些字段?字段的类型、宽度怎样才恰当? ⑤ 数据表之间的关系是怎样的,应该如何关联? ⑥ 是否遵循了数据库设计的原则?

库存管理的基本事务:收、发、存。此数据库的设计,是要实现物资的“收、发、存”管理。

(1)物资管理数据库

① 物资入库流水登记数据表 序号 字段意义 字段名 类型 宽度 小数 说 明 1 入库单号 bill_in_no c 8 P、F 2 物资编码 goods_id c 12 P、F 3 名称 name c 30 也可不放在本表中 4 规格型号 style c 20 也可不放在本表中 5 产地厂家 maker c 4 也可不放在本表中;代码表 6 品牌商标 trademark c 10 也可不放在本表中 7 出厂编号 make_id c 12 8 出厂日期 make_date d 9 保质保用期 insure_date d 10 物品单位 unit c 2 代码表 11 单价 price n 11 2 12 货币单位 money_unit c 2 代码表:默认为人民币 13 应收数量 amount n 7 2 14 实收数量 amount_get n 7 2 15 金额合计 sum_price n 11 2 16 现在状态 now_status c 1 代码表:在库.用完.报废 17 备注 remark v 100

② 物资入库单主项目数据表 序号 字段意义 字段名 类型 宽度 小数 说 明 1 入库单号 bill_in_no c 8 P 2 发票号 check_no c 8 3 采购部门 dept_buy c 3 代码表 4 采购人 purchaser c 8 代码表;可利用职工代码表 5 主管领导 leader c 8 代码表;可利用职工代码表 6 库管员 checker c 8 代码表;可利用职工代码表 7 入库日期 store_date d 8 入库单金额 bill_in_money n 11 2 9 备注 remark v 100 ③ 物资领用流水登记数据表 序号 字段意义 字段名 类型 宽度 小数 说 明 1 领物单号 bill_out_no c 8 P、F 2 物资编码 goods_id c 12 P、F 3 4 5 领取数量 领取金额合计 备注 amount_out sum_money remark n n v 7 11 100 2 2

④ 物资领用单主项目数据表 序号 字段意义 字段名 类型 宽度 小数 说 明 1 领物单号 bill_out_no c 8 P 2 领用部门 dept_get c 5 代码表 3 领用人 people_get c 8 代码表;可利用职工代码表 4 主管领导 leader c 8 代码表;可利用职工代码表 5 库管员 checker c 8 代码表;可利用职工代码表 6 领用日期 get_date d 7 领物单金额 bill_out_money n 11 2 8 备注 remark v 100

⑤ 物资报废流水数据表 序号 字段意义 字段名 类型 宽度 小数 说 明 1 报废单号 bill_scrap_no c 8 P、F 2 物资编码 goods_id c 12 P、F 3 报废数量 amount_scrap n 6 2 4 报废金额合计 scrap_money n 11 2 5 备注 remark v 100

⑥ 物资报废单主项目数据表 序号 字段意义 字段名 类型 宽度 小数 说 明 1 报废单号 bill_scrap_no c 8 P 2 报废部门 dept_scrap c 5 代码表 3 经手人 people_hand c 8 4 主管领导 leader c 8 代码表;可利用职工代码表 5 库管员 checker c 8 代码表;可利用职工代码表 6 报废日期 scrap_date d 7 报废单金额 bill_scrap_money n 11 2 8 备注 remark v 100

⑦ 物资结存数据表 序号 字段意义 字段名 类型 宽度 小数 说 明 1 物资编码 goods_id c 12 P 2 账目库存量 amount_store n 7 2 3 账目库存金额 money_store n 11 2 4 实际库存量 amount_real n 7 2 5 实际库存金额 amount_money n 11 2 5 备注 remark v 100

物流管理其它常用的数据表:(一般是设计多表的关联)

车辆管理数据表 vehicle

设备管理数据表 equipment 仓储设施数据表 werehouse 合同管理数据表 contract 产品信息数据表 information

(2)物资数据表的关系图

1、物资入库流水登记 2、物资入库单主项目

───────── ─────────

P 入库单号 F ──── i:1── P 入库单号 ┌─ F.P 物资编码 L:1

│ 3、物资领用流水登记 4、物资领用单主项目 │ ───────── ───────── │ P 领物单号 F ──── j:1── P 领物单号 │┌ F.P 物资编码 ││

││ 5、物资报废流水登记 6、物资报废单主项目 ││ ───────── ───────── ││ P 报废单号 F ──── k:1── P 报废单号 ││ P 物资编码 F ─┐ │M:1 │ ││ 7、物资结存 N:1 ││ ────── │ └┴─ P 物资编码 ──┘

以上数据表的关系示意图:

┌─┬────── i:1 ┌─┬───── ┌───┤D1│物资入库流水──<明细>──┤D2│物资入库单 │ └─┴────── └─┴───── <入库>L:1 │

│ ┌─┬────── j:1 ┌─┬───── │ ┌─┤D3│物资领用流水──<明细>──┤D4│物资领用单 │ │ └─┴────── └─┴───── │<领用>M:1 │ │

│ │ ┌─┬────── k:1 ┌─┬───── │ │ │D5│物资报废流水──<明细>──┤D6│物资报废单 │ │ └─┴┬───── └─┴───── │ │ │

│ │ <报废>N:1 │ │ ┌─┬┴──── └─┴─┤D7│物资结存表 └─┴─────

(3) LIS一般需要的数据库 ① 运输配送管理数据库 ② 仓储管理数据库 ③ 物流设备管理数据库

④ 采购管理数据库 ⑤ 生产物流管理数据库 ⑥ 销售物流管理数据库 ⑦ 财务管理数据库 ⑧ 人力资源数据库

⑨ 客户关系管理数据库(CRM)

实验操作二 小 结

数据、数据库、数据表、记录、字段、索引等,是数据库知识的基本术语。

数据库设计有三条重要的原则:要能存储和输出全部信息,要保证数据的唯一性,要尽量减少冗余数据和存储空间。

数据表的关联反映了数据表之间的逻辑关系,设计良好的数据库依赖于适合的数据表和表之间的关联。

物流实用数据库的设计必须适应物流的需求。设计的主要内容是数据表和这些表之间的关联。

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

实验操作三 PB开发基础

一、实验目的要求

理解GUI。掌握窗口、按钮、选择框等的操作。了解面向对象的程序设计的主要内容。理解封装、继承性、多态性。

掌握程序设计的基本方法和过程(要领),理解应用,掌握建立一个新应用的方法。

二、实验重点难点

面向对象的程序设计的主要内容。封装、继承性、多态性的概念。 程序设计的基本方法和过程(要领)。

三、实验方式及时间分配 上机实习。共2学时。

四、演示实验与教具 微机演示。

五、实验提问 1、什么是GUI?它有哪些特点和优越性? 2、面向对象的程序设计的主要任务有哪些? 3、什么是封装、继承性、多态性?

4、程序设计的基本方法和过程(要领)是怎样的? 5、什么是应用?如何建立一个新的应用?

六、实作要求:结合物流管理的需要,建立一个实际的应用系统,介绍其用途和功能的构思。

七、实验内容

第一节 视窗操作系统──图形界面

一、图形用户界面

GUI。用户看到的是图形,通过图形标志进行操作,?而不是通过命令语句进行操作。图形用户界面的典型图形是窗口、按钮和选择框。

视窗(Windows)操作系统是典型的图形界面。?图形用户界面风格的软件系统已经占了统制地位。 GUI程序是用所定义的“事件”和“消息”来驱动。编制GUI本身很复杂,但GUI使用户的操作极大地方便和简化。

PB是一个GUI风格的开发系统。

二、GUI的常用控件

控件:起控制作用的元件或构件。也是一个图形元件。 1、命令按钮

执行某个命令,实现某种功能。例如信息的选择、添加、删除、确认,功能的取消等等。 2、单选按钮

多选一。只能选定一个选择项,也称为收音机按钮。 3、复选框

多选多。可以同时选定多个选择项。 4、列表框和滚动条

在一个窗口形的框中,列出若干可选的项。用鼠标点中要选的项,就完成了选择。当内容较多时,用

滚动的方法翻看。有垂直和水平方向的滚动条。

列表框中的项目,可以从数据库读取,也可以在程序运行时加入。

第二节 面向对象的程序设计

对象: 日常生活中的事物都是各自不同的对象。例如,书、笔、桌子、椅子、黑板、开关、按钮、窗户,等等。

面向对象: 把要处理的事务定义为一些对象,然后针对这些对象来进行处理。每一个对象都可以有相应的程序,某个对象的程序规定这个对象的行为或功能。

PowerBuilder 是一个图形界面形式的开发系统,?它是基于微机网络的“客户机/服务器”(C/S)结构的一个应用程序开发工具,?一般是用于面向对象的应用程序开发。

面向对象的程序设计方法:

以对象为基础单元(相对独立的整体),设计对象,规定对象的动作或行为,建立对象之间的关系,通过对象而实现信息传输。

面向对象的系统必须符合三个概念(具有三方面的功能): 封装、继承性、多态性。

1) 封装

也是数据隐藏。是收集和选择性地隐藏一个对象中的数据的能力。

封装把对象塑造成一个整体,用户可以不知道或不清楚对象内部的构造和原理,而只关心、只面对它的外部功能和行为,并加以使用。

对象由两部分组成:数据和方法。数据是一个对象可利用的信息,方法是对象可理解的命令或处理。 数据和方法分为公有和私有两类。公有信息可与其它对象公共使用和交换,私有信息是一个对象独占使用。

2) 继承性

把已经存在的对象的数据和方法,沿用给新的对象,即是继承。类似的功能,通过对象的继承而实现,大大简化了程序的设计和维护,增加了可靠性。

继承是对以往成果的复用,但不是简单的重复。儿子在若干方面象父亲,但也可以有自己的特点。一个新对象可以从某个老对象继承而得,同时又可以为新对象添加数据和方法,也可以不用老对象中的某些数据和方法。

把一幅已经完成的图画复制下来,然后在复制品上修改,形成新的图画,这就是一种继承。修改而得的新的部分,是新对象所特有的内容。

3) 多态性

一种方法基于相同的名字和概念,但根据对象的不同而完成不同的功能。

例如,定义一个打印函数,它的功能是打印某类对象的有关内容。针对不同的对象,这个函数实际打印出的内容是不同的。

又例如,定义一个“关闭”功能,其功能是关闭窗口对象。它可以针对不同的窗口对象完成关闭功能。

第三节 程序设计的基本方法和过程

要掌握程序设计的基本方法和过程,形成好的编程习惯和风格,较快地编出好的程序。急于求成,不依法则,随意编写,很可能导致程序逻辑混乱。错误的程序无法正常运行,最后还得重新编写,花费更

多的时间、精力和费用。

基本的方法和过程(要领): 1) 确定程序的用途

全面细致地考虑整体和具体的用途项目,而不是笼统和模糊地判定。要确定输入、处理、输出(IPO)是什么。

2) 确定具体的功能

指具体的IPO(输入、处理、输出)功能。每一个功能由一个模块(例程)来完成。 要实现程序的模块化。复杂的模块要进一步细化,形成小的单一功能的模块。 3) 文档记载

设计的文档要详细记载。可把基本的用途、思路写在各相应程序的开始处,这有利于理清思路,明确目标,帮助记忆,方便维护。

4) 思路、方法清楚以后,(面向对象的方法)设计好各个对象,例如窗口、控件等,再实际编写各对象所需要的程序(脚本)。

5) 把主模块(程序)与下属模块相连接 一般是用菜单来调用模块。 6) 程序调试

运行调整,找出错误并纠正。 7) 检查所定的目标或计划

如果达到或实现,则继续。如果没有达到或实现,则返回3,再次进行各项工作。 8) 完成文档

文档:有关开发设计、使用和维护的文字及图表资料。 完整细致的文档,特别有利于以后的使用和维护。

按正规的方法从事程序设计,开始时的速度比较慢,好象作了一些可做可不做的事。实践证明,规范化的设计工作是必要的,这些工作能为以后节约更多的时间。

PB的程序(脚本)设计比较简单。 例1:最简单的脚本

为每一个菜单项编写所需要的脚本:open(被打开窗口的窗口名)。 关闭窗口的脚本:close(被关闭窗口的窗口名) 对一个命令按钮,在单击事件下输入脚本语句:

close(Parent) //按钮的功能即是关闭父窗口。

或输入:

close(this) //功能是关闭当前窗口。

例2: 运行窗口

窗口上的DataWindow在何处提取数据,要在窗口Open事件下的脚本中指定。 在打开窗口的Script中,以下脚本的前两行是必须的: connect; //连接数据库

dw_1.Settransobject(sqlca) //建立传输事务对象

dw_1.retrieve() //把数据库的记录取到第一个DataWindow控件。

这三条语句必须按此次序书写。connect是连接数据库的SQL命令。 SetTransObject(sqlca) 调用DataWindow函数 SetTransObject(),确定事务对象。PB有一个作为缺省全局变量的事务对象,称为SQLCA。事务对象开辟内存中的一个位置,用作脚本和数据库之间的通信区。

只处理一个数据库,可以不需要其它事务对象。

Retrieve()函数就是利用sqlca事务对象,根据在DataWindow中规定的检索条件从数据库提取记录。

其它脚本的编写方法,可参考有关的PB教材。

第四节 PB的应用和应用画板(Application Painter)

应用(对象):是一个实用系统的入口,也是这个实用系统所有层次和模块汇聚的“根”。应用本身是一个对象,它又引导和调用系统中的其它对象。

画板功能: 建立新的应用,打开已经建立的应用,编写应用的脚本(程序),查看应用的属性等等。 所开发的系统叫做应用系统,有时也简称为“应用”,这是广义的含义,不是指狭义的应用对象。 可以把整个开发出来的应用系统编译成一个可执行程序提供给实际的用户。

一、应用画板的组成

按PowerBar中的Open或Library图标,进入Application画板。 窗口画面组成(从上到下):窗口名、菜单、Power栏和工具栏、?应用的主窗口。 菜单提供功能选择。Power栏和工具栏是两条图标按钮,?每一个按钮是一种功能。 PB调用的应用(当前应用)是最近一次调用过的应用。

二、建立一个新的应用

在菜单File栏中,选New,推荐再选Template Application。在其后的窗口中: Application Name:应用名。必须输入。

Comments: 描述或解释。最好要有简要的说明,但可以不输入。

Application Libraries:应用所在的库文件。要指定。?以后就在这个库文件中调用这个新的应用。

三、建立一个实际的应用系统

综合所学的内容,建立企业物资管理应用系统。? 要求程序的功能:

1、能输入和存储物资的基本信息。如物资编码、名称、类别、价格、入库时间、当前的状态、管理人员、出厂日期、保质期等。

2、能查询这些信息。

3、能进行简单的统计。如领用数量、库存数量;领用金额、库存金额等。 4、库存量低于或高于规定限制时,自动报告。

5、用图形表示每月或每年的消耗比较(饼图、直方图等)。 6、把常用功能的按钮组成为一个工具条。

实验操作三 小 结

GUI。用户看到的是图形,通过图形标志进行操作,?而不是通过命令语句进行操作。图形用户界面的典型图形是窗口、按钮和选择框。

GUI的常用控件有:命令按钮、单选按钮、复选框、列表框和滚动条、

面向对象的程序设计是要:建立对象,规定对象的动作或行为,建立对象之间的关系,通过对象而实现信息传输。

面向对象的开发系统必须具有三方面的功能(支持三个概念):封装、继承性、多态性。

程序设计的基本方法和过程(要领)是:确定程序的用途;把考虑的内容写在相应程序的开始处;确定具体的功能;把主模块(程序)与下属模块相连接;定义所需要的各个对象,并编写各自所需要的脚本;

程序调试;检查所定的目标或计划;完成文档。

应用,是一个实用系统的入口,也是这个实用系统所有层次和模块汇聚的“根”。应用本身是一个对象,它又引导和调用系统中的其它对象。它也是一组可以封装在一起的对象。

建立一个新的应用,需要给出应用名,描述或解释可以不要,应用所在的库文件需要指定。?

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

实验操作四 PB的数据库

一、实验目的要求

掌握建立数据库和数据表的方法过程,会连接一个已经存在的数据库。

二、实验重点难点

建立数据库和数据表的方法。

三、实验方式及时间分配 上机实习。共2学时。

四、演示实验与教具 微机演示。

五、实验提问

1、PB?可以使用哪些数据库? 2、PB带有一个什么数据库? 3、如何建立新的数据库? 4、如何建立新的数据表?

5、数据表的属性有哪些?其含义如何?

6、数据表的字段(表栏)属性有哪些?其含义如何?

六、实作要求:建一个新的数据库和其中的数据表;建立与一个已有数据库的连接。

七、实验内容

第一节 PB数据库的建立和调用

数据库是PB最重要的对象之一。PB可以使用许多不同的数据库,只要它符合ODBC(开放数据库连接)规范。例如VFoxPro。

PB一般是使用SQL数据库,例如MS SQL Server,Sybase,Oracle。

PB自己带有一个单用户的SQL数据库管理系统ASA DataBase,供在单机上管理用户的数据库。

一、建新的数据库 Create DataBase

方法1:

打开数据库设置画板DB Profile,在DataBase Profiles中选Create ASA DataBase,双击。?然后在弹出的窗口中,输入数据库名(带路径),OK。

方法2:

用Sybsae Central/Utilities/Create Database建立。

二、连接数据库 Connect

与一个已经存在的数据库相连接。

可以用自己建立的数据库,也可以用别人建立的数据库。不论用哪一个数据库,都必须在调用之前建立与数据库的连接Connect。

打开数据库画板,从菜单中选择Connect功能,?再从弹出的窗口中选择已经存在的数据库名,OK,就实现了连接。

PB默认连接的数据库,是最后一次也是最近一次使用的数据库。不改用其它数据库,就不必重新进行连接。

几个术语:

Profile Name:配置(描述)文件名。数据库有一个配置文件。

DBMS: 数据库管理系统。PB?中有若干可供选择的数据库系统。它可以是ODBC类型的数据库,也可以是专门的数据库系统。例如ORACLE?、Sybase、MS SQL Server 等。 User ID:用户代码、用户名、用户身份、用户识别码。 DataBsae Name:数据库名。

在PB中,进行连接时的默认值: 用户代码 User ID:DBA 口令 Password:SQL

数据库连接所需的启动命令Start Line:dbsrv6.exe -d -c 8m (针对ASA DataBase) 输入时注意要带上路径,比如:

d:\\sybase\\Adaptive Server Anywhere 6.0\\win32\\dbsrv6.exe -d -c 8m

以前的版本:

SQL ANYWHERE 5.0数据库,启动命令是dbeng50.exe

比如: e:\\SYBASE\\SQL Anywhere 5.0\\win32\\dbeng50.exe WATCOM数据库,启动命令是db32w -d %d

第二节 数据表

一、建新的数据表

建立了新数据库,只是建立了有名字的仓库的外壳,数据库中的数据,是存储在数据表中,数据库中可以有若干的数据表。

建新的表:

打开数据库画板,在数据库窗口中点当前数据库中的Tables,按鼠标右键,然后在弹出的菜单中选New?Table。再按要求输入,包括字段名、字段类型、宽度、小数、是否可以为空(Null,无输入)。

二、数据表的属性

主关键字Primary Key、外关键字Foreign Key、字体Font、表的注释Comments(区别于对字段的注释)等,都是表的属性。

设定Primary Key之后,才能向表中加入数据。

在一个表中,Primary Key中的数据是唯一的(任意两个纪录,该关键字中的数据都不同)。 关联数据表,需要Primary Key、Foreign Key。

三、数据表字段(表栏)的属性

1、 一般属性 General

字段名、字段宽度、类型、Null、注释等。 2、 标题属性Headers

Heading: 在字段上方显示或打印的字符标题。 Label: 在字段左方显示或打印的字符标题。

3、 显示属性Display

字段内容显示和打印的格式:Display Format、Height、Width、 Justify(位置对齐,字段内容可选左对齐、右对齐、中线对齐)。

4、检验属性 Validation

对字段内容的有效性规定检验规则。例如,价格、重量不能小于0。 5、编辑属性 Edit Style

规定和限制字段内容的输入格式。例如日期的不同输入格式: 2001.4.25 2001.04.25 01.4.25 01.04.25 4/25/2001 4-25-2001

实验操作四 小 结

数据库是PB最重要的对象之一。PB?可以使用许多不同的数据库,?包括符合ODBC(开放数据库连接)规范的数据库,和一般的SQL数据库。

PB7自己带有一个单用户的SQL数据库ASA DataBase,供在本机上使用。 建立新数据库,需要打开数据库画板,在菜单中选Create DataBase。然后输入数据库名、用户代码、口令;或者在Sybsae中心中选Create DataBase来建立。

不论用哪一个数据库,都必须在调用之前建立与数据库的连接Connect。

打开数据库画板,从窗口中选择已经存在的数据库,从菜单中(可以用弹出的菜单)选择Connect功能,就实现了连接。

建立新数据表,需要打开数据库画板,在选择数据表的窗口中,选New Table,然后在弹出的Create Table窗口中,输入字段名、字段类型、宽度、小数、是否可以为空(Null,无输入)等。 数据表的属性,有字体Font、表的注释Comment、主关键字Primary Key、?外关键字Foreign Key 等。 数据表字段(表栏)的属性,有一般属性 General、标题属性? Headers、显示属性Display、检验属性 Validation、编辑属性 Edit Style等。

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

实验操作五 菜单和工具条

一、实验目的要求

了解多文档界面;会建立实用系统的菜单和工具条。

二、实验重点难点 建立实用系统的菜单。

三、实验方式及时间分配 上机实习。共2学时。

四、演示实验与教具 微机演示。

五、实验提问

1、建立下拉和弹出式菜单的一般方法是怎样的? 2、建立工具条的一般方法是怎样的?

六、实验要求

建立下拉和弹出式菜单,建立工具条。

七、实验内容

第一节 菜单的建立和修改

菜单是调用功能模块的工具,通常有若干选项;工具条是一组按钮,每一个按钮调用一个功能模块,实际上是菜单的另一种表现形式。

下拉菜单是最一般的菜单形式。这种菜单用下拉列项的方式出现,故称为下拉菜单。

主菜单一般有几个大的菜单功能选项,在每一个大的菜单选项中,可以有若干子项,在每一个子选项下,还可以有下级子菜单。这就是菜单的级联,或称为多级菜单。

在主窗口中,可以调入(挂上)已经建立好的菜单。菜单通常是挂在多文档界面(MDI)框架窗口上,这种框架窗口是一个应用的主窗口;也可以挂在表单(Sheet)窗口上。

一、建立和修改菜单

菜单是一个独立的对象。进入菜单画板,即可进行菜单的建立、修改和脚本的编写等操作。(见教材P136)

建立菜单的选项,与建立一个新数据表的方法有类似之处。 建立菜单的一般过程: 1、进入菜单画板窗口。

2、输入菜单选项的项目名和代表选项的文字(每一个选项都要有)

同时可规定相应的快速符和快捷键,微帮助(MDI Microhelp,?是显示在屏幕最下一行的简要帮助性质的文字),选定风格(Style,或叫类型)。

在一个菜单选项之下还可以再建立子菜单,实现菜单的级联(多级菜单)。 3、为每一个菜单项编写所需要的脚本

最一般的脚本:Open(被打开窗口的窗口名)。 其它脚本的编写方法以后介绍。 4、 存储,输入菜单名(必要),退出。

二、弹出式菜单

通常,点鼠标的右键就可弹出一个菜单,这就是弹出式菜单。 弹出式菜单的建立:

1、用菜单画板建立一般的菜单; 2、把一般的菜单定义为弹出式菜单。

定义弹出式菜单的方法:

1、 在需要弹出菜单的对象处,选定该对象下的事件(event),习惯上是选rbuttondown事件(点

击鼠标右键)。

对象、事件、脚本的关系:

对象――事件(有多个)――脚本 2、 编写脚本,其内容为:

m_a m //对菜单m_a定义一个实例m m=create m_a //说明m

m.m_a3.popmenu(pointerx(),pointery())

//在鼠标指针的当前坐标处,弹出菜单m_a 的m_a3子菜单。 //如果没有子菜单名m_a3,则弹出整个菜单m_a。

//popmenu( )是弹出菜单的函数,pointerx(),pointery()是坐标。

第二节 菜单的另一种形式──工具条

菜单的功能可以用另一种形式──工具条,来实现。可以把最常用的菜单项又设计成一个工具按钮,这些按钮排成一条,就称为“工具条”。菜单和工具条为用户给出了两种操作选择方式。这种设计在PB系统中也是常见的。

建立工具条的一般过程:

1、打开菜单画板,?在“属性”窗口中,?按Toolbar(工具条),?选择工具条项目的图标和文本Text。 Text是鼠标到达图标时自动出现的提示性质的文字。每一个选项都应该有。

2、输入“微帮助”的文本。

系统运行时,菜单项目相应“微帮助”的文本在窗口下沿处显示。 3、存储退出。

实验操作五 小 结

菜单通常是挂在多文档界面(MDI)框架窗口上。?这种框架窗口是一个应用的主窗口。

菜单是一个独立的对象。进入菜单画板,即可进行菜单的建立、修改和菜单脚本的编写等操作。 建立菜单的一般过程:

在菜单画板中,输入菜单选项的项目名和代表选项的文字;为每一个菜单项编写所需要的脚本;存储,输入菜单名,退出。

可以把一般的菜单同时设计为弹出式菜单。要弹出菜单,需要编相应的脚本。

菜单的功能可以用另一种形式──工具条,来实现。可以把最常用的菜单项又设计成一个工具按钮,这些按钮排成一条,就称为“工具条”。 建立工具条的一般过程:

打开菜单画板,?在窗口中,??按Toolbar,??选择工具条项目的图标,输入工具条选项的项目说明文字Text等,存储退出。

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

实验操作六 数据窗口和控件

一、实验目的要求

会设计各种格式的数据窗口;会设计数据窗口常用的控件:复选框、单选按钮、列表框和下拉数据窗 口;会规定数据项目显示的格式和有效性检验的规则。

二、实验重点难点 设计各种格式的数据窗口。

三、实验方式及时间分配 上机实习。共2学时。

四、演示实验与教具 在微机上演示。

五、实验提问

1、数据窗口有哪些显示格式? 2、如何选择数据源?

3、设计数据窗口的步骤是怎样的?

4、如何设计单选按钮、复选框、列表框和下拉数据窗口? 5、如何规定数据的显示格式? 6、如何规定数据的有效性检验?

六、实作要求 利用所设计的数据表,设计实际的数据窗口。

七、实验内容

第一节 数据窗口(Data Window)

数据窗口(Data Window)是最重要的对象之一,?数据的输入和输出都是通过数据窗口。 打开数据窗口画板,即可进行关于数据窗口的操作。

一、数据窗口的显示风格(格式)

数据在屏幕上显示,可以选用多种显示风格。一个数据窗口必须选定其中的一种显示风格。 1、自由格式 Freefrom

在屏面上一次只显示一个记录。设计时,可以在版面上自由移动和排列表栏的位置。

2、网格格式 Grid

最一般的直线分栏表格格式,如同数据表中的栏目格式,可以显示多条记录。各栏目的位置不能象自由格式那样调整移动。

3、表格格式 Tabular

与网格格式基本相同,也是最一般的分栏表格格式。但没有分栏的直线,而各栏目的位置可以象自由格式那样调整移动。

4、分组格式 Group

记录分组显示。例如按年龄、按职称、按文化、按性别分组,等等。

5、标签格式 Label

按标签格式(类似于名片)显示多个记录。要打印标签时特别适用。

6、多栏格式 N-UP

在屏面上同时显示多组相同的栏目。例如: 姓名 年龄 姓名 年龄 王二 18 张三 20 ?? ? ?? ?

7、组合表格式 Composite

可以组合其它数据窗口形成报表。

8、交叉表格式 Crosstab

表的行和列的栏目对数据都有分类,行和列的栏目都有合计和总计的数据报表。适合用于统计。例如,成绩表:

优秀 良好 及格 总计(人) 一年级 10 20 5 35 二年级 15 19 3 37 合 计 25 39 8 72

9、图形格式 Graph

用图形来表示数据库的信息。例如直方图、曲线图、圆形图等。

二、数据窗口的数据源

新建一个数据窗口,必须指定其数据的来源(提取数据的地方),即指定数据源Data Source。 数据源一般有5种选择:(见教材P127) 1、快速数据源 Quick Select

如果数据表只在一个数据表中提取数据(也可用于多个表),就选择这种数据源。用这种数据源速度快。

2、SQL数据源 SQL Select

如果要在多个数据表中提取数据,?就选择这种数据源。?用这种数据源适合SQL语句的运用。 3、查询数据源 Query

要以一个事先定义好的查询来提取数据,就选择这种数据源。 4、外部数据源 External

如果要在数据库以外提取数据,?就选择这种数据源。? 5、存储过程数据源 Stored Procedure

对支持存储过程的数据库管理系统,可以制定这种数据源。如果数据库管理系统不支持存储过程,我们就看不到存储过程数据源的图标,当然也就不能用这种数据源。

第二节 设计数据窗口

一、设计自由格式的数据窗口 设计步骤:

1、选择New,打开数据窗口画板。

2、在DataWindow窗口中,选择所需要的Freefrom格式;然后选择数据源。 3、选择数据表和其中的字段。

可以从一个数据表中选取所需要的字段;也可以从多个相关联的数据表中选取所需要的字段,构成一

个“视图”。被选的字段可以调整先后次序的排列。

4、定义检索变量和检索条件(主要是对SQL Select)

检索变量:Retrieval Arguments

数据窗口画板/Design/Data source/Design/Retrieval Arguments

之后,初步设计完成。设计结果见教材P125的图。可以用预览Preview看数据窗口在调用时的情形。 5、调整数据窗口(不必须)

可以调整栏目的位置、大小、字体、颜色,以及加入计算字段、加入求和功能、补充新的字段、加入标题或脚注,等等。 6、存储退出。

二、设计网格格式的数据窗口(自学为主)

网格格式与自由格式不同的是,不能自由移动栏目的位置。 设计步骤与设计自由格式数据窗口的方法类似。 1、选择New,打开数据窗口画板;

2、在DataWindow窗口中,选择Grid格式和所需要的数据源; 3、选择数据表和其中的字段;

被选的字段可以调整先后次序的排列。

4、定义检索变量和检索条件(主要是对SQL Select)

之后,初步设计完成。设计结果见教材P54的图。可以用预览Preview看数据窗口在调用时的情形。 5、调整数据窗口(不必须)

可以调整栏目的大小、字体、颜色,以及加入计算字段、加入求和功能、补充新的字段、加入标题或脚注,等等。

6、存储退出。

第三节 设计数据窗口的控件

数据窗口中常用的控件有:单选按钮RadioButton、复选框CheckBox、列表框DropDownListBox、下拉数据窗口DropDownDataWindow等。

一、常用控件的利用

在输入一个栏目的内容时,有时候是在若干可能的值中进行选择。为了方便输入,可以利用编辑控件。如果是n选一,可参考下表:

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ n 适合利用的控件 说 明

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2 复选框 一个复选框是进行二选一的选择。 3-6 单选按钮 多个单选按钮,只有一个的选择有效。 6-20 列表框或下拉数据窗口 对列出的可选项,单击选择。 >20 ―――― 一般是在栏中直接输入数据。 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

二、建立单选按钮的方法

1、在要建立单选按钮的栏目位置处,单击鼠标右键,使得弹出一个菜单,选属性; 2、在其中选编辑风格类型Style Type,再选单选(收音机)按钮Radio Buttons;

3、在单选按钮风格的代码小窗口中,??输入需要的显示值Display Value和存储值Data Value。 这一组值有几行,就产生几个按钮。

4、存储退出。

要建立其它的控件,方法类似。

三、建立下拉列表框的方法 DropDownListBox 下拉列表框实现栏目输入的多选一。方法:

1、进入数据窗口画板,打开所需要的数据窗口;

2、在要建立下拉列表框的栏目位置处,单击鼠标右键,使得弹出一个菜单,选属性; 3、在属性中选编辑风格类型StyleType,再选下拉列表框DropDownListBox;

4、?在下拉列表框的代码小窗口中,?输入需要的显示值Display Value和存储值Data Value。 这一组值有几行,就在下拉列表框产生几个候选项。 5、存储退出。

第四节 数据的显示格式和有效性检验

一、规定数据显示的格式 Format

通常是规定日期和数字的显示格式。方法:

1、在要规定显示格式的栏目位置处,单击鼠标右键,使得弹出一个菜单,选属性; 2、在属性窗口中选Format;

3、在规定显示格式的窗口中,输入需要的显示格式; 4、存储退出。

二、数据的有效性检验Validation

对字段内容的有效性规定检验规则。例如,价格、重量不能小于0。通常是规定日期和数字的取值范围,字符串的长度等。

方法:

1、进入数据窗口画板,打开所需要的数据窗口;

2、在菜单项View下选栏目设置,使得出现一个栏目设置窗口; 3、在此窗口中选Validation Expression有效性表达式项目; 4、对要检验的字段输入需要的有效性检验表达式;

5、 存储退出。

例:对日期字段作检验,表达式可以为:

date(gettext())= date(1980-01-01)

//输入的日期必须小于当前日期,不小于1980-01-01。

例:对数字字段作检验,表达式可以为:

number(gettext())>=0 and number(gettext())<=100

//输入的数字必须不小于0,不大于100。

实验操作六 小 结

数据窗口(Data Window)是最重要的对象之一,?数据的输入和输出都必须通过数据窗口。 新建一个数据窗口,必须先指定显示的格式和数据源。

数据源一般有5种选择:Quick Select、SQL Select、Query、?External?和Stored Procedure。 数据窗口的显示格式:Freefrom、Grid、Tabular、Group、Label、N-UP、Composite、Crosstab、Graph。

设计各种格式的数据窗口,有类似的步骤。 1、选择New,打开数据窗口画板;

2、在DataWindow窗口中,选择所需要的格式;然后选择数据源; 3、选择数据表和其中的字段; 4、定义检索变量和检索条件; 5、调整数据窗口(不必须) 6、存储退出。

数据窗口常用的控件有:单选按钮、复选框、列表框、下拉数据窗口等。 建立各种控件的方法类似:

1、在要建立单选按钮的栏目位置处,单击鼠标右键,使得弹出一个菜单,选属性; 2、在属性中选所需要的项目;

3、在随后弹出的窗口中,输入需要的值; 4、存储退出。

对数据项目,还可以规定显示的格式和有效性检验的规则。

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

实验操作七 窗口和对话框

一、实验目的要求

理解窗口和窗口控件,包括MDI窗口;会设计有各种控件的窗口;?会调用数据窗口。

二、实验重点难点 设计有各种控件的窗口。

三、实验方式及时间分配 上机实习。共2学时。

四、演示实验与教具 微机演示。

五、实验提问

1、叙述建立窗口的方法步骤。 2、如何在窗口中调用数据窗口?

3、在窗口上建立各种控件的一般方法是怎样的?

4、MDI窗口与其它的窗口相比有何优点?它是如何建立的?

六、实作要求

建立一个包含数据窗口、命令按钮等的窗口。

七、实验内容

第一节 窗口和窗口控件(Window Control)

在开发应用的过程中,要针对需求全面规划设计,之后,再进行窗口的设计。这样,能加强逻辑性,节约精力和时间、减少修改。

窗口是一个应用中的基本对象,也是用户看到的最一般的界面。设计窗口是用PB开发一个实用系统的重要环节。

要区分 DataWindow和窗口,它们是不同的对象。DataWindow?是数据库的一个视图,而窗口是出现在屏幕上的一个对象。DataWindow往往是一个窗口的一部分, 对话框是窗口的一种形式。

术语解释 定制:规定、确定、设计、制造。 例:定制窗口。

一、最基本的窗口

新建的模板应用带有三个预先定义好的窗口。 一个是 MDI Frame?(框架),?一个MDI Sheet(单子、工作表),一个称为 w_genapp_about。第三个窗口是从菜单中Help处选择 About项时弹出的窗口。

对w_genapp_about窗口,鼠标单击文本区,即可输入所需要的文字。

将光标移到窗口的空白区,按鼠标右键弹出一个菜单,并选择“属性“项,即可输入或选择窗口的各种属性。比如修改窗口的标题名。例如,可改About为“关于”、“提示”等等。

二、可用于窗口的控件

控件Control:具有控制功能的构件。控件也是一种对象。

About窗口含有两个控件:一个静态文本控件,和一个用于OK功能的命令按钮。

Window 上支持很多种控件。

表7.1 Window上支持的控件 教材P108

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 控件种类 名 称 和 说 明

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ CommandButton 命令按钮。按钮上可以有文字。 PictureButton 图标按钮。

Static Text 静态文本。一般是不改动的字符串,但可以在程序执行 过程中由脚本修改。

SingleLineEdit 单行编辑框。可以输入单行文字的编辑框。 EditMask 编辑模具(屏蔽)。强制按所指定的格式输入数据的单 行编辑区。

MultiLineEdit 多行编辑框。可以输入多行文字的一个区域。 ListBox 列表框。可列出多个选项供选择的表框。

CheckBox 复选框。小正方形框,二选一时用,单击作选择。 RadioButton 单选按钮。必须选一,且只能选一的一组圆框。 DataWindow 数据窗口。

DropDownListBox 下拉列表框。下拉式的多项选择列表框。 Picture 位图。通常只用于信息或美观。 GroupBox 分组框。

User Object 用户对象。用户自己定义的对象。 Graph 图形。数据的图形表示。 OLE 对象链接和嵌入。

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 三、与控件相关的操作

Selection 选择多个控件。 Delete 删除所选择的控件。

Script 脚本操作。先显示控件最常见的事件下的有关脚本。 Run 运行应用。 Debug 调试程序。

Preview 预览。在Design菜单选择 Preview时,窗口及其它控件按 它们在应用中出现的那样显示。

第二节 窗口的建立

一、建立新窗口的步骤

1、在PB菜单中选择new,打开窗口画板; 2、加入窗口上所需要的各种控件;

3、指定窗口的属性(包括类型)和窗口名等; 4、为窗口和它的某些控件编写所需要的脚本; 5、调试和预览; 6、存储退出。

二、窗口的类型 Window Type

在属性小窗口中,可选定窗口的类型Window Type。?一个窗口的类型决定它特性,如可以调用其他哪

些类型的对象。例如,响应窗口不能包括菜单。

大多数的应用,由带有微型帮助的 MDI框架、多个主窗口和几个响应窗口(或对话框)组成。

表7.2 PB的窗口类型

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 窗口类型 说 明

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Main 主窗口。其上层可以是一个 MDI框架,或是另一个窗口。 Child 子窗口。由其他窗口调用。

PopUp 弹出式窗口。由另一个窗口将其激活(打开)。 Response 响应窗口,也称为模态窗口。

MDI Help(with Microhelp) MDI窗口,带微帮助。通常是整个应用 的主窗口。

MDI 与上面相同,但没有自动的微帮助。

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

三、在窗口上增加控件

以下步骤建立相应的控件: 1.建单行编辑框

单击 SingleLineEdit控件图标,然后单击窗口上预计放置控件的位置,?并调整控件的大小。 按住 SHIFT键,在窗口上不同的位置单击几次,就可以在不同的位置建立几个同类控件。 2.建静态文字(本) 单击 Static Text控件图标,然后单击窗口上预计放置文本的位置;在正文区输入所需要的文字,并调整控件、文字的大小,以及字体等。 3.建命令按钮

单击 ControlButton图标,然后单击窗口上预计放置按钮的位置;在正文区删除原有的“none”,输入按钮上所需要的文字,并调整按钮、文字的大小,以及字体等。 4.为了美观,应对齐按钮。选择工具条中的图标按钮,或从Format菜单项中选择 Align、Size、Space中的子项目,即可按不同的方式对齐所选定的控件。

四、把窗口连接到一个应用

MDI?框架是一个应用的主窗口,它的菜单的每一个选项,都打开一个窗口。

要将一个窗口与一个应用相连接,实际上多数是与一个MDI菜单项关联。?在一个菜单项下建立与一个窗口关联的脚本,就能实现一个菜单项对某个窗口的调用。 脚本在第八章中讲述。 打开一个窗口的脚本是: Open(窗口名)

例如:Open(w_set_id)

打开 w_set_id窗口,直到它被用户关闭。

第三节 在窗口中调用数据窗口

要使用一个 DataWindow,必须先将它与一个窗口关联。 一、在窗口中调用(关联)数据窗口

不要混淆DataWindow和DataWindow控件。DataWindow负责在数据库存储和提取信息,并显示信息;DataWindow控件负责在一个窗口中的特定位置,放置和管理DataWindow的内容。

把DataWindow加到一个窗口上的步骤:

1.单击 PainterBar中的 DataWindow Control图标。

2.单击主窗口上预计放置数据窗口的位置,建立一个DataWindow控件框。 3.在数据窗口控件中单击鼠标右键,弹出一个菜单,并选择其中的属性项。

4.从“属性”中的DataObject列表框中选择所需要的数据窗口,使这个数据窗口出现在 DataWindow控件内。

5.调整DataWindow控件的大小,及其它属性,例如滚动条等。 6.存储退出。

二、在窗口上加上控制按钮

控制按钮常针对数据窗口执行insert、delete、update等功能。可以使用图形按钮或命令按钮。 命令按钮的建立由学生自己完成。 图形按钮的建立过程:

1.在 Painter Bar中单击 Picture Button图标;

2.单击主窗口上预计放置按钮的位置,建立起图形按钮;

3.在按钮上单击鼠标右键,弹出一个菜单,并选择其中的属性项,使得Select Picture对话框出现,给出供选择的位图;

4.在列表框中选择一个位图文件 *.bmp;

5.随后确定它的属性,例如尺寸大小等,一般选择 Original Size。 Default是把它确定为缺省按钮。 6.调整空间、对齐; 7.存储退出。

第四节 MDI窗口

MDI(多文档界面)风格的窗口,可以平铺或级联多个单子,?让多个单子同时打开。 用户可能想同时见到几个窗口,例如可能想同时见到两个部门的报告。 MDI允许见到单子的任意组合,这是一个显著的优点。

几乎所有的应用都适合用 MDI风格。MDI框架还提供帮助。

用 PowerBuilder的模板应用创建项,可以由PB系统很容易地建立一个 MDI应用。

建立了数据库、应用、数据窗口、窗口和菜单这些主要的对象,就可以像拼玩具一样,将它们连接在一起,形成我们自己开发的系统。

实验操作七 小 结

窗口是一个应用调用的基本对象,也是用户看到的最一般的界面。 模板应用带有三类预先定义好的窗口,分别是 MDI Frame(框架),MDI Sheet(单子、工作表),和w_genapp_about。

可用于窗口的控件有:命令按钮、图标按钮、静态文本、单行编辑框、编辑模具(屏蔽)、多行编辑框、列表框、复选框、单选按钮、数据窗口控件、下拉列表框,等等。

建立新窗口的步骤:在菜单中选择new,打开窗口画板,指定窗口的属性(包括类型)和窗口名等,加入窗口上所需要的各种控件,为某些控件编写所需要的脚本,调试和预览,存储退出。 窗口的有6种类型:主窗口、子窗口、弹出式窗口、响应窗口、MDI框架窗口(带微帮助)和MDI Frame(没有自动的微帮助)。

建立控件的方法一般是:单击特定控件图标,然后单击窗口上预计放置控件的位置,并输入所需要的

文字,调整控件的大小,文字的大小,以及字体等。

要使用一个 DataWindow,必须先将它与一个窗口关联。必须在DataWindow控件中放置DataWindow。 用MDI(多文档界面)风格的窗口,用户可以同时打开多个窗口,MDI允许单子的任意组合,这是一个显著的优点。

建立了数据库、应用、数据窗口、窗口和菜单这些主要的对象,就可以像拼玩具一样,将它们连接在一起,形成我们自己开发的系统。

××××××××××××××××××××××××

2011-2-22 最后修改

本文来源:https://www.bwwdw.com/article/0f5a.html

Top