delphi XE6 switch元件簡繁體問題

XE6的Switch元件增加了多國語系的功能,不過很遺憾的是它在中文的部份只認得zh,不會分辨zh_CN、zh_TW、zh_SG跟zh_HK。但是幸好Delphi是可以自己修正原始碼的 🙂

 

將 Program Files\Embarcadero\Studio\14.0\source\fmx下的

FMX.Styles.Switch.pas與FMX.Platform.Android.pas複製到自己專案的目錄下

 
FMX.Styles.Switch.pas
第42行修改如下
[pascal]
// 2014.5.29 by lin shou shan
// 修正switch文字只有簡體中文問題
//LocalizedStates: array [0..6] of TStatesForLocale = (
LocalizedStates: array [0..7] of TStatesForLocale = ( // by lin shou shan
(Locale: ‘en’; OnText: ‘ON’; OffText: ‘OFF’),
(Locale: ‘jp’; OnText: ‘ON’; OffText: ‘OFF’),
(Locale: ‘ja’; OnText: ‘ON’; OffText: ‘OFF’),
(Locale: ‘ko’; OnText: ‘ON’; OffText: ‘OFF’),
(Locale: ‘de’; OnText: ‘AN’; OffText: ‘AUS’),
(Locale: ‘fr’; OnText: ‘OUI’; OffText: ‘NON’),
//(Locale: ‘zh’; OnText: #25171#24320; OffText: #20851#38381) // by lin shou shan
(Locale: ‘zh_CN’; OnText: #25171#24320; OffText: #20851#38381), // by lin shou shan
(Locale: ‘zh_TW’; OnText: ‘開’; OffText: ‘關’) // by lin shou shan
);
[/pascal]
FMX.Platform.Android.pas
第3330行修改如下
[pascal]
function TPlatformAndroid.GetCurrentLangID: string;
var
Locale: JLocale;
begin
Locale := TJLocale.JavaClass.getDefault;
Result := JStringToString(Locale.toString); // 回傳 zh_TW 2014.5.29 lin shou shan
//Result := JStringToString(Locale.getISO3Language); // lin shou shan
//if Length(Result) > 2 then // lin shou shan
// Delete(Result, 3, MaxInt); // lin shou shan
end;
[/pascal]

Delphi設定dcu、exe輸出路徑

Delphi在編譯時,預設的DCU(Delphi compiled unit)是與exe檔案在一塊。在程式還小的時候還好~

01

不過當uses的資源以及程式越來越大的時候,就發現資料夾過於雜亂了

02

我們可以到Project->Options設定

03

在第一個選項Delphi Compiler選擇Target為All configurations

04

更改輸出的執行檔跟dcu路徑就行了。

05

Marco Cantu用Delphi XE6展示藍芽搖控Mini Cooper?

Delphi K.Top

在Delphi K.Top上看到Qcom放上的照片,是Marco Cantu在展示手機搖控Mini Cooper。後來在網路上看到是透過藍芽操作的 BeeWi – BBZ201 – Mini Cooper S Bluetooth Car

Jim McKeeth有把Delphi XE6的原始碼放在
https://github.com/jimmckeeth/BeeMiniCtrl/tree/XE5/AppMethod

不得不佩服Philippe Kahn這位先知看到穿戴式裝置未來

或許您不知道Philippe Kahn是誰?但如果我跟您說Borland是他創立的大概就知道了!不過這都不是重點,最近在看一些資料,才發現Philippe Kahn在1994年離開自己創立的Borland後,1994年又創立研究無線通訊技術的Starfish software(1998年被motorola高價收購);1997年又創了LightSurf Technologies發明照相手機(2005年又被 VeriSign收購)。

目前他是在2003年創的Fullpower Technologies裡,主要就是穿戴式裝置, MotionX技術就是由這家公司發展出來的。

只能說Philippe Kahn真的是連續創業家的典範。

 

5/7 Delphi XE6 發表研討會台中場

報名了台中場次!其實重點是要看看有興趣的人多不多~

研討會內容:

  • 令人震撼的新技術 – App Tethering
  • 最先進且業界唯一的完整 C++ for Android 開發工具
  • 最具潛力的雲端技術 – BaaS
  • 強化的執行效率和品質
  • 以及更多的新功能

場次:

  • 103 年 5 月 6 日 (二) 2:00~5:00pm (台北)
  • 103 年 5 月 7 日 (三) 2:00~5:00pm (台中)
  • 103 年 5 月 8 日 (四) 2:00~5:00pm (高雄)
  • 103 年 5 月 9 日 (五) 2:00~5:00pm (新竹)

主講人:

  • Marco Cantu, Product Manager of RAD Studio, Embarcadero
  • 李 維, Embarcadero 大中華區技術總監

台中
103 年 5 月 7 日 (三)

2:00pm~5:00pm
日內瓦會議中心
台中市忠明南路303號17F
亞洲廳

 

報名網址: http://forms.embarcadero.com/AP14Q2TWDeveloperDirectLIVE

Delphi POS – 透過USB Printer打開錢櫃

[pascal]
procedure USBOpenCashDrawer(PrinterName: String);
var
// use winspool
Handle, hDeviceMode: THandle;
N: DWORD;
DocInfo1: TDocInfo1;
Device, Driver, Port: array [0 .. 255] of char;
ThePrinter: string;
code:ansistring;
begin
ThePrinter := PrinterName;
Code := chr(27) + chr(64)+ chr(27) + chr(112) + chr(0) + chr(50) + chr(200);

Printer.PrinterIndex := Printer.Printers.Indexof(ThePrinter);
Printer.GetPrinter(Device, Driver, Port, hDeviceMode);
PrinterName := Format(‘%s’, [Device]);
if not WinSpool.OpenPrinter(PChar(PrinterName), Handle, nil) then
begin
// ShowMessage(‘Error : ‘ + IntToStr(GetLastError));
Exit;
end;
with DocInfo1 do
begin
pDocName := ‘Test’;
pOutputFile := nil;
pDataType := ‘RAW’;
end;

WinSpool.StartDocPrinter(Handle, 1, @DocInfo1);
WinSpool.StartPagePrinter(Handle);
WinSpool.WritePrinter(Handle, PAnsiChar(Code), Length(Code), N);
WinSpool.EndPagePrinter(Handle);
WinSpool.EndDocPrinter(Handle);
WinSpool.ClosePrinter(Handle);

end;
[/pascal]

【胡思亂想】有點想來自寫一本Delphi XE5/6的電子書

下午在露天拍賣看到這本書叫價到2,000元(連結),對這本Delphi 徹底研究的書印象是同學口中的”聖經本”。不過好像後續的版本就沒再出了,總覺得很可惜,Delphi快速開發的特性再加上可以開發Android/iOS,應該可以再現風華,唯讀缺少一本類似這樣的書,或許對後續推廣Delphi XE4/5/6都很有幫助。

21305118420210_703

雖然捷康有出了幾本移動開發入門手冊/FireMonkey 資料庫程式 設計篇/DataSnap 開發實戰篇,可是又覺得不夠全面。

突然有股念頭想要自幹一本電子書出來,也當作自己的成果驗收好了!

http://embarcadero.qcomgroup.com.tw/images/publish/delphi_xe5_mobile_cover.jpg