




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件开发工具与环境(修改)doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 信息系统开发工具实验指导 实验一: 实验一:熟悉 PowerBuilder 9.0 的开发环境 实验目的:掌握 PowerBuilder 9.0 的开发环境的基本操作 实验目的: 实验要求: 实验要求:上机熟悉 pb 的环境和完成一个 简单的例子 实验内容: 实验内容:一个简单的应用程序 实验步骤: 实验步骤: 1) 启动 PowerBuilder 9.0 应用程序 步骤: 开始菜单程序SybasePowerBuilder 9.0PowerBuilder 9.0。 启动后如图 1-1 所示: 2) 一个具体的例子 首先在 D 盘创建文件夹,名称为: “应用程序” 。 1) 新建一个工作空间对象 单击“file”菜单,选择“New” , 1 信息系统开发工具实验指导 然后在出现的“New Workspace”对话框中选择保存路径和确定工作空间名称。如下图所 示: 单击保存。 2) 新建一个应用程序对象 单击“file”菜单,选择“New” ,在“New”对话框中选择“Target” 。如下图所示。 2 信息系统开发工具实验指导 单击 “OK” 在出现的 , “Specify New Application and Library” 对话框中的 “application name” 中输入应用程序名(如,A_main,注意:应用程序的名称不能与工作区的名称同名) ,在 下面的“Library”采用默认的即可。如 3 信息系统开发工具实验指导 单击“Finish” ,结果如下: 3) 新建窗体 单击“file”菜单,选择“New” ,在“New”对话框中选择“PB Object” 。如下图所 示。 单击“OK” ,结果如下: 4 信息系统开发工具实验指导 4) 应用程序界面设计 (1)选择控件,方法单击工具栏上的 按钮,如下图所示: 然后选择某一控件,最后在窗体上单击,控件便画在窗体上了。如图所示: 5 信息系统开发工具实验指导 在窗体上画出下图所示的控件。 (2)编写代码 双击确定按钮,在确定按钮的 click 事件下编写如下代码:如下图所示: 同理,双击重置按钮,编写如下代码 Sle_1.text=” Sle_2.text=” 6 信息系统开发工具实验指导 Sle_3.text=” 在退出按钮下编写,如下代码: Close(parent) (3)保存窗体 5)编写应用程序对象的代码 双击系统树中的 ,为应用程序编写代码,如下图所示:最后保存 6)运行 单击“ ”运行,就可以看到你的制作成果。 试验二: 试验二:Power Script 编程语言 实验目的: 实验目的:掌握 PowerBuilder 9.0 的 Power Script 编程语言 实验要求: 实验要求:上机熟悉 Power Script 编程语言并完成一个简单的应用程序 实验内容: 实验内容:一个简单的应用程序 试验步骤: 试验步骤: 1建立一个工作空间,命名为“jedxxzh_workspace” ,并保存在“d:金额大小写转换”目 录下,然后建立一个应用程序对象,命名为“jedxxzh_app” ,保存在“d:金额大小写转 换”目录下。 2新建一个窗口,命名为“jedxxzh_win” ,在窗口上添加 3 个静态文本框,2 个单行编辑 框和两个命令按钮、一个组合框。如下图所示: 7 信息系统开发工具实验指导 3编写代码 (1) 为应用程序对象添加代码 在应用程序的 Open 事件中输入如下代码来打开“jedxxzh_ win”窗口。 Open(jedxxzh_ win) (2) 在【转换】按钮的 clicked 事件下编写如下代码: a=叁 Long i,j,k,n String a,aa,cc,cm10,b10 Case 4 Cc= a=肆 Cm1=分 Case 5 a=伍 Cm2=角 Cm3=元 Case 6 a=六 Cm4=拾 Cm5=佰 Case 7 a=柒 Cm6=千 Cm7=万 Case 8 Cm8=拾 a= 捌 Cm9=佰 Case 9 Cm10=仟 a=玖 For i=1 to 10 Case 0 bi=* a=零 Next case else k=round(real(sle_1.text),2)*100 a=* aa=string(k) end choose k=len(aa) bk+(-n)+1=a For n=k to 1 step -1 next a=mid(aa,n,1) cc= choose case a for i=10 to 1 step -1 case 1 if bi=* then a=壹 continue Case 2 end if cc=cc+bi+cmi A=贰 Case 3 next sle_2.text=cc 8 信息系统开发工具实验指导 (3) 在【退出】按钮的 clicked 事件下编写如下代码: Close(parent) 思考:怎样把大写金额转换为小写金额 试验三: 试验三:使用 SQL 语句 实验目的: 实验目的:掌握在 PowerBuilder 9.0 的开发环境中使用简单的 SQL 语句 实验要求: 实验要求:上机实现各种 SQL 语句 实验内容: 实验内容:创建数据库和编程实现一个简单的登录程序 内容 试验步骤: 试验步骤: 1 创建数据库 鼠标单击工具栏上的 (Database) 按钮, 再单击 ODB ODBC, 单击 Utilities, 双击 Create ASA Database。如下图所示: 接着在弹出的窗口中输入如下图的信息并命名为 data(注意:在 Use Transaction Log 选项 前去掉“” 。 9 信息系统开发工具实验指导 单击 ok,进入下面的窗口 10 信息系统开发工具实验指导 在上图的 table 项,单击右键,弹出属性窗口。选择 New Table,并单击,在 columns 窗口 中输入如数据。 输入完毕后,保存,出现以下对话框,并输入以下内容。 单击 ok,数据库表就创建完毕。 2为数据库表创建主键 在 object layout 画板中,选中 sp 表,单击右键,弹出属性窗口,如下图所示。 11 信息系统开发工具实验指导 单击 Primary Key,进入如下窗口。 在 General 选项卡中,在商品编号前打,然后关闭保存。出现如下窗口,说明主键创建 成功: 同理,我们在创建一个数据库表,名称为“tb_user” ,并设置主键。如下图所示 12 信息系统开发工具实验指导 4在 Interactive SQL 中使用 SQL 语句 (1) 启动 Interactive SQL 开始菜单程序SybaseAdaptive Server AnywhereInteractive SQL,出现如下窗口, 并在 User 中输入 dba;Password 中输入 sql 单击,OK。进入 Interactive SQL,在 sp 数据库表中插入一条记录,如下图所示: 13 信息系统开发工具实验指导 (2)数据的添加(insert into 语句) 请同学们自己为 sp 数据表插入如下 5 条记录(注意,输入的内容要与数据表的结构 一致) 商品编号 商品名称 产地 供应商名称 进价 数量 总 金 额 0 0 0 0 0 2007091299 笔 记 m120 2007091383 硬盘 2007091471 优盘 2007100101 手机 2007110101 内存 本 中 国 福 Dell 亚洲公司 建 中 国 广 start 公司 东 中国 兴隆工作室 中国 中国 12000.0 5 340.0 200.0 10 10 20 10 海量手机批发公 2450.0 司 前进电脑公司 250.0 为 tb_user 添加如下记录 用户名 张前 王小小 (3)运用 select 语句查询 供应商名称中含有“公司”的记录 数量在 10 以上的商品 总金额大于 3000 元的商品 (4)用 update 语句修改总金额字段的数据(总金额=数量*进价) 14 密码 1234554321 123001 用户级别 1 0 信息系统开发工具实验指导 (5)删除供应商名称为“兴隆工作室”的记录 5在 pb 中使用 sql 语句 (1)建立一个工作空间,命名为“sql_workspace” ,并保存在“d:sql”目录下,然后建立 一个应用程序对象,命名为“sql_app” ,保存在“d:sql”目录下。 (2)新建一个窗口,命名为“w_login” ,其效果如下图所示: (3)另外,再新建一个窗口,命名为“w_insert_sp” ,如下图所示: (4)编写代码 在窗体“w_login”中,双击窗体空白,在窗体的 open 事件下编写代码: string xm DECLARE zgxm CURSOR FOR SELECT tb_user.用户名 FROM tb_user ; open zgxm; fetch zgxm into :xm; 15 信息系统开发工具实验指导 do while sqlca.sqlcode=0 ddlb_1.insertitem(xm, 1) fetch zgxm into :xm; loop close zgxm; 在窗体“w_login”中,双击确定按钮,在确定按钮的 click 事件下编写代码: string yhm,psd if ddlb_1.text= then messagebox(信息提示,请选择一个用户名) return end if if sle_1.text= then messagebox(信息提示,请输入密码) return end if yhm=trim(ddlb_1.text) select 密码 into:psd from tb_user where 用户名=:yhm; if psd=trim(sle_1.text) then open(w_insert_sp) else messagebox(信息提示,密码不正确) return end if 在窗体“w_login”中,双击取消按钮,在取消按钮的 click 事件下编写代码: Close(parent) 请同学们完成窗体“w_insert_sp”的编程。功能:实现数据的添加。 (5)为应用程序编写代码 粘贴数据库连接代码 鼠标单击工具栏上的 (Database)按钮,在当前连接的数据库描述文件上单击鼠标右 键,选择 Properties,如下图所示: 在弹出的对话框中选择“preview”并单击“copy”按钮。然后该代码添加到应用程序的 open 事件中(方法:单击左边的 ,在弹出的 open 事件对话框中按“ctrl+v” )最后 16 信息系统开发工具实验指导 输入“connect ;open(main)等语句” ,然后保存。如下图: 思考:在 pb 中怎样实现对数据表的查询 试验四: 试验四:在 PowerBuilder 中操纵数据库 实验目的: 实验目的:在 PowerBuilder 9.0 的开发环境中,掌握数据库的基本操作 实验要求: 实验要求:上机实现数据库的各种操作 实验内容: 实验内容:数据库操作和一个简单的应用程序 实验步骤: 验步骤: 一创建数据库及数据库表 1用 PowerBuilder 9.0 自带的 ASA 数据库管理系统创建“data_base”数据库,该数据库 包含以下数据库表: Sp 表:字段名称和类型、宽度如下: KH 表:字段名称和类型、宽度如下: DD 表:字段名称和类型、宽度如下: 17 信息系统开发工具实验指导 2为各个表创建主键和外键(外键的创建见教材 p197) ,结果如下图所示: 3为各个表添加记录(请同学自己添加) 二一个简单的应用程序 (1)创建一个工作工作空间,命名为:workspace_searh,保存在并保存在“d:search”目 录下,然后建立一个应用程序对象,命名为“app_searh” ,保存在“d:search”目录下 (2)创建窗体,命名为:w_searh,窗体上的控件如下所示: 18 信息系统开发工具实验指导 (3)为窗体编写代码 鼠标双击“查询”按钮,在“查询”按钮的 click 事件下编写如下代码: string mc int n,n_msg string c_mc,c_bh,c_tel,c_fax,c_yb,c_add mc=trim(sle_1.text) if len(mc)=0 then messagebox(信息提示,系统提示:请输入查询条件) sle_1.setfocus()/sle_1 对象获得焦点 return end if mc=%+mc+% declare s_mc cursor for select 客户编号,客户名称,电话,传真,邮编,地址 from kh where 客户名称 like :mc; open s_mc; n=0 do while true fetch s_mc into :c_bh,:c_mc,:c_tel,:c_fax,:c_yb,:c_add; if sqlca.sqlcode=100 then 19 信息系统开发工具实验指导 if n=0 then messagebox(信息提示,系统提示:没有符合条件的记录!) else messagebox(信息提示,系统提示:符合条件的记录显示完毕!) end if exit end if sle_2.text=c_bh sle_3.text=c_mc sle_4.text=c_tel sle_5.text=c_fax sle_6.text=c_yb sle_7.text=c_add n=n+1 messagebox(信息提示,系统提示:这是第+string(n)+条符合条件的记录!) n_msg=messagebox(信息提示,继续显示其他符合条件的记录吗?,question!,yesno!,1) if n_msg=2 then exit end if loop close s_mc; sle_1.text= sle_2.text= sle_3.text= sle_4.text= sle_5.text= sle_6.text= sle_7.text= sle_1.setfocus() 20 信息系统开发工具实验指导 试验五: 试验五:建立应用对象 实验目的: 实验目的:掌握应用对象的设置和编程 实验要求: 实验要求:上机操作应用对象的设置和编程 实验内容: 实验内容:数据库的连接和应用对象的编程 实验步骤: 实验步骤: 一连接已有数据库 1创建数据源(连接实验 4 所做的数据库) 启动 pb 应用程序,鼠标单击工具栏上的 (Database)按钮,再单击 ODB ODBC, 单击 Utilities,双击 “ODBC Administrator”选项,在出现的对话框中点击“添加”按钮,选 择“Adeptive Server Anywhere 8.0”,点击“完成”按钮,出现输入数据源参数对话框。在 “ODBC”标签中,输入数据源名称 Data source name,一般采用所创建的数据库名称。在 Login 标签中, User ID:之后输入“dba”,在 Password:之后输入“sql”。如图 5-1 所示: 在 Database 标签中, Database file 之后输入数据库文件所在的位置及文件名。 最后单 击确定按钮,完成数据源的创建。如图 5-2 所示: 图 5-1 21 信息系统开发工具实验指导 图 5-2 2创建数据库描述性文件 在数据库画板中,选择“ODB ODBC”,点击右键选择“New Profile”,出现定义数据源 配置文件对话框,在 Profile Name 之后输入名称,一般与数据库名称一致;在 Data Source 之后选择刚刚建好数据源的名称;在 User ID 之后输入“dba”;在 Password 之后输入“sql”, 单击【OK】按钮即可。此时在 ODBC 项下就会出现与数据库同名的配置文件的名称。 22 信息系统开发工具实验指导 3连接数据库 选择数据库配置文件名称双击之,就会连接上数据库。 4查看连接代码并复制代码到剪切板 方法同实验 4 二应用程序的 open 事件的代码 新建一个名为“workspace_5”的工作空间,再建立一个名为“app_5”的应用程序, 按实验 4 的方法把上面数据库连接的代码粘贴在代码区并编写如下代码。 思考:请用 sql server 2000 创建数据库,然后在 pb 中连接该数据库。 三一个简单的应用程序 利用 Idle 事件实现应用程序的自动关闭,如当应用程序在长时间内未进行任何操作,则 系统自动关闭。 实现方法: 23 信息系统开发工具实验指导 在应用对象的 open 事件中添加如下代码: idle(180)/将定时器设为 180 秒 在应用对象的 idle 事件中添加代码: messagebox(“警告”,”程序即将关闭”,stopsign!) beep(1) halt 在应用对象的 close 事件中添加代码: idle(0) 实验六:数据窗口 实验六: 实验目的: 实验目的:掌握数据窗口的使用 实验要求: 实验要求:上机操作数据库窗口 实验内容:数据窗口的创建和使用 实验内容 实验步骤: 实验步骤: 一、创建工作空间和应用程序 建立一个工作空间,命名为“sworkspace_data” ,并保存在“d:data”目录下,然后建 ,保存在“d:data”目录下。 立一个应用程序对象,命名为“app_data” 二、连接实验 4 所创建的数据库(方法同实验 5) 三、创建各种类型的数据库窗口 1创建 freeform 数据窗口 步骤:鼠标选择或单击【File】【New】DataWindowfreeformOKQuick Select Next选择 kh 表Add AllOK NextFinish, 结果如下图所示。 最后保存数据窗口, : 名称为“d_kh_freefrom” 24 信息系统开发工具实验指导 2创建 Gird 数据窗口 步骤:鼠标选择或单击【File】【New】DataWindowGirdOKQuick SelectNext 选择 kh 表Add AllOK NextFinish,结果如下图所示。最后保存数据窗口,名称 为“d_sp_Gird” : 3创建 Gird-SQL Select 数据窗口 步骤:鼠标选择或单击【File】【New】DataWindowGirdOKSQL Select Next选择 kh 表, 表, 表OpenOK 选取如下图的字段单击工具栏上的 return sp dd : NextFinish,结果如下图所示。最后保存数据窗口,名称为“d_sp_kh_dd_Gird” 25 信息系统开发工具实验指导 4请同学们创建其他类型的数据窗口 四、数据窗口的使用 1简单的数据窗口使用 (1)创建窗体 【File】【New】PB ObjectWindow (2)为窗体添加数据窗口控件 (3)为数据窗口绑定数据窗口 在数据窗口的 DataObject 属性中选择“d_sp_Gird”数据窗口,如下图所示: (4)添加其他控件(效果如下图所示) 26 信息系统开发工具实验指导 (5)编写代码 双击窗体空白处,在窗体的 open 事件中编写如下代码 dw_1.settransobject( sqlca) dw_1.retrieve( ) 双击增加记录按钮,编写如下代码: long i i=dw_1.insertrow(0) dw_1.scrolltorow( i) 双击删除记录按钮,编写如下代码 dw_1.deleterow(0) 双击保存按钮,编写如下代码 if dw_1.update( )=1 then messagebox(提示,数据保存成功!) commit; else rollback; messagebox(提示,数据保存失败!) end if 双击打印按钮,编写如下代码 Dw_1.print() 双击查询按钮,编写如下代码 string sql1,mc mc=trim(sle_1.text) sql1=select * from sp where 商品名称 like %+mc+% 27 /模糊查询 信息系统开发工具实验指导 dw_1.setsqlselect(sql1) dw_1.retrieve( ) 双击全部按钮,编写如下代码 string sql1 sql1=select * from sp dw_1.setsqlselect(sql1) dw_1.retrieve( ) (6)为应用程序编写代码(自己完成) (7)运行 2复杂的数据窗口设计 (1)窗口设计如下,窗体的名称为:w_kh_dd: 其中,数据窗口控件 dw_1 连接的数据窗口是“d_kh_freeform” ,数据窗口控件 dw_2 连接 的数据窗口是“d_dd_gird” 。 (2)代码设计 窗体的 open 事件 string khbh,sql dw_1.settransobject( sqlca) dw_2.settransobject( sqlca) dw_2.retrieve( ) khbh=dw_2.getitemstring( 1, 客户编号) sql=select * from dd where 客户编号=+khbh+ dw_1.setsqlselect( sql) dw_1.retrieve( ) 按钮“第一条”的 click 事件 string khbh,sql dw_2.scrolltorow( 1) 28 信息系统开发工具实验指导 khbh=dw_2.getitemstring( 1, 客户编号) sql=select * from dd where 客户编号=+khbh+ dw_1.setsqlselect( sql) dw_1.retrieve( ) 按钮“下一条”的 click 事件 string khbh,sql dw_2.scrollnextrow( ) khbh=dw_2.getitemstring( dw_2.getrow(), 客户编号) sql=select * from dd where 客户编号=+khbh+ dw_1.setsqlselect( sql) dw_1.retrieve( ) 其他代码请同学们自己完成 试验七: 试验七:用户界面设计 实验目的: 实验目的:掌握各种控件的使用 实验要求: 实验要求:上机各种控件的使用熟悉 实验内容: 实验内容:熟悉各种控件的使用 实验步骤: 实验步骤: 一熟悉各种控件的属性设置(参见教材) 二实例一:数据窗口中通过按键进行列之间的跳转和添加新行 步骤: 1创建一个标准可视用户对象(standard Visual User Object)uo_d_enter (1)单击 File 菜单中的 New 命令,打开 new 对话框,选择 PB Object 标签及 Standard Visual 图标,再单击 OK 按纽,打开 select standard visual type 对话框。 (2)在 type 列表框中,选中 datawindow,再单击 OK,进入用户对象画板工作区。 (3)单击 Insert 菜单的 Event 命令,为用户对象新建一个自定义事件 ue_enter(如下图所示) 注 意 : 为 确 保 在 数 据 窗 口 中 能 够 捕 捉 到 enter 键 , ID ( Event ID ) 一 定 要 选 中 pbm_dwnprocessenter。 29 信息系统开发工具实验指导 (4)为用户对象编写如下代码 (5)保存用户自定义对象 (6)使用自定义的数据窗口控件 新建一数据窗口,鼠标选择或单击【File】【New】DataWindowGirdOKQuick SelectNext选择 kh 表Add AllOK NextFinish。最后保存数据窗口,名称为 “d_sp_Gird” : 新建一个窗口 使用自定义数据窗口控件,如下图所示: 30 信息系统开发工具实验指导 为增加按钮编写如下代码 Dw_1.insertrow(0) 为窗体的 open 事件编写如下代码 dw_1.settransobject( sqlca) dw_1.retrieve( ) 最后,运行 三实例二 设计条形码扫描程序 (1)建立一个工作空间,命名为“sworkspace_txm” ,并保存在“d:txm”目录下,然后建立 ,保存在“d:txm”目录下。 一个应用程序对象,命名为“app_txm” (2)用 sql server 2000 创建数据库和数据库表,数据库的名称为:txm,该数据库包含一个 数据库表,表名为 tmb,其结构如下图所示: (3)在 pb 连接该数据库(方法见实验 3) (4)创建窗体 新建一个窗口,命名为“w_txm” ,在窗体上添加一个条形码控件,1 个列表框,一个 单行编辑框,两个命令按钮。 添家条形码控件的方法是: 选择主菜单 insert controlOLE 选项, 弹出insert Object 窗口,如下图所示:单击“Register New” ,弹出“browse”对话框,寻找 MSBCODE9.OCX 文件,该文件在 Office 目录下,也可以通过文件搜索来查找。找到 MSBCODE9.OCX 文件 后,单击 OK,条形码控件便添加到 control Type 列表框中。 31 信息系统开发工具实验指导 在 Control Type 列表框中选择刚刚加入的条形码控件Microsoft BarCode Control9.0,单 击 ok,鼠标变成“十”字形,然后再窗口的空白处单击,条形码控件便添加到窗体上, 继续添加其他控件,最后,窗体如下所示: (4)编写代码 应用对象的 open 事件的代码,通过粘贴得到,结果如下 SQLCA.DBMS = ODBC SQLCA.AutoCommit = False SQLCA.DBParm = ConnectString=DSN=data_8;UID=sa;PWD= connect; /open(w_txm) 窗体的 open 事件 string txm_value 32 信息系统开发工具实验指导 declare cur cursor for select 商品条形码 from tb_txm; open cur; fetch cur into:txm_value; do while sqlca.sqlcode=0 lb_1.additem(txm_value) txm_value= fetch cur into:txm_value; loop close cur; sle_1.setfocus() lb_1 的 selectionchanged 事件 string is_item is_item=lb_1.selecteditem() sle_1.text=is_item ole_1.object.value=trim(sle_1.text) sle_1 的 modified 事件 ole_1.object.value=trim(sle_1.text) sle_1.selecttext(1,len(sle_1.text) 保存条形码的 clicked 事件 string txm_value,js_value long row_count,xrow_count txm_value=trim(sle_1.text) select count(*) into :row_count from tb_txm; select 商品条形码 into:js_value from tb_txm where 商品条形码=:txm_value; if js_value= then if txm_value then insert into tb_txm(商品条形码) values(:txm_value); select count(*) into :xrow_count from tb_txm; if xrow_countrow_count then messagebox(信息提示,数据保存成功) else messagebox(信息提示,数据保存失败) end if end if else messagebox(信息提示,库中已有该条形码) end if 打印条形码的 clicked 事件 Long job Job=printopen() Ole_1.border=false Ole_1.print(job,500,10000) Printclose(job) Ole_1.border=true 33 信息系统开发工具实验指导 运行效果: 试验八: 试验八:菜单设计 实验目的:掌握菜单的设计和编程 实验目的 实验要求: 实验要求:上机实现菜单的设计和编程 实验内容: 实验内容:创建菜单和编程 实验步骤: 实验步骤: 一创建菜单 (1)连接实验 4 所创建的数据库(方法见实验 5) (2)创建工作空间和应用程序 建立一个工作空间,命名为“sworkspace_menu” ,并保存在“d:menu”目录下,然后 ,保存在“d:menu”目录下。 建立一个应用程序对象,命名为“app_menu” (3)为应用程序编写代码(方法见实验 5) (4)创建菜单(方法见教材 p165-172) 创建如下菜单: 34 信息系统开发工具实验指导 二创建 MDI 窗口 (1)新建窗体 【File】【New】PB ObjectWindow (2)设置窗体属性,如下图所示: 三创建窗体 1创建登录窗口 在实验 4 创建的“data_base”数据库中添加如实验 3 的 tb_user 表,并设计登录窗体, 35 信息系统开发工具实验指导 窗体名称为 w_login 2创建商品信息维护窗体(名称为 w_sp)如下图所示,代码见实验 5: 3创建如下查询窗口(命名为 w_dd_search) 4其他窗口请同学们自己创建 五为菜单编写代码 双击菜单项的“订单查询” ,并编写如下代码: opensheet(w_dd_search,w_main,2,original!) 双击菜单项的“客商品信息维护” ,并编写如下代码: opensheet(w_sp,w_main,2,original!) 六编写应用程序的代码 36 信息系统开发工具实验指导 思路:系统先运行登录窗口,登录窗口中密码与用户名一直,系统打开 MDI 窗口。最 后运行效果如下: 试验九:一个具体的实例 试验九: 简单的财务收支管理系统 一系统功能 本系统用于单位或个人财务收支管理,主要功能包括:收支类型定义,基本收支数据录入 或修改,按年度和收支类型制作报表,统计图。 二基本步骤 1创建数据库 用 sql server 创建数据库,数据库名称为: “xxcw”,该数据库包含如下数据库表: (1)收支信息表,表名为:jtsz;表的结构如下所示: 样本数据 37 信息系统开发工具实验指导 (2)收支类型表,表名为:dic_szlx;表的结构如下所示: 样本数据: (3)用户信息表,表名为:t_user 表;的结构如下所示: 样本数据: 三创建工作空间和应用对象 (1)创建工作空间应用对象 建立一个工作空间,命名为“workspace_jxc” ,并保存在“d:jxc”目录下,然后建立 一个应用程序对象,命名为“app_jxc” ,保存在“d:jxc”目录下 四创建菜单 创建如下菜单,菜单名为:m_main 38 信息系统开发工具实验指导 五创建 mdi 窗口 建立一个窗体,名称为:w_main,设置该窗口的类型为:mdihelp!,标题为: “小型 财务收支管理系统” ,MenuName 设置为:m_main 六为应用程序编写代码 (1)用记事本,编写如下代码,并保存为“connect.ini”,保存在 d:jxc 目录下 Database DBMS=MSSQL SQL Server 2000 Database=xxcw UserId=sa DatabasePassword= LogId=sa LogPassword= ServerName=XXJ_LS SQLCA.DBParm = Lock= Prompt=0 (2)在应用对象的 open 事件中编写如下代码: string ls_inifile =connect.ini /进行数据库连接sqlca.DBMS = ProfileString (connect.INI, database, dbms, ) sqlca.database = ProfileString (connect.INI, database, database, ) sqlca.logid = ProfileString (connect.INI,database, logid, ) sqlca.logpass = ProfileString (connect.INI, database, LogPassWord,) sqlca.servername=ProfileString(connect.INI,database, servername, ) sqlca.dbparm = ProfileString (connect.INI, database, dbparm, ) sqlca.autocommit=true; connect using sqlca; If sqlca.sqlcode0 then Messagebox(错误,不能连接到数据库!请检查数据库连接或者 ini 配置) else /OPEN(w_login) end if 七创建登录窗口 w_login,效果如下所示: 39 信息系统开发工具实验指导 代码参见前面的实验 八创建数据窗口 (1)创建数据窗口 d_szlx,效果如下图 该数据窗口的数据风格为:gird,数据源为:quick select。 (2)创建数据窗口 d_jbxx,效果图如下所示: 该数据窗口的数据风格为:gird,数据源为:quick select。 Szlx 的 edit 属性使用了下拉数据窗口 d_szlx,总结区分别添加了收入金额,支出金额的合 计。 颜色控制: 分别选中 srje,zcje,在属性的 Font 卡中,单击 Text Color 下拉列表右边的表达式生成器, 在打开的对话框中输入如下表达式: If(srje=0 rgb(128,128,128),rgb(200,0,200) If(zcje=0 rgb(128,128,128),rgb(200,0,200) 选中 szlx,用同样的方法输入如下表达式: If(left(zclx)=”s”, rgb(150,50,0),rgb(150,150,50) 40 信息系统开发工具实验指导 九设计 w_d_in 窗口,用于收支管理 该窗口的代码 窗体的 open 事件 41 信息系统开发工具实验指导 string s_lx int i dw_1.settransobject(sqlca) dw_1.retrieve() for i=year(today()-30 to year(today() ddplb_1.insertitem(string(i),1) next declare s_sz cursor for select dic_szlx.收入类型 from dic_szlx; open s_sz; fetch s_sz into :s_lx; do while sqlca.sqlcode=0 ddplb_2.additem(s_lx) fetch s_sz into :s_lx; loop close s_sz; 窗体的 closequery 事件 int ianswer if dw_1.modifiedcount()=0 then message.returnvalue=0 return end if ianswer=messagebox(窗口将被关闭,数据被修改了,保存吗?,& question!,yesnocancel!,1) if ianswer=3 then message.returnvalue=1 return elseif ianswer=1 then dw_1.update() end if message.returnvalue=0 Dw_1 的 dberror 事件 choose case sqldbcode case -193 messagebox( 数据操作错误 ,主码有重复) case -195 messagebox( 数据操作错误 , 不该空的数据为空) case -198 messagebox( 数据操作错误 ,要改变或删除的数据在其它库中被使用) case else messagebox( 数据操作错误 ,错误信息:+sqlerrtext+rn+& 代 码:+string(sqldbcode) end choose 42 信息系统开发工具实验指导 return 1 /返回码“1” 表示跳过系统错误信息提示 几个命令按钮的 clicked 事件 首行 dw_1.scrolltorow(1) dw_1.setfocus() 上行: dw_1.scrollpriorrow() dw_1.setfocus() 下行: dw_1.scrollnextrow() dw_1.setfocus() 末行: dw_1.scrolltorow(dw_1.rowcount() dw_1.setfocus() 插入: long li_rowno,col_no string s1,s2,year,month,day,fen,miao,t,bh1,t1 dw_1.scrolltorow(dw_1.rowcount() li_rowno=dw_1.insert
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 5G高炉智能控制-洞察及研究
- 自适应流量控制策略-洞察及研究
- 2021届湖南省长沙市一中高三下学期一模数学试题
- 产品设计规范化文档产品设计说明书范例
- 招聘流程及候选人评估工具集
- 初中化学实验问题分类及解决思路
- 大学英语四级长篇阅读技巧解析
- 2025年营养科营养评估与膳食设计技术综合测评答案及解析
- 7.2 等差数列教学设计-2025-2026学年中职基础课-基础模块下册-语文版-(数学)-51
- 2025年学历类自考思想道德修养与法律基础-比较教育参考题库含答案解析(5卷)
- 2025年excel数据分析测试题及答案
- 职级职等管理办法
- 互联网金融(第二版)课件 第1章 导论
- 工厂安全注意事项有哪些
- 头颅CT“3B”阅片法课件
- 锁骨骨折病人护理查房
- 建筑垃圾资源化处理方案
- 电解质紊乱患者的护理
- 抚州辅警考试试题及答案
- 2025年河南高考地理真题(答案版)
- 《牙体牙髓病学》教学大纲
评论
0/150
提交评论