bestlong 怕失憶筆記

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

Entries for the ‘程式設計’ Category

[Delphi] 避免浮點數型態變數運算的四捨五入錯誤

這是一個令程式設計師有些傷腦筋的問題,在網路上找到此簡體版的技術文件,作者未知,記錄起來當筆記。

資料型態 為 Single、Double 和 Extended 的浮點數變數存在著四捨五入的問題。舉個例子,假設我們用電腦使用小數四位,那麼:

   1 / 3 = 0.3333

我們都知道 3 * 1 / 3 = 1 但如果我們這樣

   X := 1 / 3;
   X := X * 3;
   if X = 1 then //比對結果將會不正確

為什麼呢?
(Read the rest of this entry…)

Comments (4)

PHP 好料

有許多的文章,不過都是英文的

http://www.melonfire.com/community/columns/trog/archives.php

http://www.devshed.com/c/b/PHP/

Leave a Comment

dotProject 甘特圖無法產生之解決方法

安裝好 dotProject 之後,新增了 Company、Project、Task 後,馬上就去看一看甘特圖(Gantt Chart)的顯示結果,居然沒有產生出來,如下圖:

Gantt-err

只好再繼續研究解決的方法
(Read the rest of this entry…)

Comments (3)

dotProject 行事曆的星期亂碼簡易解決方案

造成亂碼的原因是語系轉換的問題程式中是以取得星期幾的字串後取前三個英文字來轉換,所以判定的方式就不相容於中文的格式,因此造成顯示亂碼。所以要將此部份的顯示改成運用系統內的語系檔轉換來處理。

經過一陣程式碼的查訪後,歸納出以下兩大處理部份

1. 中文化的部份在 common.inc 的星期短碼如 Sun, Mon, Tue… 要翻譯成 日, ㄧ, 二…

2. 程式至少要修改的兩個部分:
(Read the rest of this entry…)

Leave a Comment

Delphi 動態隱藏視窗的標題列(同時保留 Sizeable 特性)

當希望程式執行想要去掉上方的標題列時, 可以設置 Form.BorderStyle := bsNone;
不過同時會造成視窗無法 Sizeable (通過滑鼠調整視窗大小).
某位前人仔細翻看了相關 Help 也沒找到解決辦法, 最後在 DFW 裡終於找到答案:

1
2
3
4
5
6
7
8
9
10
procedure TForm1.FormCreate(Sender: TObject);
begin
  SetWindowLong(Handle,      // 視窗 Handle
                GWL_STYLE,   // 表示是要設定新的視窗(普通)樣式
                GetWindowLong(Handle, GWL_STYLE)  // 取得指定視窗訊息
                  and (not WS_CAPTION) // 去掉樣式 (s) 中的 "標題" 樣式
                );
  Height := ClientHeight;
  Width := ClientWidth;
end;

Leave a Comment

  • 工商服務

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

  • 標籤

  • 彙整