分享
2023年应用程序设计(教学课件).ppt
下载文档

ID:295665

大小:1.02MB

页数:92页

格式:PPT

时间:2023-03-19

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
2023 应用 程序设计 教学 课件
13 应用程序设计应用程序设计 同济大学同济大学 本章目标本章目标 本章主要介绍使用本章主要介绍使用PowerBuilder 8.0进行应用程序设计,要求掌握使用进行应用程序设计,要求掌握使用PowerBuilder8.0 进行应用程序设计的进行应用程序设计的根本步骤和需要编写的代码。根本步骤和需要编写的代码。应用程序是应用程序是PowerBuilder程序的程序的入口,它定义了应用程序的系统级行入口,它定义了应用程序的系统级行为,例如应用程序使用哪些应用库来为,例如应用程序使用哪些应用库来保存用到的各种对象、对象的缺省字保存用到的各种对象、对象的缺省字体、应用程序的图标等。体、应用程序的图标等。13.1 概述概述 对于所有的应用程序而言,都必须有一个程对于所有的应用程序而言,都必须有一个程序入口,系统的运行必须从这个入口开始。例如,序入口,系统的运行必须从这个入口开始。例如,用用C语言编写程序时,语言编写程序时,main()就是入口点。与此就是入口点。与此相同使用相同使用PowerBuilder开发的应用程序同样需要开发的应用程序同样需要一个入口点,它是一个入口点,它是PowerBuilder的一个对象的一个对象应用对象。每个应用对象。每个PowerBuilder应用程序都有且恰应用程序都有且恰有一个应用对象,它代表了整个应用程序。程序有一个应用对象,它代表了整个应用程序。程序从应用对象开始运行。从应用对象开始运行。PowerBuilder是个面向对象的开是个面向对象的开发环境,用它开发的应用程序以对象发环境,用它开发的应用程序以对象和事件驱动为根本特征。应用对象是和事件驱动为根本特征。应用对象是作为作为PowerBuilder的对象之一,同样的对象之一,同样有一组事件,当用户运行应用程序时,有一组事件,当用户运行应用程序时,这些事件在不同的情况下被触发,我这些事件在不同的情况下被触发,我们可以为这些事件编写代码以满足我们可以为这些事件编写代码以满足我们的具体要求。们的具体要求。13.1.1 应用程序的类别应用程序的类别 在在PowerBuilder中的应用程序有以下几种:中的应用程序有以下几种:执行应用程序:这类应用程序是包括窗口、数执行应用程序:这类应用程序是包括窗口、数据窗口和菜单等内容的集合一般用于传统的据窗口和菜单等内容的集合一般用于传统的C/S模式。应用程序是分布式系统中的客户机或效模式。应用程序是分布式系统中的客户机或效劳器程序。劳器程序。效劳器应用程序:这类应用程序是包含多个用效劳器应用程序:这类应用程序是包含多个用户自定义对象的组件集合,这些对象提供了分户自定义对象的组件集合,这些对象提供了分布式系统比方布式系统比方Jaguar CTS.需要的企业级信需要的企业级信息。息。网络应用程序:这类应用程序是在网络应用程序:这类应用程序是在IE中运行的中运行的一些窗体。一些窗体。PowerBuilder 为我们提供了创立网为我们提供了创立网络应用程序的很多扩展信息,读者可以在以后络应用程序的很多扩展信息,读者可以在以后的工作中灵活调用。的工作中灵活调用。13.1.2 新建应用程序新建应用程序 创建工作区创建工作区 Step 1 保存工作区保存工作区 Step 2 创建应用程序创建应用程序 Step 3 定义应用程序和库文件定义应用程序和库文件 Step 4 完成应用程序完成应用程序 Step 5 13.1.3 翻开建应用程序翻开建应用程序 打开应用程序打开应用程序 Step 1 应用程序选择对话框应用程序选择对话框 Step 2 定义搜索路径定义搜索路径 Step 3 目标文件对话框目标文件对话框 Step 4 打开应用程序结果打开应用程序结果 Step 5 开始应用程序的升迁开始应用程序的升迁 Step 6 应用程序升迁对话框应用程序升迁对话框 Step 7 13.2 为应用程序编写代码为应用程序编写代码 13.2.1 连接数据库连接数据库 直接连接数据库是在应用程序中直接书写直接连接数据库是在应用程序中直接书写数据库的连接信息以实现与数据库的连接。数据库的连接信息以实现与数据库的连接。这种方法使用起来比较简单,但是一定要注这种方法使用起来比较简单,但是一定要注意,当数据库的信息发生变化那么必须修改意,当数据库的信息发生变化那么必须修改程序源代码以适应这些变化,由此对于移动程序源代码以适应这些变化,由此对于移动数据库来说很不适合需要。主要实现代码如数据库来说很不适合需要。主要实现代码如下:下:/接口采用接口采用ODBC,DNS是是HK_ERP,UID是是HK_ERP,PWD是是HK_ERP sqlca.dbms=ODBC sqlca.dbparm=Connectstring=DSN=HK_ERP;UID=HK_ERP;PWD=HK_ERP Connect If sqlca.sqlcode 0 Then MessageBox(数据库连接错误数据库连接错误,sqlca.sqlerrtext,Exclamation!)Halt Close End if 13.2.2 翻开窗口翻开窗口 数据库连接完成后需要翻开应用数据库连接完成后需要翻开应用系统的主窗口主要实现代码如下:系统的主窗口主要实现代码如下:/续上节代码续上节代码 Open(w_main)本章小结本章小结 应用程序设计的根本步骤应用程序设计的根本步骤 为应用程序设计编写代码为应用程序设计编写代码 14 菜单设计菜单设计 本章目标本章目标 本章主要介绍使用本章主要介绍使用PowerBuilder 8.0进行菜单设计,要求掌握使用进行菜单设计,要求掌握使用PowerBuilder 8.0 进行菜单设计的根进行菜单设计的根本步骤和需要编写的代码。本步骤和需要编写的代码。菜单由一系列命令或选项菜单项菜单由一系列命令或选项菜单项构成,用户通过选择选项发出命令,指示构成,用户通过选择选项发出命令,指示程序完成用户期待的任务。菜单项就相当程序完成用户期待的任务。菜单项就相当于一个命令,有时,通过菜单项和通过命于一个命令,有时,通过菜单项和通过命令按钮可以到达同样的效果。但是,应当令按钮可以到达同样的效果。但是,应当注意,菜单是在程序运行过程中动态生成注意,菜单是在程序运行过程中动态生成和维护的,因此具有不稳定性,在其中应和维护的,因此具有不稳定性,在其中应当尽量放置较少的代码。当尽量放置较少的代码。14.1 菜单设计根底菜单设计根底 菜单可以分为下拉式菜单、弹出式菜菜单可以分为下拉式菜单、弹出式菜单、级联式菜单三种类型。它们都是由一单、级联式菜单三种类型。它们都是由一些菜单项组成的。菜单在些菜单项组成的。菜单在PowerBuilder中中也是一种对象,在应用设计过程中,我们也是一种对象,在应用设计过程中,我们可以在任何时间创立可修改菜单。可以在任何时间创立可修改菜单。14.1.1 创立菜单创立菜单 菜单项的创立和修改一般都是通过菜单项的创立和修改一般都是通过PowerBuilder系统提供的系统提供的Menu画板完成画板完成的。创立菜单一般包括以下几个步骤:的。创立菜单一般包括以下几个步骤:新建对话框新建对话框 Step 1 Menu画板画板 Step 2 创建菜单创建菜单 Step 3 菜单示例菜单示例 Step 4 14.1.2 工具栏设计工具栏设计 为了使应用程序使用起来更加方便,我们可为了使应用程序使用起来更加方便,我们可以给它加上工具栏。工具栏上的图标按钮为菜单以给它加上工具栏。工具栏上的图标按钮为菜单项的选择提供了一种快捷方式,用户只需单击工项的选择提供了一种快捷方式,用户只需单击工具栏上的图标就能完成相应菜单项的相同功能。具栏上的图标就能完成相应菜单项的相同功能。在在PowerBuilder中:用户能够控制工具栏的中:用户能够控制工具栏的显示特性显示特性;工具栏上的图标按钮直接对应于菜单中工具栏上的图标按钮直接对应于菜单中的某个菜单项,用户单击工具栏上的图标按钮与的某个菜单项,用户单击工具栏上的图标按钮与单击相应菜单项的效果相同单击相应菜单项的效果相同;同一个菜单可以有多同一个菜单可以有多个工具栏个工具栏;菜单中定义的工具栏只对菜单中定义的工具栏只对MDI窗口有效。窗口有效。对其它类型窗口来说,菜单定义的工具栏无效,对其它类型窗口来说,菜单定义的工具栏无效,不会显示在窗口上。如果用户实在需要的话只有不会显示在窗口上。如果用户实在需要的话只有自己编程实现自己编程实现;当工具栏上的图标较多时,也可以当工具栏上的图标较多时,也可以定义下拉式工具栏图标,就像定义下拉式工具栏图标,就像PowerBuilder开发开发环境中控件图标那样。环境中控件图标那样。创立工具栏的步骤创立工具栏的步骤 创建工具栏(一)创建工具栏(一)Step 1 创建工具栏(二)创建工具栏(二)Step 2 工具栏创建完成工具栏创建完成 Step 3 创建工具栏结果创建工具栏结果 Step 4 14.2 菜单的属性和事件菜单的属性和事件 菜单的主要功能是用来执行一条菜单的主要功能是用来执行一条或一组命令,它本身的属性和事件比或一组命令,它本身的属性和事件比较少,并且不复杂。较少,并且不复杂。14.2.1 菜单的属性菜单的属性 翻开菜单的属性页,如以下图所示。翻开菜单的属性页,如以下图所示。用户可以在属性页内修改菜单属性,也用户可以在属性页内修改菜单属性,也可以在程序中进行动态赋值,前一种实可以在程序中进行动态赋值,前一种实现比较方便,后一种比较灵活。这两种现比较方便,后一种比较灵活。这两种方法可以根据用户需求任意选择。方法可以根据用户需求任意选择。14.2.2 菜单的事件菜单的事件 翻开菜单的属性页,如以下图所示。翻开菜单的属性页,如以下图所示。用户可以在属性页内修改菜单属性,也用户可以在属性页内修改菜单属性,也可以在程序中进行动态赋值,前一种实可以在程序中进行动态赋值,前一种实现比较方便,后一种比较灵活。这两种现比较方便,后一种比较灵活。这两种方法可以根据用户需求任意选择。方法可以根据用户需求任意选择。Select事件:当用户使用箭头键或鼠标移动焦事件:当用户使用箭头键或鼠标移动焦点到该菜单对象时触发点到该菜单对象时触发Select事件。事件。Select事件事件没有参数和返回值。常用于显示帮助信息等。没有参数和返回值。常用于显示帮助信息等。Click事件:当用户单击菜单项、用键盘选择事件:当用户单击菜单项、用键盘选择该菜单项并按该菜单项并按“Enter键、按住菜单项的快捷键、按住菜单项的快捷键或者当菜单项可见时按住加速建都会触发该键或者当菜单项可见时按住加速建都会触发该菜单项的菜单项的Clicked事件。该事件无参数、无返事件。该事件无参数、无返回值。常用于翻开窗口等操作,例如以下代码回值。常用于翻开窗口等操作,例如以下代码翻开窗口:翻开窗口:w_xxsz open(w_xxsz,w_main)14.2.3 菜单函数菜单函数 Disable:语法:语法:menuname.Disable()功能功能:使某菜单项不能使用,一般是变为灰色。使某菜单项不能使用,一般是变为灰色。参数:参数:menuname 菜单名称菜单名称 Enable:语法:语法:menuname.Enable()功能功能:Enable()函数使得某菜单项可用。函数使得某菜单项可用。参数:参数:menuname 菜单名称菜单名称 PopMenu:语法:语法:menuname.PopMenu(xlocation,ylocation)功能功能:在某位置显示菜单在某位置显示菜单 参数:参数:menuname 菜单名称菜单名称 xlocation 位置位置 x 坐标坐标 ylocation 位置位置 y 坐标坐标 PostEvent:语法:语法:objectname.PostEvent(event,word,long )功能:功能:把指定事件放置到菜单对象事件队列的尾部。把指定事件放置到菜单对象事件队列的尾部。参数:参数:ob

此文档下载收益归作者所有

下载文档
你可能关注的文档
收起
展开