PowerBuilder的精確套打技術(shù)研究_第1頁
PowerBuilder的精確套打技術(shù)研究_第2頁
PowerBuilder的精確套打技術(shù)研究_第3頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

PowerBuilder的精確套打技術(shù)研究

要:針對固定表格進(jìn)行套打時數(shù)據(jù)難以實現(xiàn)精確定位的這一實際情況,提出了利用動態(tài)數(shù)據(jù)窗口技術(shù)實現(xiàn)的一種解決方案,并詳細(xì)地介紹了具體實現(xiàn)步驟。關(guān)鍵詞:PowerBuilder;套打;動態(tài)數(shù)據(jù)窗口在進(jìn)行MIS設(shè)計時,具體到對固定表格進(jìn)行套打的設(shè)計中,由于固定表格在印刷,設(shè)計過程中,常常會出現(xiàn)以下問題:(1)表格的整體位置發(fā)生偏移。(2)表格的內(nèi)容保持不變,但由于具體需要,對其中的某些數(shù)據(jù)的位置進(jìn)行了調(diào)整。由此,會造成了打印時數(shù)據(jù)產(chǎn)生錯位、偏移等現(xiàn)象。使得打印的整體效果不甚美觀,大大的影響了整個程序的性能。這一點上,在車票、學(xué)員證件等打印過程中體現(xiàn)地尤為明顯。若每次進(jìn)行調(diào)整后,均需修改源程序,并重新進(jìn)行編譯,這顯然會給使用者的工作中帶來許多不必要的麻煩。同樣的,對于開發(fā)者來說,這并不是功能完善的軟件系統(tǒng)。所幸的是PowerBuilder中提供了強大的動態(tài)數(shù)據(jù)窗口技術(shù),用戶可以通過創(chuàng)建數(shù)據(jù)窗口對象,動態(tài)地生成數(shù)據(jù)窗口,并且在應(yīng)用程序運行的時候,再將其和一個數(shù)據(jù)窗口控件進(jìn)行關(guān)聯(lián)。用戶也可以在程序運行過程中,通過程序腳本獲取或重新設(shè)置數(shù)據(jù)窗口對象中所有實體的屬性。例如,我們可以在程序運行過程中修改DataWindow中任何對象,比如列、計算域、圖表等的高度、寬度、所在位置等屬性值,或者重新定義數(shù)據(jù)源來實現(xiàn)特殊查詢。實現(xiàn)固定表格精確套打的關(guān)鍵在于兩點:其一:表格內(nèi)數(shù)據(jù)(即數(shù)據(jù)窗口中的對象,主要是列或計算域)的移動。其二:數(shù)據(jù)窗口對象打印格式的保存及恢復(fù)。根據(jù)動態(tài)數(shù)據(jù)窗口的技術(shù)特點,我們可以在程序中動態(tài)地實現(xiàn)固定表格中精確定位打印。PowerBuilder中實現(xiàn)精確套打主要涉及到以下幾個函數(shù):1)

Dwcontrol.Describe(propertylist)

獲取數(shù)據(jù)窗口對象或數(shù)據(jù)窗口對象中某一元素的當(dāng)前屬性值。同樣的,也可以使用圓點操作符來獲取。數(shù)據(jù)窗口中列的橫坐標(biāo)的獲取<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è)置數(shù)據(jù)窗口對象或數(shù)據(jù)窗口對象中某一元素的屬性值。比如背景、顏色、字體大小等。同樣的,也可以使用圓點操作符來進(jìn)行設(shè)置。設(shè)置數(shù)據(jù)窗口中列的橫坐標(biāo)<DWControlName>.Modify("<Columnname>.X='<aninteger>'")<DWControlName>.Object.<Columnname>.X='<aninteger>'3)

LibraryExport(libraryname,objectname,objecttype)通過調(diào)用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ù)窗口控件相關(guān)聯(lián)。在調(diào)用Create()時,函數(shù)的Syntax參數(shù)可以通過以下三種方法進(jìn)行定義:(1)調(diào)用SyntaxFromsql函數(shù)(2)調(diào)用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})將當(dāng)前的數(shù)據(jù)窗口對象導(dǎo)入到PBL庫中。用以保存當(dāng)前數(shù)據(jù)窗口設(shè)置。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ù),導(dǎo)入保存在Print_report.pbl中地數(shù)據(jù)窗口對象。3)

在Create()函數(shù)中利用上一步所導(dǎo)入的源代碼創(chuàng)建數(shù)據(jù)窗口對象。4)

如有需要對數(shù)據(jù)窗口中的對象進(jìn)行調(diào)整,則對數(shù)據(jù)窗口中的具體對象的位置利用DataWindown

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論