你知道嗎?PowerBuilder 開發環境內代碼是可以隨意更改的,我比較喜歡字母佔比都是一樣的字形,這會讓代碼排縮看起來會比整齊。設定一個舒服的環境,工作起來才會順手嘛 ~

 

image

Arial ,這是佔比不一樣的,「f」跟「m」佔的空間不一。

文章標籤

過時程式員 發表在 痞客邦 留言(0) 人氣()

DataWindow 預設只能更新一個表,如果你的 DataWindow 是由多個表關聯出來,而你又想更新其他表的話,這時候要怎麼做?

這時候就可以以 Modify() 在執行環境修改 DataWindow 的屬性,把可更新的表、欄位都改成新的表,改多少次都行,但注意最後要還原設定,否則用戶再次點更新的時候就可能亂套了。

// 關閉原有的更新
dw_1.Modify("class_id.Key=No") // 把原來的主鍵關閉

文章標籤

過時程式員 發表在 痞客邦 留言(0) 人氣()

跟前一篇的 Datastore 類似,但有時候我們並不需要對 datastore 內的數據作改動,只要能取到值就可以了,那我們就可以使用 PB  內的 cursor。對比 datastore ,cursor 會使用到更少的資源,速度更快,也不必單純為了後台運算而多建一個 datawindow,也避開了別人以為沒用而誤把你的 Datawindow 刪掉或修改的風險。

// 定義變量
String     ls_student_id, ls_class
Integer    li_year

文章標籤

過時程式員 發表在 痞客邦 留言(0) 人氣()

Datastore 就是隠形的 Datawindow,大部份 Datawindow 的功能它都擁有,GetItem(), SetItem(), Sorting, Insert, Delete, Update 它全都有。有時候會想把批量的數據取出來,然後逐條處理,這個時候就可以用上 Datastore 了。

 

比方說,把高中某班的學生取出來,再按學號到不同的表中取各科目的考試成績、課外活動記錄、各種奬項等等,匯總出來生成年度記錄或成績單,由於過程中用戶沒必要看到實際數據,只要看到進度和結果就可以了,這時候就可以把學生名單取到 datastore 中,再以 for loop把學號逐個取出來處理。

 

文章標籤

過時程式員 發表在 痞客邦 留言(0) 人氣()

image

右按 object ,點「Edit Source」就可以看到那一大堆不是人看的源碼了,正常人平常不會開來玩,但遇上不正常的時候就需要進來弄一下了(小夫~)。

 
image 

文章標籤

過時程式員 發表在 痞客邦 留言(0) 人氣()

DataWindow 過濾方法有三:
1.    在 PB\Rows\Fillter 裏面設
2.    在代碼裏以 SetFilter()
3.    在代碼裏以 DataWindow Syntax 設,這太煩了,往後只要有 PB Function 能代替的我都不說這個了。

文章標籤

過時程式員 發表在 痞客邦 留言(0) 人氣()

做程式開發的,每天都在跟用戶打交道,跟數據打交道,各種級別的用戶和數據都有,別說打印或下載了,就算是哪些東西可以說,哪些東西不可以說也要用心拿揑,所以呢,什麼都不說是最簡單的,共同開發同一個程式還好一點,同部門不同組的,或者是其他部門的,不管他職位是什麼,在沒得到直屬上司「白紙黑字」的同意或要求之前,你還是什麼都不能透露,這是在保護自己、守護制度,也是在保護公司。

所謂「白紙黑字」,在現代來說,電子郵件算是最好的了,一封郵件代表收發雙方都有記錄,收發雙方公司的郵件伺服也有記錄和備份,你收到,做完之後再    quote 上對方的原郵件作為附件去回應,最算比較安全了。別相信單向的溝通,有case 是員工發短訊向上司請假,假放完了,然後上司說沒收到,最後被炒了…… 如果是電訊公司的短訊,你還能花錢讓她給你弄個詳細的清單,但最多也只能證明你有發過而已,對方有沒有收到,還是他說了算。如果是 Line、WhatsApp 之類的軟件,你要找出證明就幾乎是不可能了。

至於程式的版權,如果你是打工仔,在僱傭合約下受薪開發的話,版權是歸公所有的。曾經聽過有人會把代碼拷走,在新公司面試時作為個人賣點,或者貪方便把前公司的程序直接拿到新公司去用,這是不道德,也是違法。曾經聽過另一個case,開發員離職直接把代碼帶走,要公司付鈔買回,這種情況啊,我也是大開眼界,遠遠超出我的想像了,最後好像是報警處理了。

在這個行業裏,操守比技術重要。有些事情,儘管沒有人,或根本不會有人發現,但你還是會知道:是你做的。

文章標籤

過時程式員 發表在 痞客邦 留言(0) 人氣()

DataWindow 排序方法有:
1.    在 DataWindow 內的 SQLSortPB 就會 Order by 加到 SQL 的最後,不勾上「Ascending」就是「遞減」的意思,這是第一重排序。
2.    在 DataWindow PainterPB\Rows\Sort 內設,這是第二重排序,設了這個的話,前面的SQL 排序就失效了。
3.    在代碼裏以 SetSort() 排序,這算是在 Runtime 時以代碼整前面的 Row\Sort 設定,彈性最大,可即時回應用戶操作,比如點擊欄名。

文章標籤

過時程式員 發表在 痞客邦 留言(0) 人氣()

2020 聖誕快樂      

 

DataWindow 在程式運行的時候還是可以調整的,就好像勾上了的就全行變顏色,或者在打印前調一下行高欄闊,又或者是更新哪個表、哪個欄位之類,所有東西都能在這裏查到:New\Tool\DataWindow Syntax

image

文章標籤

過時程式員 發表在 痞客邦 留言(1) 人氣()

 明天就是平安夜了,各位萬事小心,別一不小心就升級為父母1.0 哦~  

 

OpenWithParm() 用於打開窗體的時候,把變量也傳給它,只能傳一個,但你可以把多個拼成一串的傳進去,例如「公司名|單號|SOXXXXXX」,然後在目的窗體的 open event 裏面做分拆處理。

// 用於一般窗體

文章標籤

過時程式員 發表在 痞客邦 留言(0) 人氣()