分享
 
 
 

参数传递的几种用法。

王朝other·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

参数传递的几种用法。

一次需要在几个窗口之间传递参数,最开始想到的是定义一个全局变量。

可以做了以后发现并不太理想。

最后向别人学习了参数传递,解决了很多问题,感觉上也不容易出错。

现在写出来与大家分享,也为自己保留,以便察看。

-----------------------------------------------------------

先来解释一下参数传递的函数意义:

message.stringparm (传的是字符)

message.DoubleParm (传的是数值)

message.PowerObjectParm (传的是可以是窗口、对象、结构等等)

例如:(以数值传递为例)

在w_old窗口的相关事件中写入如下代码,表示发送要传递参数:

long ll_old

ll_old = 你要传递的数值

openwithparm(w_new(//新窗口),ll_old)

------------

在w_new窗口(新窗口)的相关事件中写如下代码表示接受参数:

long ll_new

ll_new = Message.DoubleParm /*这样就接收到了你要的参数了。*/

-----------------------------------------------------------

上面只是一个参数的传递,

对于多参数的传递,说是有3种方法:

1.用字符传组传递,到目的地进行分割

2.传递结构对象

3.用对象做载体传递

我现在掌握的也就前两种,最后一种我不太理解。以后会了再补充。

现在先来说:1.用字符传组传递,到目的地进行分割

意思也就是说,把多个参数组合成一个进行传递,

组合的时候需要加入分割符---自己定义的。接收参数后再将其分割成多个。

*在w_old窗口的相关事件中写入如下代码:

/*例如组合好的自符串为pass_old="123|4567" ---注意组合前123和4567

可能都是long型的,不要紧,转换类型就行*/

string pass_old

pass_old =string(ll_pre) + "|" + string(ll_tra)

// ll_pre = 123,ll_tra = 4567

openwithparm(w_new(//新窗口),pass_old)

----------

*在w_new窗口(新窗口)的相关事件中写如下代码:

integer li_fen /*定义用来记录分割符的位置*/

long ll_newpre,ll_newtra /*用来分别存放两部分*/

string pass_new

pass_new = message.stringparm

li_fen=Pos(pass_new,"|") /*确定并记录分割符的位置*/

ll_newpre=long(left(pass_new,li_fen - 1))

ll_newtra=long(right(pass_new,len(pass_new) - li_fen))

/* 上面就是第一种方法-----用字符传组传递,到目的地进行分割*/

--------------------------------------

在来说说:2.传递结构对象

在库文件中 创建一个structure对象,注意是创建,因为它就象一个窗口一样

是个对象,不是用与句定义的。structure s_info

变量名 变量类型

ID long

Name Char

Sex Char

/* 先以此为例。 */

**在w_old窗口的相关事件中写入如下代码:

s_info lstr_pre

lstr_pre.id = 1 /* 赋ID的值

lstr_pre.name = "zhdleo" /* 赋name的值

lstr_pre.name = "male" /* 赋sex的值

openwithparm(w_new(//新窗口),lstr_pre)

**在w_new窗口(新窗口)的相关事件中写如下代码:

s_info lstr_tra

long tra_id

string tra_name

string tra_sex /* 定义要接收的变量

lstr_tra = message.PowerObjectParm /* 接收参数

tra_id = lstr_tra.id

tra_id = lstr_tra.name

tra_id = lstr_tra.sex /* 赋值

/* 上面就是第二种方法------传递结构对象

-------------------------------------------

我个人觉得第二种方法还是非常优的,不但结构清楚,而且定义了结构体也

可以看见,容易理解。

至于第三种,还有待我慢慢研究。

如果谁还有好的方法,或是比较清楚第三种的,或是还有更好的方法的,

E-mail:zhdleo@163.com

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有