話說 Apple 在 2017/4/18 的時候推出 XCode 8.3.2(搭配的依舊是 iOS SDK 10.3),最近不知道那個筋不對,想把超過半年以上沒異動的 app 專案從 XE8 轉上 Tokyo 版本,既然 Delphi 用最新版,當然 macOS、XCode 就順手更新到最新版本,順便測試看看有沒有甚麼問題~
國內幾個主要的論壇或是 FB 都沒看到有人提出什麼問題,對岸雖然有提出已經碰到的問題,但似乎並沒有讓人感受到無法使用下去,於似乎就'想說上吧!
話說 Apple 在 2017/4/18 的時候推出 XCode 8.3.2(搭配的依舊是 iOS SDK 10.3),最近不知道那個筋不對,想把超過半年以上沒異動的 app 專案從 XE8 轉上 Tokyo 版本,既然 Delphi 用最新版,當然 macOS、XCode 就順手更新到最新版本,順便測試看看有沒有甚麼問題~
國內幾個主要的論壇或是 FB 都沒看到有人提出什麼問題,對岸雖然有提出已經碰到的問題,但似乎並沒有讓人感受到無法使用下去,於似乎就'想說上吧!
基於客戶端的需要,客戶問說如果手上有電子發票,可不可以讀出上面的發票號碼、金額等等的資訊呢?
像這張
就過往的認知與目前大部分發票相關 App 做出來的功能,應該都是要「掃描」QRCode 的部分才可以,那如果已經是圖檔了呢?再掃一次?這樣好像有點遜...
如果手上有 100 張圖檔,就要再重新「掃描」100 次,這....應該會被客戶打吧~
上週 K.Top 網聚,聊天的時候其他先進提到 DX10.1 編譯出來的 size 變小了,話說我是不太相信啦,猛然一查 blog 竟然有快一年沒更新了,不是不想更新,只是這幾版好像沒有太多亮點,加上台灣也只剩線上研討會,不像以前都會辦實體的發表會、技術研討會...弄得小弟我也有點疲乏了
既然其他先進有提,那就把早就裝好的 10.1 Upd2 打開來瞧瞧吧,測試案例還是沿用之前的那個 app
以下是比較資料
版本 | apk size | classes.dex size |
XE5 with Upd2 | 4.94 MB (5,186,751 bytes) | 1.28 MB (1,343,644 bytes) |
XE6 | 5.49 MB (5,757,687 bytes) | 1.90 MB (1,999,460 bytes) |
XE7 | 6.14 MB (6,444,201 bytes) | 2.64 MB (2,773,944 bytes) |
XE7 Upd1 | 6.15 MB (6,454,017 bytes) | 2.64 MB (2,774,372 bytes) |
XE8 | 5.87 MB (6,166,025 bytes) | 2.65 MB (2,779,940 bytes) |
DX10.1 Upd2 | 6.11 MB (6,409,408 bytes) | 3.38 MB (5,554,312 bytes) |
真的沒有比較小,或是說差異不明顯啦,還讓我懷疑我在 XE8 的測試數據是不是哪裡做錯了?
玩 app 這麼久,其實沒有想過這個問題,雖然在 Windows 的世界裡已經實現過簡繁轉換了,但到 app 之後 倒是就忘記了,沒想到「需求」還是會自己找上門啊...
這個需求第一次被提出來的時候,想當然爾,不是就把 Windows 那套搬來就好嗎!而且現在是 Unicode 的世界,直覺想應該不困難才對,沒想到頭洗下去才發現世界真的不一樣~
先回頭看一下在 Windows 的世界,我們可以怎麼做?
//簡體轉繁體 function ChsToCht(CnStr: string ): string ; |
只能說苦命的我們...
趁著有個短暫的空檔,把 Mac 環境先升級到了目前的最新版 OS X EI Capitan 10.11.1 + XCode 7.1
配上 Delphi 10 Seattle + ID 30398 的 PAServer Hotfix
手機的部分則是有兩支做測試
騰訊地圖之前沒用過,不過由於在大陸地區沒辦法用 Google,所以勢必得用其他方案替代,騰訊地圖應該就是其中一個選擇...
在投入研究之前,由於之前撰寫行動裝置相關的功能,幾乎都會考量跨平台的問題(android、iOS),因此作法上優先考慮要能通用,解決方式不會綁定特定平台的寫法,除非真的找不到解決方式,才會依據各平台去撰寫,比如之前的 GCM、APN...
這次也是一樣,由於之前有使用 Google Map 的經驗,因此想說騰訊地圖應該也有比照提供 Web api 才對,果不其然,在下述路徑可以找到相關說明及範例
http://dev.map.qq.com/doc/example.html
這次要演示的,是如何透過手機定位,並將騰訊地圖顯示在目前的位置,手機如何定位(取得經緯度),在 Delphi 中再容易不過了,只需要置放一個 TLocationSensor 就可以了,這部分就不再多說明。但取得經緯度後,如何要求騰訊地圖來配合呢?其實這部分也很容易,可以透過載入一個動態撰寫的 html,就可以達到這個效果,以下是 html 的內容
原本以為只有 Delphi 4~Delphi 2006 的程式有問題,但是經過這幾天反覆找解法後,發現實際上 Delphi 2007~Delphi XE8 終究難逃 Win10 輸入法毒手。咦...之前不是說是誤會一場嗎?唉,這就是這個問題難處裡的地方,只能說之前的測試程式涵蓋方式不夠廣泛
這次好好整理了一下測試程式,而且完全是在 Delphi 2009 以及 XE8 手工打造,沒有任何專案移植或是複製貼上的程式碼,結果都是一樣的...form 開啟來可能會被之前的 form 蓋住,
先開啟主畫面(此時輸入法已經切換為倉頡)
按下 button 開啟 form1
測試環境:Windows 10 Enterprise Insider Preview Build 10130
受測 Delphi 版本:Delphi4、Delphi5、Delphi XE3、Delphi XE6、Delphi XE7、Delphi XE8
上述 Delphi 版本均有編譯出 EXE,確認均有此一問題存在,可以合理推測所有 Delphi 版本均同