目前分類:其他 (11)

瀏覽方式: 標題列表 簡短摘要

玩 app 這麼久,其實沒有想過這個問題,雖然在 Windows 的世界裡已經實現過簡繁轉換了,但到 app 之後 倒是就忘記了,沒想到「需求」還是會自己找上門啊...

這個需求第一次被提出來的時候,想當然爾,不是就把 Windows 那套搬來就好嗎!而且現在是 Unicode 的世界,直覺想應該不困難才對,沒想到頭洗下去才發現世界真的不一樣~

先回頭看一下在 Windows 的世界,我們可以怎麼做?

//簡體轉繁體
function ChsToCht(CnStr: string): string;    
文章標籤

縹緲 發表在 痞客邦 PIXNET 留言(0) 人氣()

原本以為只有 Delphi 4~Delphi 2006 的程式有問題,但是經過這幾天反覆找解法後,發現實際上 Delphi 2007~Delphi XE8 終究難逃 Win10 輸入法毒手。咦...之前不是說是誤會一場嗎?唉,這就是這個問題難處裡的地方,只能說之前的測試程式涵蓋方式不夠廣泛

這次好好整理了一下測試程式,而且完全是在 Delphi 2009 以及 XE8 手工打造,沒有任何專案移植或是複製貼上的程式碼,結果都是一樣的...form 開啟來可能會被之前的 form 蓋住,

先開啟主畫面(此時輸入法已經切換為倉頡)

按下 button 開啟 form1

文章標籤

縹緲 發表在 痞客邦 PIXNET 留言(0) 人氣()

測試環境:Windows 10 Enterprise Insider Preview Build 10130

受測 Delphi 版本:Delphi4、Delphi5、Delphi XE3、Delphi XE6、Delphi XE7、Delphi XE8

上述 Delphi 版本均有編譯出 EXE,確認均有此一問題存在,可以合理推測所有 Delphi 版本均同

文章標籤

縹緲 發表在 痞客邦 PIXNET 留言(2) 人氣()

寫了這麼多篇分享文,總不能光說不練吧,POST 上把這些東西集大成的小品讓大家參詳....delphi 真的可以寫 app、也可以跨平台

這個 app 是公司內部使用的來案管理系統,也可以視為小型的 CRM

展示機分別使用 Acer Liquid E1(android 4.1.1) 以及 iPhone 5S(iOS 7.1.2)

手機桌面

  

文章標籤

縹緲 發表在 痞客邦 PIXNET 留言(1) 人氣()

從去年九月 delphi 推出支援 android 的版本 XE5 之後,開始恢復寫 blog,轉眼之間已經經過了九個月了,時間過得真是快,算算這段時間竟然也寫了大大小小近 40 篇分享文,著實遠遠超過當初的想像,當時壓根兒就沒想過會寫出多少內容、寫多久...

delphi XE6 這個版本,嚴格來說在 android 的部分,看得到的新功能並不多,穩定性的部分倒是有感受,至少黑屏的機率降低了…新的功能比較有相關的就是 App Tethering、Baas 這兩點,在看過李大師展示 App Tethering 之後,說實話還沒想到要拿來做啥,至於 Baas 則短期內肯定用不到,雖然 Baas 把 GCM、APNs 包了一層,可以讓我們很快速的開發出 app 來支援兩大 Push Notification 的機制,但用多了可是要花 $$ 啊,展示時用用還可以,真的要拿來做商業應用,還是乖乖的自己想辦法研究整合 GCM、APNs 吧,「免錢的比較貴」...您說是吧

android 的分享到現在這個階段,可以說一般的商業應用大部分都能完成,雖然之後仍然會面臨其他挑戰得去克服,但回過頭來,android 在玩得差不多之後,現實上還是有客戶問說那有沒有支援 iPhone 啊...況且老闆就是拿 iPhone,總不能說不支援吧。之前跟 iOS 有關的分享文,那是早在 XE2 時代撰寫的,到現在已經經過兩年多的時間了,加上商業應用一般不是走 app store 上架,而是以 ad-hoc / In-House 的方式來發佈,所以雖然 android 設備目前市佔率非常高,還是得回頭來玩玩 iOS。

因此接下來 android 的補遺篇仍會不定期繼續下去,但是 Enterprise iOS App 才正要開始,姑且讓我們看下去可以寫出些什麼東西吧...


文章標籤

縹緲 發表在 痞客邦 PIXNET 留言(13) 人氣()

既然 XE6 已經正式 Release,很自然迫不及待的把之前在 XE5 Upd2 開發的專案直接拿來編譯看看有沒有可以得到什麼好處(執行速度更快?更穩定?Showmessage?...)

沒想到好處還沒體驗到,筆者在編譯過程就遇到了一些狀況,在此也先提出來與各位分享

 

1.Unit name 變更

話說 XE5 畢竟是第一個支援 android 開發的版本,XE6 變更相關 Unit name 進行重構,自然也就不足為奇,只是苦了我們這些老百姓,在還沒深入研究前,已經知道變更的部分有

文章標籤

縹緲 發表在 痞客邦 PIXNET 留言(0) 人氣()

筆者在安裝完 Delphi XE6 後,觀察到的幾個狀況先提出來與各位分享

筆者測試的環境是使用 XE6 trail 版本,所以沒有完整的 source code

觀察到的狀況有幾點

1.試用版的時間由原本 XE5 的 14 天延長到 31 天

2.試用版原本在 XE5 的時候,每一小時就必須「休息」一下,否則就不允許編譯,在 XE6 的時候,這部分則延長至 12 小時

文章標籤

縹緲 發表在 痞客邦 PIXNET 留言(3) 人氣()

昨天參加 Gordon 大師主講之「Delphi XE5 深入技術研討會」,果然一如過往收穫良多。尤其在上一篇文章中提到, Gordon 大師應該會提出更好的 Barcode solution,而大師也沒漏氣,直指上篇文章所使用之偵測剪貼簿的作法不夠穩定,但大師提出的 solution 果然是「神人」級的,非常人所能想像,不但要寫一些 java code,還要透過 classes.dex 銜接,讓 java 的程式可以在完成後呼叫 delphi 的 onActivityResult 等方式,遠遠超乎我們這些平凡的死老百姓可以做到的,畢竟我們沒有大師的三頭六臂,既會 delphi,又會 java,還精通 c++,就算將來拿的到 code,也只有望 code 嘆氣的份...

不過大師在講解如何自行封裝 Android(iOS) API 的部分,就平易近人多啦,之前雖然有看 FMX 的 source code,但不知其所以然,只會依樣畫葫蘆,在大師講解後,整個觀念與想法頓時就清晰了許多。簡單來說,就是這個架構

 

JxxxClass = interface(JObjectClass)
end;

文章標籤

縹緲 發表在 痞客邦 PIXNET 留言(0) 人氣()

距離上次撰寫 blog,已經過了一年半載,當時覺得 XE2 令人驚豔,但入門 iOS 該交代的部分,似乎交代得差不多了,也就沒有繼續下去...。

 

自從 2011 年 9 月份 XE2 發表到現在,delphi 仍然持續進步中,包含在 FMX Framework、Compiler、iOS 撰寫及除錯的改善,只是感受上不是那麼明顯,加上 apple 的設備貴桑桑,要繼續寫 iOS 的 app,就必須投資買新的 iOS device,如果只是買來開發玩玩,要投資的金額真的是讓人買不下手啊,so...

 

轉眼間 XE2 發表兩年後的現在,也就是在台北時間 2013/9/11 晚上,Embarcadero 在美國正式發表了 delphi XE5,最令人眼睛為之一亮的焦點,無不是聚焦在可以用 Delphi 撰寫出 Android 作業系統上原生的 app,這是多麼令人興奮的一件事,彷彿回到十多年前 delphi 在 Windows 平台上令人驚豔的盛況重現,小弟在 8/16 開始加入 XE5 beta 版本的試用,稍微提早近一個月感受到新版 XE5 的威力,如果您是 Delphi 的老鳥,相信稍微提點一下,1 min 內可以撰寫出在 Android 手機上實機可執行的 Hello World,10 min 內可以從 Windows 上的 DB 抓資料,顯示在手機上,而且不用寫任何一行 code,多麼令人興奮的一件事,於是...blog is come back

文章標籤

縹緲 發表在 痞客邦 PIXNET 留言(0) 人氣()

  如同文章標題 Title 所示,在使用 FireMonkey 開發 iOS 的程式上遭遇到亂碼問題,這陣子更新 blog 的速度比較慢,除了工作比較忙碌外,同時也是因為亂碼問題遲遲無法獲得解決,投入了不少時間研究處理的關係。

  記得在「How to Connect to a Database in XE2 @ iOS(二)」這篇文章內,曾經提過說中文沒有問題,是的,當時會認為沒問題,是因為當時撰寫的測試程式在兩個部分使用了中文,第一個部分是在設計階段的元件上於 property 屬性比如 Text 輸入中文字,另外一個部分就是透過 DataSnap 傳過來的 json 格式中文資料,可以正確顯示在執行階段的元件上,既然設計階段打的中文與執行階段指定 property 顯示中文都沒有問題,自然而然會認為那麼中文部分應該正常,沒想到後來會踢到鐵板,而且 google 很久也找不出答案。

  遇到亂碼的案例很簡單,比如在 Button1OnClick 的事件上,寫下 Button1.Text := '中文',但在執行的時候,實際上 Button1.Text 上會顯示成亂碼,why why why?不是說 json 的資料傳過來一樣是丟到元件上顯示沒問題嗎?是,我也是這樣想,當時遇到的時候心中真是一個不瞭解...嘗試了很多編碼、解碼的作法,甚至直接給10進位的 Unicode,比如 Button1.Text := #20013#25991,但是結果依然不如預期,最後只好訴諸 Embarcadero 的 QualityCentral,想說這應該是一個 bug 吧,這也是 10 多年來第一次提報問題給官方的 QC 來處理。

  Embarcadero 的 QC 也不負所託,一來一往間的確解決了我踢到的鐵板,過程就不贅述了,直接說原因

  1.一個已知的 iOS simulator 問題

文章標籤

縹緲 發表在 痞客邦 PIXNET 留言(3) 人氣()

算算自己使用 delphi 的日子早已超過 10 個年頭了,總覺得 delphi 帶給我了許多,看著它這些年來日益衰退,TIOBE 的排名也一年不如一年,總希望能為它做些甚麼~

2011 年 9 月初,delphi 的新東家 Embarcadero 正式發表 delphi xe2,從 delphi 7 之後,不知道多少年了,delphi 每一個新版本的功能,從來沒有這麼令人驚艷過,直到.......這次

先看看這版本有甚麼新鮮的

    1.全新跨平台 Application Framework – FireMonkey

文章標籤

縹緲 發表在 痞客邦 PIXNET 留言(2) 人氣()

找更多相關文章與討論