数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
参数传递的几种用法。

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

参数传递的几种用法。

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

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

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

现在写出来与大家分享,也为自己保留,以便察看。
-----------------------------------------------------------
先来解释一下参数传递的函数意义:
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:[email protected]




相关文章

相关软件