DWItemStatus dwcontrol.GetItemStatus ( long row, integer column, DWBuffer dwbuffer )DWItemStatus dwcontrol.GetItemStatus ( long row, string column, DWBuffer dwbuffer )long ll_ttl_rowdatetime ldt_now
- Jun 02 Tue 2026 10:16
-
PowerBuilder (65) - 如何得知DW有否更新? - GetItemStatus()
有時候需要按 DataWIndow 各行各欄的更新狀態去做反應,例如寫入創建時間或更新時間。
DWItemStatus dwcontrol.GetItemStatus ( long row, integer column, DWBuffer dwbuffer )DWItemStatus dwcontrol.GetItemStatus ( long row, string column, DWBuffer dwbuffer )long ll_ttl_rowdatetime ldt_now
DWItemStatus dwcontrol.GetItemStatus ( long row, integer column, DWBuffer dwbuffer )DWItemStatus dwcontrol.GetItemStatus ( long row, string column, DWBuffer dwbuffer )long ll_ttl_rowdatetime ldt_now
- May 28 Thu 2026 11:12
-
PowerBuilder (64) – 止於 PowerBuilder 2019
PowerBuilder 2019 要繼升級的話,改動太大,影響也太大,經考慮,公司決定不再升級了‧
是新的太強大?還是老的已經過時?從畢業工作到現在,寫 PB 已有二十幾年,不再用 PB 開發新系統了,現有的維護到以新語言重寫。只懂單一開發語言的過時程式員,要過時了。😂
最後輕輕為她推廣一下下: https://www.appeon.com/
是新的太強大?還是老的已經過時?從畢業工作到現在,寫 PB 已有二十幾年,不再用 PB 開發新系統了,現有的維護到以新語言重寫。只懂單一開發語言的過時程式員,要過時了。😂
最後輕輕為她推廣一下下: https://www.appeon.com/
- Feb 26 Wed 2025 17:15
-
PowerBuilder (63) – 網絡版小問題 – ref
- Jan 05 Thu 2023 17:49
-
Powerbuilder (62) – 網絡版小問題 - EditMask
- Nov 10 Thu 2022 08:00
-
PowerBuilder (61) - 如何 debug?

PB 有 Debug 功能,它讓你可以看着系統一句一句的執行,也能看到每個變量的值,有助程序猿檢查問題,找到報錯的位置。
在Debug 前要先定位,在最接近報錯點的位置插入breakpoint:
- Nov 03 Thu 2022 07:00
-
PowerBuilder (60) - 如何設定單雙行背景色?

單雙行不同背景色能令數據看起來更清晰,如何做到呢?
建個如下的 function(), window 或 datawindow 的祖先中加入執行的代碼,最好還加個開關,需要時執行一下就可以了。至於 rgb 值,放到數據庫或 ini 就可以了。
- Oct 27 Thu 2022 08:00
-
PowerBuilder (59) – 網上版報列名無效 - 單雙引號
剛把一個 CS 系統署部成網上版,報了個陌生的錯,記錄一下。
以下寫法不管在 PB9, PB12,還是 PB2019,在 CS 環境下都能正常運行,但經 Appeon 部署成網上版就會報「列名 PIG 無效」:
以下寫法不管在 PB9, PB12,還是 PB2019,在 CS 環境下都能正常運行,但經 Appeon 部署成網上版就會報「列名 PIG 無效」:
- Oct 20 Thu 2022 07:00
-
Powerbuilder (58) – 祖先代碼 ( AncestorScript )
- Oct 13 Thu 2022 07:00
-
PowerBuilder (56) - 文字分行符
- Oct 06 Thu 2022 07:00
-
PowerBuilder (57) - Datawindow Update Properties

這裏按字面理解就沒什麼差錯了,但有一點想提醒一下,「where clause」部份,如果你的系統是會多人同時使用的話,選「Key and Updatable Columns」或「Key and Modified Columns」會有點風險。因為 A B 兩個用戶同時打開同一條數據,先更新者勝,後更新者就會報 Row changed between retrieve and update 了。至於選哪一個比較好就要看系統對數據更新的嚴謹性了。
- Sep 29 Thu 2022 07:00
-
Powerbuilder (55) – 手機版 ini
ini 就是設定檔,在前面 Powerbuilder(11) 中有提過一下,在手機版中, ini 變得有點不一樣。
部署後的 ini 轉化成手機上 config 文件夾中的 aws$ini$.xml,雖然變成了 xml,但 ProfileString() 跟 SetProfileString() 依然可用
部署後的 ini 轉化成手機上 config 文件夾中的 aws$ini$.xml,雖然變成了 xml,但 ProfileString() 跟 SetProfileString() 依然可用
- Sep 26 Mon 2022 07:00
-
PowerBuilder (54) - 如何在手機上打開檔案?
每個 APP 都會有自己的路徑,所有在程式中下載的檔案都會儲存在該路徑的 plugin 文件夾中,你可以用 AppeonGetCacheDir() 取得它的路徑。
想在畫面中打開檔案的話,要先在畫面上加入個叫 uo_webview 的控件,然後把檔案這樣交給它就可以了:uo_webview.of_loadlocalfile(ls_path),但 Android 上不支援以 webview 打開 pdf,Android 上看 pdf 要交給瀏覽器:
ls_full_path = 'file://' + ls_full_path
GetContextService("Internet", iinet_base)
li_rtn = iinet_base.HyperlinkToURL(ls_full_path)
想在畫面中打開檔案的話,要先在畫面上加入個叫 uo_webview 的控件,然後把檔案這樣交給它就可以了:uo_webview.of_loadlocalfile(ls_path),但 Android 上不支援以 webview 打開 pdf,Android 上看 pdf 要交給瀏覽器:
ls_full_path = 'file://' + ls_full_path
GetContextService("Internet", iinet_base)
li_rtn = iinet_base.HyperlinkToURL(ls_full_path)
