【阿里紀錄片:揚子江大鱷】

前阿里巴巴外籍員工porter,2年時間剪輯大作。獨家揭秘阿里巴巴早期的艱難生存經歷。馬雲的心路歷程,所有資料首次公映,一定要看!
閱讀全文〈【阿里紀錄片:揚子江大鱷】〉

2013年流行CSS framework

  • Skeleton

網址: http://www.getskeleton.com/

Skeleton- Beautiful Boilerplate for Responsive, Mobile-Friendly Development

  • Pure

網址: http://purecss.io/

  • Foundation

網址: http://foundation.zurb.com/

Foundation - The Most Advanced Responsive Front-end Framework from ZURB

  • 960 Grid System

網址: http://960.gs/

  • Less Framework

網址: http://lessframework.com/

  • Blueprint

網址: http://www.blueprintcss.org/

  • Bootstrap

網址: http://getbootstrap.com/

Google工程師用30行JavaScript寫出光線跟踪程式

Hacker News上出現了一則訊息,Google的瑞士工程師Gabriel Gambetta 只用了30行JavaScript程式就寫了一個功能完整的光線跟踪程式。

Gabriel Gambetta - Tiny Raytracer Demo

 

延伸閱讀

Tiny Raytracer

Tiny Raytracer Demo

Tiny Raytracer Full Source

 

功能完整的純文字編輯器Notepad++

Notepad++是壽山最常拿來編輯PHP、HTML、CSS、JavaScript的文字編輯器。

這套軟體也算是台灣之光,是由台灣人侯今吾基於Scintilla編輯元件所撰寫出來的!在功能上可以取代系統內附較陽春的記事本(Notepad),也可以解決無法打開超過64K檔案以及支援Unicode,在中文搜尋、取代也做的很好!也提供程式語言上色以及高亮功能。真的是原始碼編輯的好幫手!

延伸閱讀:

Notepad++ 官網

Scintilla

 

Delphi XE5撰寫Android程式常用的unit

Delphi XE5封裝了一些Android相關的api

Androidapi.Jni

Androidapi.JNI.Os

Androidapi.JNI.JavaTypes

Androidapi.JNIBridge

Androidapi.JNI.App

如果在程式中需要呼叫其他的.apk 或 .jar的話呢~則需要使用到

Androidapi.JNI.Dalvik

Androidapi.JNI.GraphicsContentViewText

FMX.Helpers.Android

Delphi XE5深入技術研討會

由李維大師所主持的Delphi XE5深入技術研討會,研討會過後二天,台灣QCom(捷康)就寄來了相關的文件了!

• 瞭解 Delphi XE5 如何在 Android / iOS 環境中運行
• 通往 Android / iOS 環境的重要觀念,類別 / 介面和方法
• 動態呼叫?靜態呼叫?
• 會使用下列幾個實例來說明:

– Delphi XE5 未封裝的 API
– BlueTooth
– Bar Code
– 其他第 3 方函式庫

 

延伸閱讀:
李維大師部落格 IT : 是工作還是嗜好?

捷康科技/Embarcadero 應用程式開發工具 http://embarcadero.qcomgroup.com.tw/

Delphi輸入法切換

Delphi-IME
由於微軟內附的螢幕小鍵盤還真的有點小,加上POS餐飲系統開發需要螢幕小鍵盤,所以乾脆自己寫一個”大”鍵盤。

裡面需要做輸入法的切換,所以分享給大家。

需要Uses到Winapi.imm;

[pascal]
Uses Winapi.Imm;
[/pascal]

1取得所有的輸入法名稱

[pascal]
var
i: integer;
begin
for i := 0 to screen.imes.count – 1 do
begin
ComBoBox1.Items.Add(screen.Imes.strings[i]);
end;
end;
[/pascal]

2切換到輸入法

[pascal]
var
I: integer;
myhkl: hkl;
begin
if ComboBox1.Text <> ” then
begin
if Screen.Imes.Count <> 0 then
begin
I := screen.Imes.indexof(ComboBox1.Text);
if I >= 0 then
myhkl := hkl(screen.Imes.objects[i]);
activatekeyboardlayout(myhkl, KLF_ACTIVATE);
end;
end;
end;
[/pascal]

3關閉輸入法

[pascal]
begin
ImmSimulateHotKey(Handle, IME_THOTKEY_IME_NONIME_TOGGLE);
ComBobox1.Text := ”;
end;
[/pascal]

4取得目前輸入法

[pascal]
var
IMEHandle: THandle;
Idx: Integer;
IMEName: String;
begin
IMEName := ”;
ImeHandle := GetKeyBoardLayOut(0);
for Idx := 0 to Pred(Screen.Imes.Count) do
if HKL(Screen.Imes.Objects[Idx]) = ImeHandle then
IMEName :=Screen.Imes[Idx];
ShowMessage(IMEName);
end;
[/pascal]

GitHub連結: https://github.com/superlevin/DelphiIme