国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

PowerBuilder窗口之間傳遞多參數(shù)的方法

2024-07-21 02:10:04
字體:
供稿:網(wǎng)友

    在powerbuilder中函數(shù)openwithparm,closewithreturn,opensheetwithparm,windowname.openuserobjectwithparm等都有一個在進(jìn)行窗口操作(打開或者關(guān)閉)時存入message消息對象的參數(shù)parameter或returnvalue。

消息對象message有三個屬性用于存儲這些函數(shù)傳遞給窗口的數(shù)據(jù)(依賴于窗口操作時參數(shù)賦予的類型)。根據(jù)parameter / returnvalue參數(shù)數(shù)據(jù)類型的不同,該參數(shù)的值保存在message對象的不同屬性中。parameter / returnvalue參數(shù)的類型與使用的message對象屬性的對應(yīng)關(guān)系如下表:

參數(shù)類型 message對象屬性

numeric(數(shù)值) message.doubleparm

powerobject(pb對象,包括用戶自定義的結(jié)構(gòu)數(shù)據(jù)類型) message.powerobjectparm

string(字符串) message.stringparm

應(yīng)用程序根據(jù)openwithparm()等函數(shù)的parameter / returnvalue參數(shù)類型,從message消息對象的不同屬性中提取該函數(shù)并傳送給被打開窗口的值。

在pb中如果是傳遞一個參數(shù),是很容易實現(xiàn)的。在調(diào)用腳本中,可以使用如下代碼:

openwithparm(w_wantparm,parmtotrans)

接著在打開窗口w_wantparm的open事件中鍵入:

  string ls_getparm

  ls_getparm =message.stringparm

  …

  如果需要傳遞多個參數(shù),可以使用如下兩種方法:

  方法一

  定義結(jié)構(gòu)變量:lstr_declaredstr,其中包含你想傳遞的各種參數(shù):

  變量名      變量類型

  id       unsignedlong

  name      character

  email     character

  homepage    character

   …        …

  在調(diào)用腳本中,使用如下代碼:

  lstr_declaredstr lstr—parmtotrans

  lstr—parmtotrans.id=1

  lstr—paramtotrans.name=″panya″

  lstr—paramtotrans.email=″[email protected]″

  lstr—paramtotrans.homepage=″http://panya.163.net″

  …

  openwithparm(w_wantparm,parmtotrans)

  接下來在打開窗口w—wantparm的open事件中,獲取結(jié)構(gòu)信息:

  lstr—declaredstr lstr—getparm

  integer li_getid

  string ls_getname

  string ls_getemail

  string ls_gethomepage

  lstr_getparm=message.powerobjectparm

  li_getid=lstr_getparm.id

  ls_getname= lstr_getparm.name

  ls_geemail= lstr_getparm.email

  ls_gethomepage= lstr_getparm.homepage

  …

  其中ame

  string email

  string homepage

  ...

  打開窗口w—wantparm,并傳遞多個參數(shù):

  u_n_parmtostore lnv_paramtotrans

  lnv_paramtotrans.id=1

  lnv_paramtotrans.name=″panya″

  lnv_paramtotrans.email=″[email protected]″

  lnv_paramtotrans.homepage=″http://pbnet.126.com″

  …

  openwithparm ( w_wantparm, lnv_paramtotrans )

  在 w_wantparm 的 open 事件中訪問傳來的參數(shù):

  u_n_parmtostore lnv_getparam

  integer li_getid

  string ls_getname

  string ls_getemail

  string ls_gethomepage

  lnv_getparam = message.powerobjectparm

  li_getid=lnv_getparam.id

  ls_getname=lnv_getparam.name

  ls_gethomepage=lnv_getparam.homepage

  ls_getemail=lnv_getparam.email

  …
    以上兩種方法比較而言,第一種方法雖然比較簡單實用,但是如果遇上較復(fù)雜的數(shù)據(jù)時,便不能在一個結(jié)構(gòu)數(shù)據(jù)中充分描述了;第二種方法不但方便靈活,而且可以傳送復(fù)雜的數(shù)據(jù)。當(dāng)然,參數(shù)的傳送不止以上的幾種方法,你也可以使用全局變量或是公共可訪問的窗口實例變量來傳送參數(shù),或者在窗口中調(diào)用一個函數(shù),并傳遞所需的參數(shù),在此就不再贅述了。
  • 本文來源于網(wǎng)頁設(shè)計愛好者web開發(fā)社區(qū)http://www.html.org.cn收集整理,歡迎訪問。
  • 發(fā)表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發(fā)表
    主站蜘蛛池模板: 新乡市| 博兴县| 徐汇区| 东方市| 塘沽区| 财经| 银川市| 南溪县| 惠东县| 永定县| 南木林县| 万州区| 麦盖提县| 盈江县| 无棣县| 北海市| 天祝| 当雄县| 洞口县| 铜鼓县| 北宁市| 黄大仙区| 洪湖市| 大田县| 西吉县| 巢湖市| 永胜县| 陵川县| 怀化市| 徐水县| 峡江县| 增城市| 宁晋县| 洪湖市| 固原市| 道孚县| 尖扎县| 遵义县| 泰安市| 临漳县| 枣阳市|