
類似於老 PB 時代的 pfc,Appeon Powerbuilder 也替大家準備了一些用於開發 APP 的功能及控件,建議把它們都加入的你的 target 中,那你就可以與手機溝通,取得手機的各種資訊,或調用相機、NFC、GPS 之類的硬件及數據:
過時程式員 發表在 痞客邦 留言(0) 人氣(33)

PB 內有很多內建的功能以方便大家使用,這裏抽取 Itemchanged event 為例,解釋一下 event 怎麼使用。
Event 就是事件,由畫面上發生的事件來觸發,例如滑鼠的左按或右按、用戶點擊按鈕,或從下拉選值之類的。ItemChange 就是某欄位內容被改動過所觸發的事件。圖中Itemchanged( long row, dwobject, string data ) 是系統傳進來的變量,row 是常前行號,dwo 是控件,你可以用 dwo.name 取得它的名字來看看,而 data 則是該欄位裏最新的值,不管該欄位裏面的值是哪種類型,這裏的 data 都是 string,如果裏面的是數字或日期之類的,你就要手工把它從 string 轉換成你想要的類型。Returns long 就是它的返回值是 long 的意思,你可以在 itemchanged 裏 return 不同的值來告訴系統一下步要怎麼做,接不接受這個值,可不可以跳到下一格之類。如果希望按不同欄位做不同的事情,大概要這樣寫:
過時程式員 發表在 痞客邦 留言(0) 人氣(69)

關於GR入塵,想聊幾句。
過時程式員 發表在 痞客邦 留言(0) 人氣(135)

在撐了四年後,我的GR2 還是進大塵了,反正什麼原廠保養之類的全都過期, GR3 又出現好幾年了,要是出了個什麼意外,那就可以成為升級的好借口了。好!拆機清塵!
前幾年就有了拆GR1 的經驗,所以這次一開始就知道要準備什麼了:
過時程式員 發表在 痞客邦 留言(0) 人氣(1,326)

不要被
PowerScript 的語法混淆,在存儲過程裏的 「
return」是不會返回值到 PowerScript 的。不少人以為會返回到「sqlcode」,其實不然,「sqlcode」是給數據庫反映存儲過程有沒有成功執行的,寫 return 什麼值都沒有意義,它只會讓你退出而已,取值的話,要用「Fetch」。
過時程式員 發表在 痞客邦 留言(0) 人氣(58)
剛有同事問起,但這個又簡單到沒什麼好解釋,我直接放代碼好了。
過時程式員 發表在 痞客邦 留言(0) 人氣(86)

每個畫面都可以設「一個」的「Default」按鈕,意思就是當戶用在畫面中按下「Enter」時會觸發的按鈕。下面的「Request code」按鈕就是這種,在 Properties\General 裏勾上「Default」,它的樣子看起來就會不一樣,再按「Enter」就可以觸發它的 Clicked Event 了。
過時程式員 發表在 痞客邦 留言(0) 人氣(117)

剛用戶求援,系統報錯,但報錯訊息不明,在查找報錯原因同時,也發現了一個編碼錯誤。這錯誤很常見,很多人未必有注意到這細節,我就在這裏提醒一下。
要知道
Sqlerrtext 裏面放的是「前一個動作」的執行結果,以下圖的代碼來說,按道理是要看 update 的錯誤訊息,但最終能看到的卻是「Rollback」的執行結果。由於訊息錯誤,這樣在排錯時就白白多花時間了。
過時程式員 發表在 痞客邦 留言(0) 人氣(42)

為了提供更好的使用體驗,在有限的畫面中提供更多的數據,PB 提供了
ToolTip,以下就是Properities\Tooltip 頁裏面最常用到的 Icon、Title、Tip,在裏面輸好東西,或設好公式,當勾上「Enabled」,而 mouse pointer 又移到該 object 上面時,Tooltip 就會自動顯示了。另外 Mouse pointer 自動變成手手的設定在 Properities\Pointer 內。
過時程式員 發表在 痞客邦 留言(0) 人氣(69)

如果你有某些畫面需要定時自動刷新,比方說股票價格,這時候就會用到 Timer Event。
Window 入面都有
Timer Event,你可以把需要定時執行的代碼寫到 Timer Event 中,然後在 Window 的其他 event 中啓動它,可能是 Open event,也可能是某按鈕的 Clicked event,
Timer(60) 就是每 60 秒執行一遍的意思。
過時程式員 發表在 痞客邦 留言(0) 人氣(216)