• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    優化你的PowerBuilder程序

    發布: 2008-10-14 12:00 | 作者: 不詳 | 來源: programfan.com  | 查看: 95次 | 進入軟件測試論壇討論

    領測軟件測試網

    4. 數據窗口間數據的拷貝

      如果需要在數據窗口間共享數據, 應當盡量使用 SHAREDATA() 函數, 但是, SHAREDATA() 函數并不是物理地在數據窗口間拷貝數據, 如果在顯示數據的同時, 還要對數據進行操作, 則需要進行數據的拷貝.

      例如, 要求將 DW_1 中選定的行拷貝到 DW_2 中:

      在窗口的 OPEN 事件中編程:
      dw_1.settransobject(sqlca)
      dw_2.settransobject(sqlca)
      dw_1.retrieve()

      在數據窗口 DW_1 的 ROWFOCUSCHANGED 事件中編寫下列程序:
      long lr
      lr = dw_1.selectrow(0,false)
      lr = dw_1.getrow()
      lr = dw_1.selectrow(lr,true)

      要完成從 DW_1 到 DW_2 的拷貝工作, 有兩種方法:

      第一種:

      在按鈕 "拷貝" 的 CLICKED 事件中編程
      long lr
      lr = dw_1.getselectedrow(0)
      dw_1.rowscopy(lr,lr,primary!,dw_2,100,primary!)

      執行程序, 利用 POWERBUILDER PROFILER 得出所需時間為 1.7034(百分之一秒)

      第二種:

      在按鈕 "拷貝" 的 CLICKED 事件中編程
      dw_2.object.data = da_1.object.data.selected

      執行程序, 利用 POWERBUILDER PROFILER 得出所需時間為 0.8062(百分之一秒)

      5. 數據窗口屬性的訪問和修改

      A. 數據窗口屬性的訪問

      在程序中訪問數據窗口的屬性有下列幾種方法:

      A1. 采用點表達式訪問

      A2. 應用多個獨立的 DESCRIBE() 函數訪問

      A3. 只使用一個 DESCRIBE() 函數, 采用復合參數訪問多個屬性

      上面三中方法, 通常第一種方法最慢, 第三種方法最快.

      例如:
      在窗口的 OPEN 事件中
      DW_1.SETTRANSOBJECT(SQLCA)
      DW_1.RETRIEVE()

      第一種方法:

      在檢索按鈕的 CLICKED 事件中編程.
      string dx, dy, dh, dw
      dx = dw_1.object.da_dh.x
      dy = dw_1.object.da_dh.y
      dx = dw_1.object.da_dh.height
      dy = dw_1.object.da_dh.width
      st_1.text =dx+","+dy+","+dh+","+dw
      
      第二種方法:

      string dx, dy, dh, dw
      dx=dw_1.describe("da_dh.x")
      dx=dw_1.describe("da_dh.y")
      dx=dw_1.describe("da_dh.height")
      dx=dw_1.describe("da_dh.width")
      st_1.text =dx+","+dy+","+dh+","+dw

      第三種方法:

      string dx, dy, dh, dw
      st_1.text=dw_1.describe("da_dh.x" +&
      "da_dh.y" +&
      "da_dh.height" +&
      "da_dh.width")

      實驗證明, 第三種方法的速度是最快的. 但是程序的可讀性最差.

      B. 數據窗口屬性的修改

      在程序中修改數據窗口的屬性有下列幾種方法:

      A1. 采用點表達式修改

      A2. 應用多個獨立的 MODIFY() 函數訪問

      A3. 只使用一個 MODIFY() 函數, 采用復合參數訪問多個屬性

      上面三種方法, 通常第一種方法最慢, 第三種方法最快.

      例如:
      在窗口的 OPEN 事件中
      DW_1.SETTRANSOBJECT(SQLCA)
      DW_1.RETRIEVE()

      第一種方法:

      在檢索按鈕的 CLICKED 事件中編程.
      DW_1.SETREDRAW(FALSE)
      dw_1.object.da_dh.x = 18
      dw_1.object.da_dh.y = 16
      dw_1.object.da_dh.height = 100
      dw_1.object.da_dh.width = 200
      DW_1.setredraw(true)
      st_1.text =dx+","+dy+","+dh+","+dw

      第二種方法:

      DW_1.SETREDRAW(FALSE)
      dw_1.modify("da_dh.x = 18")
      dw_1.modify("da_dh.y = 16")
      dw_1.modify("da_dh.height = 100")
      dw_1.modify("da_dh.width = 200")
      dw_1.setredraw(true)

      

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    32/3<123>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>