星期六, 4月 14, 2012

電腦的時間精度問題

之前寫的簡易校時,是因為發覺系統時間會有不準的情況,但當時並沒有去探討時間不準的情況有多嚴重


直到有支程式需長時間執行的情況下,才發覺此問題的嚴重性! 因為捉取到的資訊是包含了外部主機主機時間與主機寫入時間,久了竟然發覺時間差了2秒以上


最後請出了NTPClock,先取消自動校時的設定,長時間跑下來如下

1.開機約18小時.系統快了約1.5秒
校時18
2.開機約29小時.系統快了統2.9秒
校時29
3.測完2後.系統關機, 重開機後是約 42小時後(從開始計算開始), 系統慢了2.1秒
校時42-跟29間有關機
4.50小時,系統慢了1.7秒
校時50

此情況在WINDOWS 7 家用進階版上測試, 主機為ASUS 家用I7
以此情況來看.在WINDOWS執行時.系統時間會自動變快, 而在關機模式下,系統會變慢!
之後又在其它二台電腦上進行測試.有著相同的結果!
若你要進行測試.請先關閉WIDNOWS中的自動校時設定

星期六, 4月 07, 2012

SQL ERROR 9003 while attaching

程式執行時.發覺找不到系統所需的資料庫! 發覺DB己被卸載
手動掛載DB,於附加資料庫時出現 9003的錯誤訊息
發覺該台電腦有中毒.先行解毒! 備份MDF與LDF


進入緊急修覆模式
TSQL
ALTER DATABASE A01 SET EMERGENCY
ALTER DATABASE A01 SET SINGLE_USER
DBCC CHECKDB (A01, REPAIR_ALLOW_DATA_LOSS) WITH NO_INFOMSGS, ALL_ERRORMSGS
此語法也無法修覆DB,最後使用前二者語法,讓DB可以讀取出資料,使用語法硬倒重要資料進到新DB

星期五, 3月 23, 2012

看不懂的SQL SERVER 2012 Express 記憶體限制-使用超過4G

查看微軟的說明文件,最新的SQL SERVER EXPRESS 2012 並沒有放寬記憶體使用1G的限制,但在我的一台測試機上,確實出現了超過1G的使用量
使用了TSQL語法查看記憶體使用量,與使用工作管理員查看.均是使用了2G,不解是文件錯誤,還是實際上有放寬!
使用的查詢語法如下
--查看SQL版本
SELECT SERVERPROPERTY('Edition') , SERVERPROPERTY('ProductVersion')
--查看SQL SERVER記憶體使用量
select cntr_value/1024 from master.dbo.sysperfinfo
where counter_name = 'Total Server Memory (KB)'

看官請自行查看下圖吧
image

更新資訊
3/28 使用達到3.3G



3/31 使用超過4G, 達到4.2G!
SQL Express 2012 use Ram over 4G


星期一, 3月 12, 2012

Read .xlsx file from OLEDB (office 2007)

Provider=Microsoft.Jet.OLEDB.4.0;Mode=Read;Data Source=xxx.xls;Extended Properties=Excel 8.0

change to


Provider=Microsoft.ACE.OLEDB.12.0;Data Source=xxx.xlsx;Extended Properties=Excel 12.0

星期三, 2月 15, 2012

XE2 教學課程 (RAD Studio XE2 Tutorial Series)

大半是STEP BY STEP的VIDEO,看完後相信會功力大增!

包含

  • 64-bit Windows applications
  • LiveBindings
  • mobile application development for iOS and Android
  • Windows and Mac development with one code base
  • FireMonkey styles


包含的產品有

  • Delphi XE2
  • C++Builder XE2
  • FireMonkey
  • RadPHP XE2
  • Embarcadero Prism XE2

Videos included in this Series

以上原始網頁資訊在

http://www.embarcadero.com/31-days-of-december

星期一, 2月 13, 2012

舊程式升級DELPHI XE2遇到的第一個問題

使用XE2開啟舊的程式(Delphi 2009)建立的專案,開啟時非常的順利,連提示轉換都沒有就直接開啟(不過儲存後他會很自動的變更DPROJ裡頭的編譯資訊)!

心想這麼聰明,一定編譯起來是非常的順利,不過在實際編譯後卻發生找不到"單元"的問題,例如程式中原來使用USE Jpeg卻提示找不到,查看後才發覺需變更為vcl.imaging.Jpeg


在XE2中也導入了像.NET中的SCOPE做法,詳細可以參考這二個連結

所以只要程式升級XE2後發生單元不存在的情況,都可以先來這裡查閱應加入什麼SCOPE NAME! 不過並不明白為什麼開啟時不自動轉換

 

以下列出常見的單元異動後的名稱

vcl.Graphics
vcl.Controls
vcl.Forms
vcl.Dialogs
vcl.Buttons
vcl.ExtCtrls
vcl.StdCtrls
vcl.Controls
vcl.ComCtrls
vcl.Grids

vcl.imaging.Jpeg   
vcl.imaging.pngimage
vcl.imaging.GIFImg


System.SysUtils
System.Classes

星期五, 1月 06, 2012

另人討厭的OLE error 800AC472!

問題: 由程式透過OLE開啟EXCEL,不定時會出現 OLE error 800AC472!


原因: 由程式開啟的EXCEL,若是使用者有對儲存格進入編輯模式(按下F2),即後續程式若再操作EXCEL即會發生

 

解決方式:

  • 不要將EXCEL的VISIBLE設成TRUE(若EXCEL是為了呈現及時計算的資料,此方式不可行)
  • 由程式測試是否為可更新模式 請參考MSDN討論區, 但此方式我在OFFICE 2007試不出來! 且使用者有可能是按下功能列上的儲存而造成相同錯誤

後記: 不知道為什麼不提供READONLY或ENABLED可供操作! 雖然可以在程式中操作表格是否可以異動,但程式若需寫入時,還是需要將表格變成可異動,只需要在短短的這段時間內,使用者按下F2一樣破功!

星期四, 1月 05, 2012

以最簡單的方式自動同步電腦時間

CMD : w32tm /resync





CODE: ShellExecuteW(Handle,'OPEN',pchar('w32tm'),PChar('/resync'),'',SW_HIDE);

星期一, 6月 13, 2011

BEX Error 排除

最近客戶告知,在使用ERP程式時常會發生錯訊,同樣的程式在其它電腦執行都正常, 且在常出現錯誤的客戶也並非每次發生! 錯誤的訊息簡略如下

Error Message details:
Problem signature:
  Problem Event Name:    BEX
  Application Name:    XXX.exe
  Fault Module Name:    pngfilt.dll
  Exception Code:    c0000005

 

於本地端架起了相同的OS(Server 2008)環境測試,也都測不出所以然!就算關閉UAC也一樣會掛點,在先前只知道修改DEP可以改善此問題,後來看到了這篇文章,又回頭去做測試,才知道為什麼相同客戶也並不一定每次都發生! 原來是在使用終端機模式下,就很容易出現! 猜想應是安裝了Terminal Services 後,會將WINDOWS的DEP修改為所有程式(待驗證)

 

所以解決方式也蠻簡單的

1.關閉DEP

2.或是將程式加入排除清單

星期三, 6月 01, 2011

食物GI知多少 吃出健康少煩惱!

最近比較開始注意飲食與運動! 之前比較重視食物的熱量與膽固醇的含量,但某次朋友轉寄資料中得知,才發覺低GI飲食也蠻重要的!




GI,Glycemic index的簡稱,中文叫”升糖指數",低GI飲食可以減少肥肪的堆積,對於血脂、血糖等的控制很有幫助(代謝症候群、慢性病、糖尿病、心臟病風險控制圴助益)

附表來源 國民健康局

附表 國人常用食物的升糖指數(GI)對照表

食物種類

G I

以白麵包(GI=100)作為GI食物對照之參考指標

五穀根莖類

全麥早餐榖類43±3 皇帝豆46±13 山藥53±11 粉絲56±13 義大利麵60±4 米粉61±6 速食麵67±2 通心粉67±3

豌豆(仁)68±7 綠豆76±11 甜玉米78±6 芋頭79±2

烏龍麵79±10 燕麥片粥83±5 烤馬鈴薯85±4 甘藷87±10

玉米脆片90±15 白米飯91±9 即食麥片粥94±1 貝果103±5

薯條107±6 糯米飯132±9

蔬菜類

菜豆39±6扁豆 41±1 大豌豆(夾)56±12 胡蘿蔔68 ± 23

豆類

黃豆25±4

水果類

櫻桃32 葡萄柚36 梨子47蘋果52±3 無糖蕃茄汁54

李子55±21 草莓57 蘋果汁57±1 柳橙60±5 桃子60±20

無糖鳳梨汁66 ± 3 葡萄66±4 萄柚汁69±5 柳橙汁71±5

芒果73±8 草莓果醬73±14 香蕉74±5 奇異果75±8

小紅莓汁80 杏82±3木瓜84±2 鳳梨84±11 西瓜103

乳製品類

全脂牛奶38±6 優格51 布丁62±5 豆奶63 冰淇淋87±10

烘培食品類

蛋糕(蛋糕粉)54-60 海棉蛋糕66 鬆餅77±8 鬆餅78±6

天使蛋糕95±7 糖霜雞蛋糕104 甜甜圈108±10

零食點心類

花生21±12 腰果31 花生47 巧克力61±4 洋芋片77±4

爆米花103±24

碳酸飲料類

可樂83±7 汽水97

糖類

木糖醇11±1 果糖27±4 乳糖66±3 蜂蜜78±7 蔗糖97±7

葡萄糖141±4

備註:1.資料來源為Foster-Powell K, Holt SH, Brand-Miller JC. International table of glycemic index and glycemic load values: 2002.1,2 Am J Clin Nutr 2002; 76(1):5–56.

2.食物的升糖指數會因不同食物來源地、品種、成熟度及烹調加工方式等而有差異。

星期日, 2月 06, 2011

三菱COLTPLUS 油耗整理版

原來即有長期分享油耗資料

http://huwk.blogspot.com/2008/12/colt-plus.html

利用過年的時間將資料整理了一下



1.0-1000公里的油耗 14.61 (此時用出廠的機油)
2.1000-5000公里油耗 14.75 (此時用中油SM9000紫瓶)
3.5000-1萬公里油耗 15.63 (此時用中油SM9000紫瓶)
4.1萬-1萬五油耗 15.42 (此時用中油SM9000紫瓶)
5.1萬五-2萬油耗 15.46 (此時用中油SM9000紫瓶,2萬有換變速箱油,且機油改用好市多 chevron 5w/40)
6.2萬-2萬五油耗 16.00 (此時用好市多 chevron 5w/40)
7.2萬五-3萬油耗 15.43 (此時用好市多 chevron 5w/40)
8.3萬-3萬五油耗 15.47 (此時用好市多 chevron 5w/40)


以上數據計算方式
1.1081/73.97 = 14.61
2.5220-1081 / 280.57 = 14.75
3.10251-5220 / 321.77 = 15.63
4.15335-10251 / 329.63 = 15.42
5.20229-15335 / 316.61 = 15.46
6.25653 - 20229 / 338.86 = 16.00
7.30222 - 25653 / 296.16 = 15.43
8.35298 - 30222 / 327.96 = 15.47