下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
PowerBuilder的精確套打技術研究
摘
要:針對固定表格進行套打時數(shù)據(jù)難以實現(xiàn)精確定位的這一實際情況,提出了利用動態(tài)數(shù)據(jù)窗口技術實現(xiàn)的一種解決方案,并詳細地介紹了具體實現(xiàn)步驟。關鍵詞:PowerBuilder;套打;動態(tài)數(shù)據(jù)窗口在進行MIS設計時,具體到對固定表格進行套打的設計中,由于固定表格在印刷,設計過程中,常常會出現(xiàn)以下問題:(1)表格的整體位置發(fā)生偏移。(2)表格的內容保持不變,但由于具體需要,對其中的某些數(shù)據(jù)的位置進行了調整。由此,會造成了打印時數(shù)據(jù)產生錯位、偏移等現(xiàn)象。使得打印的整體效果不甚美觀,大大的影響了整個程序的性能。這一點上,在車票、學員證件等打印過程中體現(xiàn)地尤為明顯。若每次進行調整后,均需修改源程序,并重新進行編譯,這顯然會給使用者的工作中帶來許多不必要的麻煩。同樣的,對于開發(fā)者來說,這并不是功能完善的軟件系統(tǒng)。所幸的是PowerBuilder中提供了強大的動態(tài)數(shù)據(jù)窗口技術,用戶可以通過創(chuàng)建數(shù)據(jù)窗口對象,動態(tài)地生成數(shù)據(jù)窗口,并且在應用程序運行的時候,再將其和一個數(shù)據(jù)窗口控件進行關聯(lián)。用戶也可以在程序運行過程中,通過程序腳本獲取或重新設置數(shù)據(jù)窗口對象中所有實體的屬性。例如,我們可以在程序運行過程中修改DataWindow中任何對象,比如列、計算域、圖表等的高度、寬度、所在位置等屬性值,或者重新定義數(shù)據(jù)源來實現(xiàn)特殊查詢。實現(xiàn)固定表格精確套打的關鍵在于兩點:其一:表格內數(shù)據(jù)(即數(shù)據(jù)窗口中的對象,主要是列或計算域)的移動。其二:數(shù)據(jù)窗口對象打印格式的保存及恢復。根據(jù)動態(tài)數(shù)據(jù)窗口的技術特點,我們可以在程序中動態(tài)地實現(xiàn)固定表格中精確定位打印。PowerBuilder中實現(xiàn)精確套打主要涉及到以下幾個函數(shù):1)
Dwcontrol.Describe(propertylist)
獲取數(shù)據(jù)窗口對象或數(shù)據(jù)窗口對象中某一元素的當前屬性值。同樣的,也可以使用圓點操作符來獲取。數(shù)據(jù)窗口中列的橫坐標的獲取<DWControlName>.Describe("<Columnname>.X")<DWControlName>.Object.<Columnname>.X2)
Dwcontrol.Modify(modstring)用戶可以在modstring中使用下列三種語句類型來修改Datawindow對象。1:Createobject-在數(shù)據(jù)窗口對象中增加對象,比如列、繪圖對象和計算域等。2:Destroyobject-從數(shù)據(jù)窗口中刪除對象。3:Propertyassignments-動態(tài)設置數(shù)據(jù)窗口對象或數(shù)據(jù)窗口對象中某一元素的屬性值。比如背景、顏色、字體大小等。同樣的,也可以使用圓點操作符來進行設置。設置數(shù)據(jù)窗口中列的橫坐標<DWControlName>.Modify("<Columnname>.X='<aninteger>'")<DWControlName>.Object.<Columnname>.X='<aninteger>'3)
LibraryExport(libraryname,objectname,objecttype)通過調用LibraryExport函數(shù),可以卸出一個窗口對象的源代碼,把它存儲在一個字符串變量中,然后在Create函數(shù)中利用此源代碼(或做了某些改變的源代碼)創(chuàng)建一個數(shù)據(jù)窗口對象。Stringls_dwsyn,ls_errorsls_dwsyn=LibraryExport("c:\pb\dwTemp.pbl","d_emp",ExportDataWindow!)4)
Dwcontrol.Create(syntax{,errorbuffer})利用數(shù)據(jù)窗口源代碼創(chuàng)建數(shù)據(jù)窗口對象,并將之與數(shù)據(jù)窗口控件相關聯(lián)。在調用Create()時,函數(shù)的Syntax參數(shù)可以通過以下三種方法進行定義:(1)調用SyntaxFromsql函數(shù)(2)調用LibraryExport函數(shù)(3)用戶可以自己創(chuàng)建Syntax。dw_1.Create(ls_dwsyn,ls_errors)dw_1.Settransobject(sqlca)dw_1.Retrieve()5)
LibraryImport(libraryname,objectname,objecttype,syntax,errors{,comments})將當前的數(shù)據(jù)窗口對象導入到PBL庫中。用以保存當前數(shù)據(jù)窗口設置。stringdwsyntax,ErrorBufferintegerrtncodedwsyntax=dw_1.Describe("DataWindow.Syntax")rtncode=LibraryImport("c:\pb\dwTemp.pbl","d_emp",ImportDataWindow!,dwsyntax,ErrorBuffer)具體實現(xiàn):1)
新建一PBL庫,Print_report.pbl,用以存放需要保存的數(shù)據(jù)窗口對象。2)
在程序運行中,數(shù)據(jù)窗口初始化期間,利用LibraryExport()函數(shù),導入保存在Print_report.pbl中地數(shù)據(jù)窗口對象。3)
在Create()函數(shù)中利用上一步所導入的源代碼創(chuàng)建數(shù)據(jù)窗口對象。4)
如有需要對數(shù)據(jù)窗口中的對象進行調整,則對數(shù)據(jù)窗口中的具體對象的位置利用DataWindown
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年上海市復旦大學智能醫(yī)學研究院招聘周欣課題組行政助理崗位備考題庫完整參考答案詳解
- 2025云南麗江玉龍縣公安局招聘警務輔助人員2人筆試考試參考試題及答案解析
- 2025安徽馬鞍山市人民醫(yī)院博望分院(博望區(qū)人民醫(yī)院)招聘派遣制人員5人備考考試題庫及答案解析
- 2025湖南省公安廳警務輔助人員招聘18人模擬筆試試題及答案解析
- 2025山東濰坊市福樂源康復養(yǎng)老中心護理人員招聘8人備考筆試題庫及答案解析
- 臨床大腦肌酸缺乏綜合征
- 2025浙江紹興市原水集團有限公司下屬企業(yè)招聘1人參考考試題庫及答案解析
- 2025四川成都彭州市白鹿鎮(zhèn)衛(wèi)生院招聘3人備考考試題庫及答案解析
- 2025年昆明元朔建設發(fā)展有限公司第二批收費員招聘(9人)備考考試題庫及答案解析
- 新和成控股集團秋招筆試題目及答案
- 建筑工程質量問題的整改與改進措施
- 第十八屆“地球小博士”全國地理知識科普競賽題庫(附答案)
- 【MOOC】《線性代數(shù)與空間解析幾何(二)》電子科技大學-中國大學慕課MOOC答案
- 大數(shù)據(jù)與城市規(guī)劃習題及答案
- 北京市石景山區(qū)2020-2021學年三年級下學期期末考試語文試卷
- 商業(yè)合作計劃書怎么寫
- 《MATLAB編程及應用》全套教學課件
- GA 2113-2023警服女禮服
- 國開機考答案-鋼結構(本)(閉卷)
- 紀委談話筆錄模板經典
- 消防安全制度和操作規(guī)程
評論
0/150
提交評論