2011年9月7日星期三

Powerbuilder如何建立網際網路服務

PowerBuilder 要建立網路服務,基本上需要兩個物件:
inet
internetResult
inet直接建立(instance)就可以了,例如:
inet linet
linet = Create inet
而接收inet傳回的資料就需要 internetResult 了,
只是這個物件不能直接建立,必須先建立Class (類別),
並且寫入處理回傳資料的程式碼(script),再建立(instance)成為物件才能使用:

(以PB10)

首先先建立一個Standard Class
Standard Class

再選擇  Types 為 internetResult


如果是PB6的版本就先建立User object
User Object

>再選擇新建(new) >選擇 Standard Class

Standard Class

再選擇  Types 為 internetResult


並且命名為 n_internetresult

然後開啟 n_internetresult 建立一個 instance 變數
String is_text 
然後,可以在 n_internetresult 找到一個內建函數:
internetData(blob data)
寫入以下script:
is_text = String(data , EncodingUTF8!)
//如果網頁回傳的實際編碼(不是內容編碼,不要搞錯)是ansi編碼就使用EncodingANSI!)
//PB6的string轉換無法指定編碼方式,一律都是ANSI編碼

Return 1
所以,當你建立好類別 n_internetresult 就可以開始使用網路服務了。

以下程式碼,我們可以試著讀取一個網頁的內容:
inet linet
n_internetresult lir_html
integer li_rtn
string ls_htmlText

linet = Create inet
lir_html = Create n_internetresult

li_rtn = linet.GetURL("http://www.mydomain.com/index.html",lir_html)
if li_rtn = 1 then
 //取得網頁內容
 ls_htnlText = lir_html.is_text
else
 messagebox("GET URL" , "Internet error!")
 return
end if

messageBox("HTML DATA" , ls_htmlText)

Destroy lir_html
Destroy linet

0 個回應: