实验项目五 PowerBuilder 结构的使用
一、实验目的和要求:
(一)目的:
1、掌握PowerBuilder 结构的使用方法。
(二)要求:
1、认真做好实验前的各项准备工作,熟悉实验内容和机器操作流程。 2、遵守实验室规章制度和实验课堂教学纪律。 3、认真完成实验任务,填写实验报告。
二、实验时数:2学时 三、实验器材:
安装有PowerBuilder 11.0软件的PC机一台
四、实验内容或步骤:
(一)内容:在主窗口中,单击按钮打开另一个窗口w_student_detail,打开的同时传送一组学生信息,在新窗口中显示传送的学生信息。 (二)步骤: 1、创建工作区jiegou
2、创建目标和应用程序对象jiegou
在系统树中双击打开应用对象,其open事件代码如下:
Open(w_main)
3、创建结构s_student
包含四个变量名:student_id、student_name、sex、age,类型都为string。 结构s_student定义如下图:
4、创建窗口w_main
在窗口w_ main中放置一个“显示明细”按钮控件,其clicked事件代码是:
9
s_student lstr_student //定义一个局部的结构类型lstr_student
//为结构的各个参数赋值
lstr_student.student_id=\lstr_student.student_name=\张辉\lstr_student.sex=\男\lstr_student.age=\
//向窗口w_student_detail传递结构类型lstr_student OpenWithParm(w_student_detail,lstr_student) 5、创建另外一个窗口w_student_detail
插入4个静态文本控件(学号、姓名、性别、年龄)和4个单行编辑框。 窗口布局完毕后,Layout视图效果如图:
6、窗口w_student_detail的Open事件代码
s_student lstr_student //定义一个局部的结构类型lstr_student
lstr_student=message.PowerObjectParm //接收传递过来的结构参数 //显示各个参数值
sle_id.text=lstr_student.student_id sle_name.text=lstr_student.student_name sle_sex.text=lstr_student.sex sle_age.text=lstr_student.age 7、保存、运行调试程序 程序运行图如下:
10
1、注意结构的用法。 2、注意编程规范。
五、注意事项:
六、练习项目及思考题:
1、练习教材102页编程练习题的第2题。
11
实验项目六 PowerBuilder自定义函数
一、实验目的和要求:
(一)目的:
1、掌握PowerBuilder自定义和调用函数的方法。
(二)要求:
1、认真做好实验前的各项准备工作,熟悉实验内容和机器操作流程。 2、遵守实验室规章制度和实验课堂教学纪律。 3、认真完成实验任务,填写实验报告。
二、实验时数:2学时 三、实验器材:
安装有PowerBuilder 11.0软件的PC机一台
四、实验内容或步骤:
(一)内容:创建自定义全局函数f_encrypt。函数实现的功能为:采用加密规则:当前字符ASCII值+当前字符在字符串中的位置+字符串总长度,最后将得到值再转换为字符,实现对系统用户名的加密。 (二)步骤: 1、创建工作区zidyi 2、创建目标和应用对象zidyi
在系统树中双击打开应用对象zidyi,其open事件代码如下:
Open(w_main)
3、创建函数f_encrypt
函数结构为 string f_encrypt(string username)。函数实现代码如下: integer i,li_len string ls_username li_len=len(username) FOR i=1 to li_len
//得到加密内容的长度 //对每一个字符进行变换
ls_username= ls_username+char(asc(mid(username,i,1))+i+li_len)
NEXT
RETURN ls_username
自定义全局函数f_encrypt设置对话框如下图:
12
4、创建窗口w_main和控件
在窗口w_main中放置控件如下:
1个静态文本控件,修改其text属性为“用户名”;
1个单行编辑框控件,修改其name属性为“sle_username”,删除Text属性的默认值
“none”;
1个按钮控件,修改其text属性分别为“加密”。 窗口布局完毕后,Layout视图效果如图:
双击“加密”按钮,输入代码:
string ls_name,ls_encname ls_name=Trim(sle_username.Text) ls_encname=f_encrypt(ls_name)
MessageBox(\提示\加密后的用户名为:\
13