在使用 POWERBUILDER 編程中往往會遇到處理復雜表格的情況這些表格數量很大表格結構復雜如用一般的 FREEFORM 風格的數據窗口來實現則報表編程工作會占相當大的時間及精力一旦報表格式略有改變則程序的維護工作會很繁瑣其實 VISUAL COMPONENTS 的 FORMULA ONE 就是一個與 POWERBUILDER 結合非常緊密的報表工具我們可以從 POWERBUILDER 進入 FORMULA ONE 還可以在 POWERBUILDER 下直接使用 FORMULA ONE 提供的各種函數因為 FORMULA ONE 的文件小與數據庫的存取操作速度較快所以建議使用它來制作報表
下面詳細介紹它的使用方法
一 安裝及使用 FORMULA ONE
安裝完畢後運行vcfexe可看到如上的程序環境其文件後綴名為vts它兼容中文具備類似EXCEL的功能如格式編排制作表格線移動和復制單元格單元格的計算畫簡單框圖等等另外FORMULA ONE中還具有上百種函數可以在VISUAL C++ VISUAL BASIC和POWERBUILDER中引用對此不再詳細說明
二在 POWERBUILDER 窗口中加入一個OLE控件
POWERBUILDER支持WINDOWS具備的對象連接與嵌入功能(即OLE功能)我們可以直接在窗口上放置OLE 的控件然後將WINDOWS支持的OLE對象連接到OLE 控件中這樣就能在POWERBUILDER應用中利用OLE服務器的命令和函數完成對OLE對象的操作工作
在POWERBUILDER的窗口中點中OLE圖標會出現插入對象對話框選擇insert control標簽項
在對象列表中選擇Vci Formula One Workbook按確定鍵後選好插入位置點擊鼠標即加入了一個名為ole_的OLE對象在其上用鼠標右鍵選中OCX Properties項在show標簽下可將Row Heading和Column Heading項取消選中將Tabs的值由Bottom 改為 Off加入的OLE對象就是一個沒有行頭列頭及標簽的空白表格
三 FORMULA ONE 文件與窗口中的 OLE 對象之間進行讀寫操作
Ole_objectread(filenameref return)
該句將一個 FORMULA ONE 文件內容讀入 OLE 對象返回值為 return
此後在窗口的 ole_ 中會出現該文件內容可直接在窗口上修改其內容也可以雙擊鼠標右鍵可進入 FORMULA ONE 的編輯環境中進行修改
Ole_objectsavefiledlg( 保存文件 ref filenameref return)
Ole_objectwrite(filenamereturn)
這兩句首先給出一個保存文件對話框讓使用者輸入一個 FORMULA ONE 文件名然後再將 OLE 對象內容寫入 FORMULA ONE 文件
實際上 read write savefiledlg 等函數都是 FORMULA ONE 所有的 POWERBUILDER 中只需在 Ole_ 後加一個 object 即可引用這些函數
四數據庫與 FORMULA ONE 文件之間進行讀寫操作
數據庫中大文本字段內容讀入 FORMULA ONE 文件中
selectblob 大文本字段名 into :blob 變量名 from 表名 where…
該句查詢大文本字段內容到 blob 變量中
[] []
From:http://tw.wingwit.com/Article/program/PB/201311/24623.html