日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

PowerBuilder窗口之间传递多参数的方法

發布時間:2025/7/14 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PowerBuilder窗口之间传递多参数的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
PowerBuilder窗口之間傳遞多參數的方法 http://www.21tx.com 2002年05月12日 Blog oceanaut

??? 在PowerBuilder中函數OpenWithParm,CloseWithReturn,OpenSheetWithParm,windowname.OpenUserObjectWithParm等都有一個在進行窗口操作(打開或者關閉)時存入Message消息對象的參數parameter或returnvalue。

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

參數類型 Message對象屬性

Numeric(數值) Message.DoubleParm

PowerObject(PB對象,包括用戶自定義的結構數據類型) Message.PowerObjectParm

String(字符串) Message.StringParm

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

在PB中如果是傳遞一個參數,是很容易實現的。在調用腳本中,可以使用如下代碼:

openwithparm(w_wantparm,parmtotrans)

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

  string ls_getparm

  ls_getparm =message.stringparm

  …

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

  方法一

  定義結構變量:lstr_declaredstr,其中包含你想傳遞的各種參數:

  變量名      變量類型

  ID       Unsignedlong

  Name      Character

  Email     Character

  Homepage    Character

   …        …

  在調用腳本中,使用如下代碼:

  lstr_declaredstr lstr—parmtotrans

  lstr—parmtotrans.id=1

  lstr—paramtotrans.name=″panya″

  lstr—paramtotrans.email=″panya@163.net″

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

  …

  openwithparm(w_wantparm,parmtotrans)

  接下來在打開窗口w—wantparm的open事件中,獲取結構信息:

  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,并傳遞多個參數:

  u_n_parmtostore lnv_paramtotrans

  lnv_paramtotrans.id=1

  lnv_paramtotrans.name=″panya″

  lnv_paramtotrans.email=″panya@163.net″

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

  …

  OpenWithParm ( w_wantparm, lnv_paramtotrans )

  在 w_wantparm 的 open 事件中訪問傳來的參數:

  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

  …

??? 以上兩種方法比較而言,第一種方法雖然比較簡單實用,但是如果遇上較復雜的數據時,便不能在一個結構數據中充分描述了;第二種方法不但方便靈活,而且可以傳送復雜的數據。當然,參數的傳送不止以上的幾種方法,你也可以使用全局變量或是公共可訪問的窗口實例變量來傳送參數,或者在窗口中調用一個函數,并傳遞所需的參數,在此就不再贅述了。

總結

以上是生活随笔為你收集整理的PowerBuilder窗口之间传递多参数的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。