bestlong 怕失憶筆記

當健忘由隨機逐漸趨向常態時,作筆記是非常必要的

Delphi應用程式中的日期格式管理

有很多套裝軟體或專案開發程式都沒有處理到這一塊問題,只會強制要求使用者的電腦環境一定要調整為西元年或民國年格式。

其實程式的日期格式會隨作業系統設定而自動改變畫面是一個特色,不過當程式有在用西元日期資料來處理單據編號或是轉換為民國年的部份可就沒那麼單純了。

例如程式寫成取得西元日期格式的後兩碼,但是當系統被設為民國年在兩碼時 99/12/23 就會取得 /1 而在三碼時 099/12/23 會取得 9/ 都是不合理的。

因為程式後續還會轉型為數字並減去 1911 來轉換取得民國年的數字。有些沒處理好的軟體就會在此出現錯誤訊息。

說實在的,如果需要同時用到的程式有衝突的時候,就不能同時開啟使用,難不成要多買台電腦分開用。有些程式還會在啟動時直接去調整系統的設定來適應自己,最後啟動的決定環境設定。

其實可以將程式設定成不受作業系統設定以及改變而受影響,可以利用 UpdateFormatSettings 屬性設定來決定當收到作業系統的 WM_WININICHANGE 通知訊息後,是否要重新讀取作業系統的設定格式。

另外也手動設定程式本身的所要使用的日期時間格式。程式碼如下:

1
2
3
4
5
6
7
8
9
10
//鎖定程式日期時間格式不受系統變化影響
Application.UpdateFormatSettings := false;

//設定程式本身所使用的日期時間格式
LongDateFormat  := 'yyyy/MM/dd';
ShortDateFormat := 'yyyy/MM/dd';
LongTimeFormat  := 'hh:nn:ss';
ShortTimeFormat := 'hh:nn:ss';
DateSeparator := '/';
TimeSeparator := ':';

這樣就可以固守程式的日期格式,自行在程式中管理日期的處理方式。

Comments (3)

Computer-Aided Engineering (CAE)

Computer-Aided Engineering (CAE) is the broad usage of computer software to aid in engineering tasks. It includes:

    Computer-Aided Design (CAD)
    Computer-Aided Analysis (CAA)
    Computer-Integrated Manufacturing (CIM)
    Computer-Aided Manufacturing (CAM)
    Materials Requirements Planning (MRP)
    Computer-Aided Planning (CAP)

資料參考 http://wikipedia.org/

Leave a Comment

關於 USB 轉 RS232 連接線

有很多設備需要透過 RS232 介面來傳輸資料,不過目前電腦硬體幾乎都將 RS232 介面給淘汰了,所以需要另外購買 USB 轉 RS232 連接線。

不過可別隨意到電腦賣場購買,個人用過數條不知名廠牌的都有問題,常常會有傳輸掉資料的狀況,除非是不在乎資料完整性應用環境。

所以要找工業等級的才有保障,例如宏正自動科技、研華、四零四科技等等的品牌,或是找有標示使用FTDI晶片的。

Leave a Comment

民國百年蟲真的來了

這是中華民國獨有的軟體問題,只要是跟日期有關的欄位與資訊。

如果軟體在年的顯示方法是採取後兩碼,那麼到達民國100年時就會出現顯示或列印 00/01/01 的狀況。
如果碰上有日期計算的狀況 00/01/01 減去 99/01/01 是 365 日還是 -365 日。

還有大家所使用的資料庫軟體是否可以輸入 100 的年數?因為支票列印作業會因為較長票期讓導致問題提早浮現。

該升級就趕快升級,沒得升級就趕快換吧。也希望在硬體設備上不會碰到問題。

Leave a Comment

Windwod 版的 Dia 無法輸入中文

先前曾介紹 開源的流程圖繪製軟體 Dia

不過,最近安裝使用卻發現打中文字會無法傳入問題,不過用複製貼上的中文就可以傳入。

最後發現只要將功能表上的輸入法由 系統(Window IME) 切換到 簡易 就可解決中文字傳入的問題了。

不過同時開了第二個圖表編輯卻還是一樣中文輸入傳入消失,但第一個圖表確可以傳入,還真是挑嘴。

Leave a Comment

  • 工商服務

    廣告讀取中...
  • 近期留言

  • 標籤

  • 彙整