仓库管理系统系统开发与设计(课程设计)_第1页
仓库管理系统系统开发与设计(课程设计)_第2页
仓库管理系统系统开发与设计(课程设计)_第3页
仓库管理系统系统开发与设计(课程设计)_第4页
仓库管理系统系统开发与设计(课程设计)_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计题目:仓库管理系统系统开发与设计简介 : 实现了仓库管理的基本功能入库, 出库 , 归还库 , 采购 , 报表 , 查询信息等功能 , 为仓库者提供十分方便系统服务. 不管是大仓库还是小仓库系统都是绝佳的选择 , 全文介绍了仓库管理系统的设计与开发过程, 全面实现了对象化编程, 后台数据库采用MS SQL Server大型数据库管理系统。1. 前言 32. 系统设计目标及可行性分析2.1 系统目标设计 62.2 开发性思想 62.3 系统功能模块图 73. 系统的数据库设计3.1 数据库需求分析 83.2 数据库概念结构设计 113.3 数据库逻辑结构设计 143.4 连接数据库 14

2、4. 创建应用程序4.1 创建应用程序对象 154.2 创建主菜单 154.3 创建主窗口 175. 系统设置模块5.1 系统模块设计 215.2 入库信息查询管理 225.3 出库信息查询管理 265.4 库存信息管理 295.5 系统维护 325.6 工具使用 355.7 系统帮助 376. 系统调试 6.1 系统开发环境 386.2 系统编译 386.3 系统测试 381. 引言管理系统主要提供一个仓储业务及其作业管理的信息存储和检索系统。通过入库管理,出库管理,报表生成管理,仓库人员管理管理,仓库位置信息管理等功能模块来实现仓库的综合管理。基于仓库管理的全面自动化,可以减少入库管理、出

3、库管理及库存管理中的漏洞,可以节约不少管理开支,增加企业收入。入库、库存、出库还是现在企业仓库管理的常规基本模式,虽然,最近又出现了很多新的管理模式,如: 基于零库存思想的沃尔玛特管理方式,但这些新的思想在中国大部分企业的管理中还是难以实现的。所以如何设计好仓库管理系统, 尽可能地减少仓库管理的重复性和低效性就成为当前最为重要的问题。仓库管理的核心是入库、库存和出库之间的联系,如何处理好三者之间的关系是系统最为关键的部分。另外, 员工信息和供应商信息管理也是仓库管理中一个必不可少的部分,它提供着与入库和出库相关的地一些信息,使得整个系统更加完整,更加实用。在系统的设计中,详细的展现了系统的各个

4、功能模块,所需的数据库表及表字段,菜单的设计等。在系统的实现中国,给出了表单中相应的功能控件的事件及代码。通过对仓库管理日常工作的详细调查,搜集了大量的资料,从系统结构的组织, 功能的实现,技术的要求以及可行性等多方面进行考虑,认为本课题是一个适应现今仓库管理需求的计算机信息管理系统,具有一定的实际开发价值和使用价值。2. 设计目标及可行性分析2.1 设计目标(1) 系统开发的总体目标是计算机管理仓储系统从入库到出库的全部过程,为企业的仓库管理工作提高高效,简洁,方便的服务,本系统的总目标是为管理者提供迅速、高效的服务,减免手工处理的繁琐与误差,使公司能得到更大的利益。(2) 系统的设计方向是

5、针对于企业对员工管理体系的优化整合,其目的是为了提高企业的管理水平,充分利用企业的现有资源,扩充计算机软件的功能,减轻管理人员的劳动强度,从而解决传统手工操作中录入繁琐,修改困难,查阅不方便,统计工作量大,效率低等问题。(3) 通过毕业设计,可以加深学生对各门课程所学知识的理解和应用,沟通各门学科间的联系,让学生对所学知识有一个系统,全面的认识和理解,开拓学生的思维能力和综合应用能力,开发学生的创造力,使学生对所学知识从感性的认识转化为实际的开发应用,提高学生的综合应用能力。2.2 开发性思想仓库管理系统的物资在本章中主要是企业生产所需要的各种设备。进货时经检查合同确认为有效托收以后,进行验收

6、入库,填写入库单,进入库登记。企业各个部门根据所需要的物资设备总额和部门生产活动需要提出物资需求申请。计划员根据个企业的需求开出物资设备出库单。仓库管理员根据出库单核对发放设备。设备使用完毕需要及时归还入库,填写入库单。仓库管理的特点是信息处理量比较大。所管理的物资设备种类繁多,而且由于入库单,出库单,需求单等单据发生量特别大,关联信息多,查询和统计的方式各不相同。因此在管理上实现起有一定的困难。在管理的过程中经常会出现信息的重复传递;单据,报表种类繁多,各个部门管理规格不统一等问题。为了克服这些困难,我们采取了下面的一些原则。统一各种原始单据的格式,统一账目和报表的格式2 删除不必要的管理冗

7、余,实现管理规范化,科学化。3 程序代码标准化,软件统一化,确保软件的可维护性和实用性。4 建立操作日志,系统自动记录所进行的各种操作。2.3 系统功能模块设计在系统功能分析的基础上,给出系统的功能模块图,如图所示。1 系统模块图3.2 数据库概念结构设计3.1 数据库的需求分析这一设计阶段是在需求分析的基础上,设计同能够满足用户需求的各种实体,以及他们之间的关系,为后面的逻辑结构设计打下基础。本设计规划出的实体有库存实体,入库实体,出库实体,采购实体,还库实体,需求实体。在仔细调查企业仓库物资设备管理过程的基础上,行到本系统所处理的数据流程图,如图所示。针对本实例,通过对企业管理的内容和数据

8、流程分析,设计的数据项和数据现结构如下。(1) 设备代码信息。包括的数据项有设备号,设备名称。(2) 现有库存信息。包括的数据项有设备号,现有数目,总数目,最大库存,最小库存等。(3) 设备入库信息。包括的数据项有设备号,入库时间,供应商,供应商电话,入库数量,采购员等。(4) 设备出库信息。包括的数据项有采购的设备,使用部门,出库时间,经 手人,出库数量,领取人等。(5) 设备需求信息。包括的数据项有需求的部门,需求设备,需求数目,需求时间等。(6) 设备采购信息。包括的数据项有设备号,现有库存,总库存, 最大库存,购买数量,供应商,价格等。设备代码的E-R图,如图所示3 设备代码E-R 图

9、现有库存的E-R图,如图所示5 设备入库E-R 图4 现有库存E-R 图设备入库的E-R图,如图所示设备出库的E-R 图,如图所示6 设备出库E-R 图设备需求的E-R 图,如图所示7 设备需求E-R 图设备采购的E-R 图,如图所示8 设备采购E-R 图3.3 数据库逻辑结构设计仓库管理系统数据库中各个表格的设计结果如下面几个表格所示。每个表 格表示在数据库中的一个表。表 1 设备代码表d_code列名数据类型可否为空说明CodeVARCHAR(6)NOT NULL设备号( 主键)NameVARCHAR(20)NULL设备名称表 2 设备入库表d_in列名数据类型可否为空说明CodeVarc

10、har(6)Not nul设备号In_dateDateNot Null入库时间( 主键 )ProviderVarchar(20)Null供应商TelenoVarchar(10)Null供应商电话In_numberIntegerNull入库数量PriceIntegerNull价格BuyerVarchar(10)null采购员表 3 设备出库表d_out列名数据类型可否为空说明CodeVarchar(6)Not null设备号DepartmentVarchar(20)Null使用部门Out_dateDateNot null出库时间( 主键 )Out_stateVarchar(6)Null出库状况O

11、ut_personVarchar(10)Null经手人Out_numberIntegerNot null出库数量takerVarchar(10)Null领取人usageVarchar(20)Null用途表 4 设备库存表d_kucun列名数据类型可否为空说明CodeVarchar(6)Not null设备号( 主键)Now_numberIntegerNull现有库存High_numberIntegerNull最大库存Low_numberIntegerNull最少库存Total_numberintegernull总数表 5 部门需求表d_need列名数据类型可否为空说明CodeVarchar(6

12、)Not null设备号(主键)DepartmentVarchar(10)Not null部门名称Need_numberIntegerNull需要数量Begin_dateDateNull需求开始时间Edn_datedatenull需求结束时间表 6 设备还库表d_return列名数据类型可否为空说明CodeVarchar(6)Not null设备号Return_datedateNot null还库时间( 主键 )keeperVarchar(10)Null仓库管理员Return_numberintegerNull归还数量Return_personVarchar(10)null归还人表 7 操作日

13、志表d_log列名数据类型可否为空说明Do_userVARCHAR(10)NOT NULL操作员( 主键)Do_whatVARCHAR(40)Not null操作内容Do_datedateNot null操作时间表 8 设备采购计划表d_buy列名数据类型可否为空说明CodeVarchar(6)Not null设备号Now_numberIntegerNull现在库存Total_numberIntegerNot null总库存Max_numberIntegerNull最大库存Buy_numberIntegerNull购买数量ProviderVarchar(10)null供应商PriceInteg

14、erNull价格Buy_datedateNot Null计划采购时间( 主键 )3.4 连接数据库在 DB Profile 创建成功后,就可以连接数据库了。在database 画板的objest 子窗口中,选择ODBC项,在该项列出了所有可以连接的数据库的DBProfile 。选择要连接的DB Profile ,这里为wwb,单击鼠标右键,选择connect连接数据库,如图所示。图 9 连接数据库图4. 创建应用程序4.1 创建应用程序对象数据库创建完成后,下面开始创建应用程序部分。在 pb9.0 中, 继续沿用workspace 和 target 的概念。 所以要先建立一个工作区,然后再建立

15、应用程序对象及其所在的库和目标。建立一个工作区名为zyun, 在此工作区下创建应用程序对象zyun4.2 创建主菜单10 主菜单创建结果4.3 创建登录窗口1 .创建登录窗口单击工具栏上的New 图标, 选择 PB Object标签页, 在该页中,选择 Window,单击 OK 按钮打开Window Printer(窗口画板),新建一个窗口w_main,并将其与 m_main 相连。具体设置见表表 9 登录窗口w_main 的属性设置表属性属性取值Title欢迎进入仓库管理系统MenunameM_mainwindowtypeMdi!backcolorcreamMdiclientSilverWi

16、ndowsateNormaX400Y200Width3000Height20002 .登录窗口的功能:为使这个数据库系统更有实用性,能够应用到实际的操作中。保证数据的安全性,统一性的管理,起到有效作用。3 .为主窗口w_main 添加脚本现在,在窗口的open 事件中添加连接数据库的脚本用于连接数据库,具体脚本如下:sqlca.dbms="odbc"sqlca.dbparm="connectstring='dsn=zyun;uid=dba;pwd=sql'"connect;if sqlca.sqlcode<0 then messag

17、ebox("连接失败","无法连接数据库")end ifopen(w_main)4 .完成应用程序基本创建打开application object zyun ,在应用对象画板中zyun对象的 open时间中添加脚本:Open(w_denglu)完成这一切以后,保存所有对象,开始运行应用程序。单击pb 工具栏上的运行图标,将看到如图所示的结果。用户名为:zhang密码为:zhang11 用户登录窗口5. 系统设置模块5 1 系统模块设计1. 创建窗口w_in,第1 步方法与创建主mdi 窗口方法一样,只是设置属性时有较大的不同,只需要将其属性windowt

18、ype 设置为“main! ”,其余属性全部采用默认值即可,创建父窗口的第2 步是在窗口中添加一个数据窗口控件dw_1,这样从父窗口w_in 继承下来的所有子窗口中都会自动添加添加一个数据窗口控件 dw_1,第3 步是在窗口的右下方放置4 个控件按钮,其 click 事件中分别用来实现数据窗口控件中的数据的增加,删除,保存,以及窗口退出的功能。设备入库窗口界面如图所示。12 设备入库窗口2. 为 w_in 窗口添加用户自定义事件及其脚本首先为窗口对象w_in 的 open 事件添加如下脚本:dw_1.settransobject(sqlca)dw_1.retrieve()这一句脚本的作用是将数

19、据窗口控件dw_1 与 pb 默认的全局事务对象sqlca关联起来,这样就可以直接使用数据库操纵语句操纵数据库了。在 cb_1 的 click 事件中输入下面的程序代码:i=dw_1.insertrow(0)dw_1.setfocus()dw_1.scrolltorow(i)dw_1.setcolumn(1)在 cb_2 的click 事件中输入下面的程序代码dw_1.deleterow(0)在 cb_3 的click 事件中输入下面的程序代码:if update(dw_1,true,false)=1 thendw_1.resetupdate()commit using sqlca;messa

20、gebox(成功"","保存成功!")elserollback;messagebox(错误!"! ","数据保存失败")end if在 cb_4 的 click 事件中输入下面的程序代码:open(w_main)close(parent)3. 创建子窗口对象对 应 系 统 设 置 菜 单 , 创 建 6个 数 据 维 护 子 窗 口 :w_out,w_need,w_kucun,w_return,w_log,w_buy, 它们的创建都是通过继承w_in实现的。方法是选择主菜单的file > inherit 或者

21、直接单击工具栏的继承按钮,然后再弹出的窗口中选择w_in 窗口即可,各子窗口中分别包含一个数据窗口控件dw_1,同时继承4 个按钮,分别实现增加,删除,保存,和关闭的功能,下面以 w_out 为例, 介绍如何实现相关窗口的创建,物资编码窗口w_out的属性设置见表。表 10 窗口 w_out 的属性表属性属性取值title设备出库windowtypeMdi!backcolorButton faceWindowsateNormaX200Y200Width2500height15004创建数据窗口根 据 系 统 需 要 , 创 建 7 个 数 据 窗 口 对 象 : d_in,d_out , d_

22、need,d_kucun,d_log,d_buy,d_return, 有关数据窗口的说明见表对象下面以 d_need数据窗口为例,介绍如何创建数据窗口对象。d_need 的 显 示 风 格 用 grid 类 型 , 数 据 源 为 quick select, 选 择 表 device_need 的全部字段,显示标题设置为如图所示。13 d_need 数据窗口根 据 系 统 需 要 , 创 建 7 个 数 据 窗 口 对 象 : d_in_cha ,d_out_cha,d_need_cha,d_log_cha,d_buy_cha,d_return_cha,d_kucun_ch 有关 数据窗口的说

23、明见表对象。d_buy 的显示风格用freedom 类型,数据源为quick select, 选择表device_buy 的全部字段,显示标题设置为如图所示。图 14 d_buy 数据窗口5为系统主菜单m_main添加脚本在创建了各个窗口对象之后,现在打开系统主菜单m_main,为系统主菜单 mmain系统设置子菜单添加以下的各个子菜单脚本。(1) 登录窗口,为该菜单项的clicked事件添加如下脚本:open(w_denglu)Close(parentwindow)(2) 日志管理,为该菜单项的clicked事件添加如下脚本:open(w_log)Close(parentwindow)(3)

24、 设备入库,为该菜单项的clicked事件添加如下脚本:open(w_in)Close(parentwindow)(4) 设备出库,为该菜单项的clicked事件添加如下脚本:open(w_out)Close(parentwindow)(5) 设备还库,为该菜单项的clicked事件添加如下脚本:open(w_return)Close(parentwindow)(6) 设备需求,为该菜单项的clicked 事件添加如下脚本:open(w_need)Close(parentwindow)(7) 设备采购,为该菜单项的clicked 事件添加如下脚本:open(w_buy)Close(parent

25、window)至此,已完成开发系统初始与设置模块, 系统功能的所有工作。52 入库信息查询1. 入库管理模块设计创建窗口对象查询条件有7dw_1,导入的入库管理模块主要是由查询条件和显示结果两部分组成,个下拉菜单,3 个文本框 ,1 个查询按钮组成. 显示结果中有一个是 d_in, 并设有两个commond按钮: 打印 , 查询按钮。各个空间的属性设置见表。表 11 入库信息查询属性表控件属性属性取值dw_1dataobjectd_inhscrollbar选中vscrollbar选中width2000height500ddlb_1boderstylestyleloweredddlb_2bode

26、rstylestyleloweredddlb_3boderstylestyleloweredddlb_4boderstylestyleloweredddlb_5boderstylestyleloweredddlb_6boderstylestyleloweredddlb_7boderstylestyleloweredcb_1text查询cb_2text打印cb_3text退出父窗口 w_in_cha 界面如下图所示图 15 w_in_cha 界面效果2. 创建好父窗口w_in_cha 之后,在cb_1 的 clicked 事件中添加如系统设置模块中有关w_in_cha 其上的代码,其他 cb_2

27、,cb_3 类似。 在所有继承w_in_cha的子模块中都会具有打印, 退出的功能,而不必重复书写代码。查询按钮(cb_1) ,为该菜单项的clicked 事件添加如下脚本:string lookforconditionstring lookforitem1,lookforitem2,lookforitem3string lookforhow1,lookforhow2,lookforhow3string lookforwhat1,lookforwhat2,lookforwhat3string lookforoperator1,lookforoperator2 lookforhow1=ddlb_

28、4.textlookforhow2=ddlb_5.textlookforhow3=ddlb_6.textif ddlb_7.text=" 与 " thenlookforoperator1=" andelseif ddlb_7.text=" 或 " thenlookforoperator1=" orelseif ddlb_7.text=" 非 " thenlookforoperator1=" not " end ifif ddlb_8.text=" 与 " thenlookfo

29、roperator2=" andelseif ddlb_8.text="或 " thenlookforoperator2=" or "elseif ddlb_8.text="非 " thenlookforoperator2=" notend ifif ddlb_1.text=" 设备号 " thenlookforitem1="code"lookforwhat1="'"+sle_1.text+"'"elseif ddlb_

30、1.text=" 入库时间" thenlookforitem1="in_date"lookforwhat1="'"+sle_1.text+"'"elseif ddlb_1.text=" 供应商 " thenlookforitem1="provider"lookforwhat1="'"+sle_1.text+"'" elseif ddlb_1.text=" 供应商电话" thenlook

31、foritem1="teleno"lookforwhat1="'"+sle_1.text+"'"elseif ddlb_1.text=" 入库数量" thenlookforitem1="in_number"lookforwhat1="'"+sle_1.text+"'"elseif ddlb_1.text=" 价格 " thenlookforwhat1="'"+sle_1.tex

32、t+"'"elseif ddlb_1.text=" 采购员 " thenlookforitem1="buyer"lookforwhat1="'"+sle_1.text+"'"end ifif ddlb_2.text=" 设备号 " then lookforitem2="code"lookforwhat2="'"+sle_2.text+"'" elseif ddlb_2.text

33、=" 入库时间" thenlookforitem2="in_date"lookforwhat2="'"+sle_2.text+"'" elseif ddlb_2.text=" 供应商 " then lookforitem2="provider"lookforwhat2="'"+sle_2.text+"'" elseif ddlb_2.text=" 供应商电话" thenlookfori

34、tem2="teleno"lookforwhat2="'"+sle_2.text+"'" elseif ddlb_2.text=" 入库数量" thenlookforitem2="in_number"lookforwhat2="'"+sle_2.text+"'"elseif ddlb_2.text=" 价格 " then lookforitem2="price"lookforwhat2

35、="'"+sle_2.text+"'" elseif ddlb_2.text=" 采购员 " then lookforitem2="buyer"lookforwhat2="'"+sle_2.text+"'" end ifif ddlb_3.text=" 设备号 " thenlookforitem3="code"lookforwhat3="'"+sle_3.text+"

36、'"elseif ddlb_3.text=" 入库时间" thenlookforitem3="in_date"lookforwhat3="'"+sle_3.text+"'"elseif ddlb_3.text=" 供应商 " thenlookforitem3="provider"lookforwhat3="'"+sle_3.text+"'"elseif ddlb_3.text="

37、; 供应商电话" thenlookforitem3="teleno"lookforwhat3="'"+sle_3.text+"'"elseif ddlb_3.text=" 入库数量" thenlookforitem3="in_number"lookforwhat3="'"+sle_3.text+"'"elseif ddlb_3.text=" 价格 " thenlookforitem3="

38、;price"lookforwhat3="'"+sle_3.text+"'"elseif ddlb_3.text=" 采购员 " thenlookforitem3="buyer"lookforwhat3="'"+sle_3.text+"'"end ifif ddlb_1.text=""or ddlb_4.text="" thenelseif ddlb_2.text=""or

39、ddlb_5.text="" thenlookforcondition=lookforitem1+lookforhow1+lookforwhat1elseif ddlb_3.text=""or ddlb_6.text="" thenlookforcondition=lookforitem1+lookforhow1+lookforwhat1+lookforoperatoelselookforcondition=lookforitem1+lookforhow1+lookforwhat1+lookforoperato r1+lookfori

40、tem2+lookforhow2+lookforwhat2+lookforoperator2+lookforitem 3+lookforhow3+lookforwhat3end ifdw_1.setfilter(lookforcondition)filter(dw_1)dw_1.retrieve()打印按钮(cb_2) ,为该菜单项的clicked 事件添加如下脚本:dw_1.print()5 3 出库信息查询1. 出库查询的作用是对已经出库的货物进行查询,确认出库货物无误,保证出库货物数量的正确性,管理者根据查询出的资料可以对客户进行回访,及时做出库存调整完善仓储管理。出库查询界面如下:17

41、 w_out_cha 界面效果1. 创建窗口对象入库管理模块主要是由查询条件,查询条件有4个按钮 ,. 有一个dw_1,导入的是 d_kucun_free, 并设有 4 个commond按钮: 第一条,前一条,后一条,最后一条。各个空间的属性设置见表。表 12 库存信息查询属性表控件属性属性取值dw_1dataobjectd_kucun_freehscrollbar选中vscrollbar选中width2000height500cb_1text第一条cb_2text前一条cb_3text后一条cb_4text最后一条2. 库存的作用是对已经入库的货物进行存储,确认入库货物无误,保证出库货物数量

42、的正确性,管理者根据查询入的资料可以对信息进行存储管理的。可以显示各条信息。库存查询界面如下:19 w_kucun 界面效果如图库存查询后,显示结果如图所示:20 w_kucun_cha 界面效果5.5 系统维护1. 更改口令更改口令是更改仓库管理员口令,每个管理员都会有一个属于自己的口令,这样容易避免口令的泄漏,有利于仓储管理的保密性,出了事故后更容易找到负责人,不至于一个一个的查,节省时间。更改口令界面如下:图 21 设备入库窗口在 cb_1 的 clickde 事件中加入如下代码:string is_passwordselect passwordinto :is_passwordFROM

43、 "userwhere name=:ddlb_1.text;if is_password=sle_old.text thenif sle_new.text=sle_new2.text thenupdate ispassword set password=:sle_new.textwhere name=:ddlb_1.text;messagebox("提示"," 修改成功")sle_old.text=""sle_new.text=""sle_new2.text=""returnelsem

44、essagebox("警告 "," 两次输入的口令不一样")sle_new.text=""sle_new2.text=""returnend ifelsemessagebox("警告 "," 原口令不一样")sle_old.text=""returnend if2. 更改用户前面已经说过,每个管理员都有自己的用户名和密码,更改用户就是让管理员用自己的用户名和密码进入仓储管理系统进行操作,这样容易分清责任,同时可以将每个管理员的工作记录分别进行记录,防止工作

45、记录出错,而且还起到安全作用, 由于更改用户的界面跟登陆界面一样,在这里就不再显示更改用户窗口的界面。3. 数据备份数据备份功能对于系统的数据安全有着非常重要的作用。每天备份数据,当数据库发生错误时最大程度的减少损失。数据备份具有检查错误的功能。如果数据库有错误,备份将会失败。这样可以及时地发现问题,尽早修复数据库错误。当客户数据量非常庞大以后,每隔一段时间(例如每周)进行数据备份(Backup)和恢复 (Restore) , 可以减少数据库冗余、重建数据库索引,提高数据库的操作、查询速度。数据备份界面如下:图 22 数据备份运行效果在数据备份窗口的open 事件中输入代码:this.wf_i

46、nit_draw()string ls_bforhfls_bforhf=message.stringparmif ls_bforhf=" 数据恢复" thenib_hf=truecb_backup.text="开始恢复"elseib_bf=truecb_backup.text="数据备份"end ifinvo_process=create nvo_process在 rb_backup 的 clickde 事件中加入如下代码:setpointer(HourGlass!)if ib_bf thenwf_compress()elsewf_u

47、ncompress()end if5.6 工具使用1. 计算器使用本 节 通 过 一 个 用 powerbuilder 制 作 的 计 算 机 应 用 程 序 , 初 步 了 解 powerbuilder 编程的基本过程,而且使用起来也特别方便,主要用于存放计算器的应用。计算器运行后结果如图所示:23 计算器运行效果设置计算器的步骤如下所示: 声明几个变量在” script ”脚本区左上边的下拉列表框中选择”(declare) ” , 然后在下面的脚本区中编写代码如下:decimal add1char s1int flag2) 在窗口中布置10 个数字按钮和小数点按钮首先, 制作数字”1”按钮

48、, 并按鼠标右键,弹出子菜单,选择” script ” 编辑代码如下所示:if flag=0 thensle_1.text= ”flag=1end Ifsle_1.text=sle_1.text+this.text保存已完成的工作。由于 10 个数字按钮以及小数点按钮的”click ”事件的脚本都一样, 只是 text 属性不同,因此, 可以使用”复制”, 再”粘贴”的方法来实现。3) +,-,*,/ 运算符按钮的制作首先,制作”+”运算符按钮,将按钮tex 栏中的内容改为”+”加号,编辑按钮的” clicked ”,事件脚本代码如下 :choose case s1casesle_1.text

49、=string(dec(sle_1.text)*add1) case '/'sle_1.text=string(add1/dec(sle_1.text) case '+'sle_1.text=string(dec(sle_1.text)+add1)case '-'sle_1.text=string(add1 - dec(sle_1.text)end chooseadd1=dec(sle_1.text)s1=this.textflag=0保存完成后,由于4 个运算符按钮的”clicked ”事件的脚本是一样的,所以可以用控件完全复制的方法来创建其他

50、运算符按钮。4) “清除”按钮的制作将 text 栏中的内容改为”清除”, 在其” clicked ” 事件中输入以下脚本:sle_1.text= ”add1=0s1= flag=0保存已经完成的操作。5) “ =”按钮的操作首先,将text 内容改为”=” , 在” clicked ”的脚本中,添加代码如下:choose case s1case "*"sle_1.text=string(dec(sle_1.text)*add1)case '/'sle_1.text=string(add1/dec(sle_1.text)case "+"s

51、le_1.text=string(dec(sle_1.text)+add1)case "-"sle_1.text=string(add1 - dec(sle_1.text)end chooseflag=0s1=''保存添加了控件的窗口对象,关闭窗口。2. 记事本使用记事本是用来对一些内容,数字,信息的记载,并保存其内容,便于以后查 询方便,这是一个保存信息存储的工具。显示结果如图所示:图 24 记事本运行效果设置”保存”按钮,打开”script ”,编辑代码如下所示:string areaarea=sle_1.textif update(dw_1,true,false)=1 thendw_1.resetupda

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论