何以成事?唯勤而已!
20110526
20110524
[見微]抄襲
----從CNBLUE(외톨이야)與Ynot(파랑새)論抄襲
抄襲的定義見仁見智?!
在非黑即白的世界裡,可能有模糊地帶嗎?
最近覺得CNBLUE這首歌(외톨이야,孤獨啊)很好聽,
然後更進一步發現有抄襲的爭議;
接著就把號稱被抄襲的那首歌Ynot樂團(파랑새)找來聽聽看。
嗯,有抄襲爭議可以說是意料中事。
這樣說吧,由於關鍵主旋律完全相同,幾個關鍵小節的節奏與旋律根本沒有差異,要說외톨이야是百分百原創,那是不對的。
但是否是抄襲呢?也不是啊!!
試問:
如果某甲做了一個大水瓶,但是傾倒的時候水容易從瓶口潑灑出來,
某乙看到了,做一個完全相同的但在瓶口做了曲角,讓水容易集中傾倒。
然後某乙的作品大暢銷,這樣可以指控某乙抄襲某甲嗎?
可以:因為百分之九十以上形似
不可:因為瓶口的改善在使用便利上是超過百分之九十的關鍵
聽過兩首歌的聽眾,可以很明顯的聽出來哪首歌的編曲、旋律比較好聽。
只能說「외톨이야,孤獨啊」的作曲者有很優秀的改良天賦,同時缺乏原創能力,所以才會做出這樣的曲子;那是否要因此否定這位作曲者對人類文化的貢獻呢,要見仁見智嗎?我想,答案很明顯的,改良也是一種傑出的才能,是需要肯定的。
這個事件裡不存在抄襲,Ynot的作曲者如果有足夠的器量,應該要很高興自己的原創旋律因為這位作曲者김도훈(金道勳)而發揚光大。
20110518
[養生] 十大健康食物
隨著現代人的緊張生活節奏,人們越來越想保持健康的生活,
攝取適當的營養可以為現代人的保健(wellness)和持久的健康達到事半功倍的效果。
堅果、鮭魚等十項食物被認為是現代生活中最佳的營養食品。
1 | 堅果 | nuts | 堅果不僅可以提高好的膽固醇,并能降低血液中的三酸甘油脂,是預防心臟病的最佳配方。 |
2 | 鮭魚 | salmon | 經常食用鮭魚可防止血管阻塞,有研究表明,鮭魚含的Omega-3成份可以保護腦部老化,罹患老人癡呆等疾病。 |
3 | 花椰菜 | cauliflower | 花椰菜富含胡蘿卜素及維他命C,長期食用花椰菜可以減少患乳癌、直腸癌及胃癌的機率。 |
4 | 藍莓 | strawberry | 藍莓在所有蔬果中擁有極高的抗氧化劑,除了可以預防心臟病和癌癥,并能增進腦力。 |
5 | 蕃茄 | tomato | 蕃茄內含的西紅柿紅素,能夠大幅減少罹患攝護腺癌等癌癥的機率。蕃茄也是最佳的維他命C來源。 |
6 | 菠菜 | spinach | 菠菜含豐實的鐵及維他命B,能夠有效防治患血管方面疾病,并能預防盲眼癥。 |
7 | 燕麥 | oats | 每天食用燕麥可以減低膽固醇,降低血壓。 |
8 | 大蒜 | garlic | 大蒜有防治心臟疾病的功能,不僅可以降低膽固醇,并有殺菌、清血的功能。 |
9 | 綠茶 | green tea | 經常飲用綠茶可以預防癌癥,每天食用綠茶患胃癌、食道癌及肝癌的機率較低。 |
10 | 紅酒 | red wine | 釀酒用的葡萄皮有豐富的抗氧化劑,能夠增加好的膽固醇,減少血管硬化,但要注意飲紅酒不能過量。 |
[解法]如何讓Delphi TrayIcon不重複執行程式
[解法]如何讓Delphi TrayIcon不重複執行程式
[author]
Aeon Linn.@20110518
[問題]
解決不重複執行程式的關鍵字是:
CreateSemaphore 或 CreateMutex,
但是程式若使用了 TCoolTrayIcon或類似的元件,
而且已經縮小在Tray,
那麼,『想要在重複執行時,直接叫出已經執行的程式』,
會遇到一個小小的問題:
原本依據常理推論:
SendMessage(...,WM_SYSCOMMAND ,SC_RESTORE,0) 即可完成此需求,
但發現會引起 Minimize to Tray以及部分Form元件功能的遺失,
再次點擊TrayIcon則能解除此狀況;
判斷為TrayIcon的問題。
[解法]
使用SendMessage
在.dpr SendMessage的時候改採自定義Messages.傳送指定參數;
而程式內部也接收此訊息,
在訊息觸發且參數正確時觸發CoolTrayIconClick行為(顯示/隱藏)
[註解]
自訂義MSG請參考 [教學]DELPHI使用Windows Message簡易傳值
#
[教學]DELPHI使用Windows Message簡易傳值
[教學]DELPHI使用Windows Message簡易傳值
[author] A.L.@20110518
[引用]
messages
[發送]
PostMessage(hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): BOOL;
SendMessage(hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): BOOL;
1.差異在於 PostMessage送後不理
2.wParam和lParam分別可簡單的送出兩個整數值
[接收]
1.定義 Msg接口:通常在上方定義常數值
2.可簡易接收兩個整數
3.也可以接收物件,那就需要更進一步的包裝了
[範例]
const
WM_123= WM_USER+123
...
private
procedure WM123(var Msg:Tmessage); message WM_123;
...
procedure TFormTest.Button1Click(Sender:TObject);
begin
SendMessage(FindWindow('TFormTest',nil),WM_123,2,1);
end;
procedure TFormTest.WM123(var Msg:Tmessage);
begin
showmessage(inttostr(Msg.WParam)+','+inttostr(Msg.WParam));
end;
//執行結果是按下按鈕後會彈跳訊息,內容為 2,1
#
20110505
[教學]像雷達的無線基地台偵測程式
windows 7 (64bit) Toshiba ConfigFree Utility
download:
http://goo.gl/ethNd
refer: 安裝與移除教學
http://goo.gl/cEC3W
ps:
x64路徑為HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\TOSHIBA\ConfigFree