参数传递的几种用法。
来源:互联网 发布:软件如何注册 编辑:程序博客网 时间:2024/04/30 05:17
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
参数传递的几种用法。
一次需要在几个窗口之间传递参数,最开始想到的是定义一个全局变量。
可以做了以后发现并不太理想。
最后向别人学习了参数传递,解决了很多问题,感觉上也不容易出错。
现在写出来与大家分享,也为自己保留,以便察看。
-----------------------------------------------------------
先来解释一下参数传递的函数意义:
message.stringparm (传的是字符)
message.DoubleParm (传的是数值)
message.PowerObjectParm(传的是可以是窗口、对象、结构等等)
例如:(以数值传递为例)
在w_old窗口的相关事件中写入如下代码,表示发送要传递参数:
longll_old
ll_old=你要传递的数值
openwithparm(w_new(//新窗口),ll_old)
------------
在w_new窗口(新窗口)的相关事件中写如下代码表示接受参数:
longll_new
ll_new=Message.DoubleParm/*这样就接收到了你要的参数了。*/
-----------------------------------------------------------
上面只是一个参数的传递,
对于多参数的传递,说是有3种方法:
1.用字符传组传递,到目的地进行分割
2.传递结构对象
3.用对象做载体传递
我现在掌握的也就前两种,最后一种我不太理解。以后会了再补充。
现在先来说:1.用字符传组传递,到目的地进行分割
意思也就是说,把多个参数组合成一个进行传递,
组合的时候需要加入分割符---自己定义的。接收参数后再将其分割成多个。
*在w_old窗口的相关事件中写入如下代码:
/*例如组合好的自符串为pass_old="123|4567" ---注意组合前123和4567
可能都是long型的,不要紧,转换类型就行*/
stringpass_old
pass_old=string(ll_pre)+"|"+string(ll_tra)
//ll_pre=123,ll_tra=4567
openwithparm(w_new(//新窗口),pass_old)
----------
*在w_new窗口(新窗口)的相关事件中写如下代码:
integerli_fen/*定义用来记录分割符的位置*/
longll_newpre,ll_newtra/*用来分别存放两部分*/
stringpass_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对象,注意是创建,因为它就象一个窗口一样
是个对象,不是用与句定义的。structures_info
变量名 变量类型
ID long
Name Char
Sex Char
/*先以此为例。*/
**在w_old窗口的相关事件中写入如下代码:
s_infolstr_pre
lstr_pre.id=1/*赋ID的值
lstr_pre.name="zhdleo" /*赋name的值
lstr_pre.name="male" /*赋sex的值
openwithparm(w_new(//新窗口),lstr_pre)
**在w_new窗口(新窗口)的相关事件中写如下代码:
s_infolstr_tra
longtra_id
stringtra_name
stringtra_sex/*定义要接收的变量
lstr_tra=message.PowerObjectParm/*接收参数
tra_id=lstr_tra.id
tra_id=lstr_tra.name
tra_id=lstr_tra.sex/*赋值
/*上面就是第二种方法------传递结构对象
-------------------------------------------
我个人觉得第二种方法还是非常优的,不但结构清楚,而且定义了结构体也共2页 1
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
参数传递的几种用法。
一次需要在几个窗口之间传递参数,最开始想到的是定义一个全局变量。
可以做了以后发现并不太理想。
最后向别人学习了参数传递,解决了很多问题,感觉上也不容易出错。
现在写出来与大家分享,也为自己保留,以便察看。
-----------------------------------------------------------
先来解释一下参数传递的函数意义:
message.stringparm (传的是字符)
message.DoubleParm (传的是数值)
message.PowerObjectParm(传的是可以是窗口、对象、结构等等)
例如:(以数值传递为例)
在w_old窗口的相关事件中写入如下代码,表示发送要传递参数:
longll_old
ll_old=你要传递的数值
openwithparm(w_new(//新窗口),ll_old)
------------
在w_new窗口(新窗口)的相关事件中写如下代码表示接受参数:
longll_new
ll_new=Message.DoubleParm/*这样就接收到了你要的参数了。*/
-----------------------------------------------------------
上面只是一个参数的传递,
对于多参数的传递,说是有3种方法:
1.用字符传组传递,到目的地进行分割
2.传递结构对象
3.用对象做载体传递
我现在掌握的也就前两种,最后一种我不太理解。以后会了再补充。
现在先来说:1.用字符传组传递,到目的地进行分割
意思也就是说,把多个参数组合成一个进行传递,
组合的时候需要加入分割符---自己定义的。接收参数后再将其分割成多个。
*在w_old窗口的相关事件中写入如下代码:
/*例如组合好的自符串为pass_old="123|4567" ---注意组合前123和4567
可能都是long型的,不要紧,转换类型就行*/
stringpass_old
pass_old=string(ll_pre)+"|"+string(ll_tra)
//ll_pre=123,ll_tra=4567
openwithparm(w_new(//新窗口),pass_old)
----------
*在w_new窗口(新窗口)的相关事件中写如下代码:
integerli_fen/*定义用来记录分割符的位置*/
longll_newpre,ll_newtra/*用来分别存放两部分*/
stringpass_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对象,注意是创建,因为它就象一个窗口一样
是个对象,不是用与句定义的。structures_info
变量名 变量类型
ID long
Name Char
Sex Char
/*先以此为例。*/
**在w_old窗口的相关事件中写入如下代码:
s_infolstr_pre
lstr_pre.id=1/*赋ID的值
lstr_pre.name="zhdleo" /*赋name的值
lstr_pre.name="male" /*赋sex的值
openwithparm(w_new(//新窗口),lstr_pre)
**在w_new窗口(新窗口)的相关事件中写如下代码:
s_infolstr_tra
longtra_id
stringtra_name
stringtra_sex/*定义要接收的变量
lstr_tra=message.PowerObjectParm/*接收参数
tra_id=lstr_tra.id
tra_id=lstr_tra.name
tra_id=lstr_tra.sex/*赋值
/*上面就是第二种方法------传递结构对象
-------------------------------------------
我个人觉得第二种方法还是非常优的,不但结构清楚,而且定义了结构体也共2页 1
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- 参数传递的几种用法。
- 参数传递的几种用法。
- 静态参数传递的几种方式
- 数组参数传递的几种方法
- Mybatis传递参数的几种方法
- 实现参数传递的几种方式
- C++中传递数组参数的几种用法和注意点
- 几种参数传递方式
- jap之间的参数传递的几种方法
- JSP中传递参数的几种方法的简介
- Asp.net页面之间传递参数的几种方法
- Asp.net页面之间传递参数的几种方法
- 页面之间传递参数的几种方法荟萃
- Asp.net页面之间传递参数的几种方法
- Asp.net页面之间传递参数的几种方法
- 页面之间传递参数的几种方法荟萃
- 页面之间传递参数的几种方法荟萃
- Asp.net页面之间传递参数的几种方法
- 返回字串的拼音首字母
- 获得当前进程所有者的信息
- TIMESTAMP列类型详解(怎样设列的默认值为Now())
- Direct3D极速入门宝典(一)
- 程序员必须走向专业化
- 参数传递的几种用法。
- Direct3D极速入门宝典(三)
- 多个DW同时更新,且表中有关系存在,需要注意的击点问题。
- [窗口重绘技术--虚拟窗口实现法]
- DW属性设置的总结
- [推荐]windows网络编程经典入门
- 防止ADO连接时的隐式连接
- const修饰指针和引用释疑
- 徘徊