Delphi XE5 不同平台使用 SSL/HTTPS

以前在 Delphi 使用 Tidhttp元件時,需要額外載入 OpenSSL的 dll。Delphi XE5開始支援多裝置、多平台的時候,該如何解決呢?

昨天在 Coderage 8時,Olaf Monien的分享,記錄下來避免忘記!不過文中提到Android目前似乎還沒有XD

 

 

連結:

Delphi XE5 : SSL / HTTPS on different platforms with TIdHTTP and TRESTClient


http://www.monien.net/delphi-xe5-ssl-https-on-different-platforms-with-tidhttp-and-trestclient/

Day4 – Delphi XE5 簡易BMI計算器

今天教大家設計BMI計算機,螢幕快照 2013-10-12 下午12.30.53

1首先開啟一個空白專案

螢幕快照 2013-10-12 下午12.31.17

2新增一個ListBox

螢幕快照 2013-10-12 下午12.31.31

3將aligh 設為 alClient(填滿)

螢幕快照 2013-10-12 下午12.31.53

4將GroupingKind 設成 gsGrouped

螢幕快照 2013-10-12 下午12.32.17

5將StyleLookup 設定 transparentlistboxstyle

itemeditor

6在畫面上按右鍵開啟 Items Editor

itemsdesigner1

7下拉TListBoxGroupHeader後按Add Item

itemsdesigner2

8接著下拉 TListBoxItem 後按 Add Item

螢幕快照 2013-10-12 下午12.33.24

9新增如上圖

螢幕快照 2013-10-12 下午12.34.04

10點上面的LiboxGroupHeader1修改Text 為 BMI計算機,TextAligh設為 taCenter(置中)螢幕快照 2013-10-12 下午12.34.48

11陸續修改其他如上圖

螢幕快照 2013-10-12 下午12.35.16

12新增TEdit元件

螢幕快照 2013-10-12 下午12.35.34

13修改屬性Aligh 為 alRight

螢幕快照 2013-10-12 下午12.36.23

14將KeyboardType改成 vktNumberPad (預設開啟數字鍵盤)

螢幕快照 2013-10-12 下午12.36.50

15新增一個Button

螢幕快照 2013-10-12 下午12.37.06

16將Aligh 設為 alClient

螢幕快照 2013-10-12 下午12.37.24

17 Text設為計算

螢幕快照 2013-10-12 下午12.37.44

18新增Label

螢幕快照 2013-10-12 下午12.38.17

19設定完畫面如圖

螢幕快照 2013-10-12 下午12.38.35

20將edit1.text,edit2.text的TextAligh屬性設為 taTrailing (置右)

螢幕快照 2013-10-12 下午12.39.34

21都設定完之後,可以下拉成不同機器

螢幕快照 2013-10-12 下午12.39.03 螢幕快照 2013-10-12 下午12.39.16

22可以看得到在ios、android會自動轉換成各自的風格

sourcecode

23接著在畫面的計算按鈕點二下,輸入上圖的程式

[pascal]
procedure TForm1.Button1Click(Sender: TObject);
var
BMI:double;
begin
BMI := StrToFloat(FormatFloat(‘#.##’,(StrToFloat(Edit2.text) /
( (StrToFloat(Edit1.Text)/ 100) * (StrToFloat(Edit1.Text)/100 )))));
Label1.Text := FloatToStr(BMI);
end;
[/pascal]

螢幕快照 2013-10-12 下午12.41.36

24 可以雙點不同的平台,看看跑出來的效果

螢幕快照 2013-10-12 下午12.42.16

25 Windows

螢幕快照 2013-10-12 下午12.47.44

螢幕快照 2013-10-12 下午12.48.00

26 iPhone

1386014_10151624432496541_1740355845_n 1382787_10151624432376541_1638450671_n

27  Android

Github 程式下載 https://github.com/superlevin/delphixe5bmicalc

 

Day3 – Delphi XE5簡易手電筒

在經過前二天的安裝以及設定之後,今天來教大家寫一個最簡單的app-手電筒。十分鐘就可以完成了唷 🙂

螢幕快照 2013-10-10 下午8.43.051新增空白專案

螢幕快照 2013-10-10 下午8.56.04

2接著我們要在畫面上放上二個元件,在右下角的元件盤中搜尋打上tswitch,這是一個開關的元件。直接在TSwitch快點二下

螢幕快照 2013-10-10 下午8.56.28

3第二個元件是TCameraComponent,從名稱就知道跟相機有關的,沒錯,因為手電筒就是打開相機的閃光燈。一樣也是搜尋到之後快點二下即可。

螢幕快照 2013-10-10 下午9.16.09

4二個元件放上去的畫面

螢幕快照 2013-10-10 下午8.56.45

5接下來點選畫面上的CameraComponent1元件,然後左下角的Active打勾成為 True

螢幕快照 2013-10-10 下午8.57.05

6接下來點選畫面上的Switch元件,然後將左下角的屬性視窗點Events頁籤,往下找到OnSwitch快點右邊空白處二下

螢幕快照 2013-10-10 下午8.59.57

7在裡面輸入以下的程式

[pascal]
if Switch1.IsChecked then begin
if CameraComponent1.HasFlash then
CameraComponent1.TorchMode := TTorchMode.tmModeOn;
end else begin
if CameraComponent1.HasFlash then
CameraComponent1.TorchMode := TTorchMode.tmModeOff;
end;
[/pascal]

稍微講解一下,如果Switch是打開的(Switch1.IsChecked),檢查相機是不是有閃光燈(CameraComponent1.HasFlash),確定有的話,就將相機的TorchMode(燈光)打開(tmModeOn),相反的就是關掉(tmModeOff)。

打完收功!按下F9之後,就是您的第一個APP程式叫「手電筒」XD

範例程式碼下載: https://github.com/superlevin/delphixe5flashlight

實機操作畫面:

Day2 – Delphi XE5 開發Android、Mac/iOS設定

Android設定

螢幕快照 2013-10-09 下午4.27.29

1開始功能表→Embarcadero RAD Studio XE5→Android Tools

螢幕快照 2013-10-09 下午4.52.09

2開啟之後,其實就是Android SDK Manager的畫面

螢幕快照 2013-10-09 下午4.53.16

3點選上面功能表Tools→Manage AVDs就可以看到delphi xe5在安裝時會自動新增一個rsxe5_android模擬器

螢幕快照 2013-10-09 下午4.37.15

4如果您已安裝好自己android手機的usb驅動程式,可以進入命令字元模式(執行→cmd),然後輸入 adb devices,如果正確的話就會列出您的手機。

Mac/iOS設定

螢幕快照 2013-10-09 下午5.03.04

1到apple網站下載xcode並安裝(網址 https://developer.apple.com/xcode/)

螢幕快照 2013-10-09 下午5.03.35

螢幕快照 2013-10-09 下午5.03.21

2安裝完成後,打開xcode,進入選單Preferences中安裝Command line tools

螢幕快照 2013-10-09 下午5.06.27

3將C:\Program Files\Embarcadero\RAD Studio\12.0\PAServer中的RADPAServerXE5.pkg複製到mac上安裝,完成後就會出現RAD PAServer XE5

測試設定是否成功

Android APP開發

螢幕快照 2013-10-09 下午5.09.49

1打開 delphi XE5主程式,點選 File -> New -> FireMoneky Mobile Application – Delphi 新增專案

螢幕快照 2013-10-09 下午5.10.08

2選擇blank application(空白專案)

螢幕快照 2013-10-09 下午5.13.16

3自動建立一個手機app的空白專案

螢幕快照 2013-10-09 下午5.13.32

4預設是執行到android上(粗體),其他也可以直接執行在iOS的實機或模擬器上

螢幕快照 2013-10-09 下午5.16.56

螢幕快照 2013-10-09 下午5.19.57

5從右下角的Tool Palette(工具盤),點一下TButton,再回到手機畫面的空白處拖拉出您要的大小

螢幕快照 2013-10-09 下午5.21.16

螢幕快照 2013-10-09 下午5.23.20

6再到左下角的Object Inspector(物件檢視器),下拉到Text的部份,把Button1改成Hello World

螢幕快照 2013-10-09 下午5.29.17

7點開右邊的project1,把android下面target的部份設定成PC36100(壽山的HTC手機),接著點選功能表的RUN→RUN(或直接按F9)

1391869_10151619643916541_923988776_n

8實機拍攝的狀況

iOS APP開發

延續上面的1~6的步驟。

螢幕快照 2013-10-09 下午5.44.38

螢幕快照 2013-10-09 下午5.45.15

0在mac機器上打開paserver,並輸入密碼(一定要輸入),並取得該主機的ip(可以打開終端機輸入ifconfig)

未命名1

未命名

未命名2

1在ios simlulator點二下變粗體後,按右鍵Properties在profile的地方下拉,按add new

螢幕快照 2013-10-09 下午5.42.29

2輸入設定檔名稱按下一步(next)

螢幕快照 2013-10-09 下午5.42.52

螢幕快照 2013-10-09 下午5.45.48

3輸入執行paserver的主機ip以及密碼,沒問題的話按test connection會出現成功訊息

螢幕快照 2013-10-09 下午5.46.00

4設定好後按finish,接著點ok,就可以按f9執行了

螢幕快照 2013-10-09 下午6.00.39

5模擬器執行畫面如上,恭禧您!已經學會iOS跟Android APP設計的第一步了。

 

系列文章

Day1 – Delphi XE5試用安裝

在接下來的30天裡,壽山要挑戰教大家利用Delphi XE5的30天Free Trials(試用版),從delphi的門外漢,到可以設計Android、iOS程式的初學者。

首先,第一天先教大家如何申請試用版本以及安裝。

系統需求

  • 記憶體:1 GB  (2 GB以上更好)
  • 硬碟空間: 需3-24 GB 的空間
  • 光碟機(安裝程式用)
  • 基本的GPU – Any vendor DirectX 9.0 class or better (Pixel Shader Level 2)
  • 處理器: Intel® Pentium® or compatible, 1.6 GHz minimum (2GHz+ recommended)
  • 顯示器:1024×768 or higher-resolution monitor
  • 滑鼠:
  • 系統版本:
    • Microsoft® Windows 8 (32-bit and 64-bit)
    • Microsoft® Windows 7 SP1 (32-bit and 64-bit)
    • Microsoft® Windows Vista™ SP2 (32-bit and 64-bit) requires administrator rights
    • Microsoft® Windows Server® 2008 (32-bit and 64-bit)

其他需求

Mac/iOS

需要有一台OS X 10.7以上版本的電腦(可以買一台便宜的Mac mini 約二萬左右)跑paserver編譯程式。

上面需裝有XCode以及裝上command line tools。

Android

如果需要開發android程式,手機的處理器需是 ARM7 規格,版本需求是

  • Android Gingerbread (2.3.3-2.7)
  • Ice Cream Sandwich (4.0.3 and 4.0.4)
  • Jelly Bean (4.1.x, 4.2.x and 4.3.x)

接著要安裝您的手機的USB驅動程式,以及打開手機的USB 偵錯模式

下載篇

螢幕快照 2013-10-09 上午11.33.00

1到embarcadero官網(http://www.embarcadero.com),點選Logo旁的free trials

螢幕快照 2013-10-09 上午11.33.412進入後,可以看到embarcadero有提供許多產品試用版下載試用,我們點選 Delphi XE的下載

螢幕快照 2013-10-09 上午11.33.58

3點入後,會詢問你要下載那個版本Delphi XE5 Architect – 30 day trial 還是Embarcadero RAD Studio XE5 Architect – 30 day trial。我們點選Delphi XE5 Architect – 30 day trial 的download就好。螢幕快照 2013-10-09 上午11.35.13

4接下來會要求您註冊會登入帳號,如果沒有的話就打左邊的基本資料註冊一個。螢幕快照 2013-10-09 上午11.36.305都完成之後,會自動下載程式,並且會寄一封電子郵件告知您試用版本的序號是什麼。

安裝篇

下載完之後,接著我們開始安裝。

螢幕快照 2013-10-09 下午3.15.07

螢幕快照 2013-10-09 下午3.16.30

1雙點剛才下載的delphi_xe5_esd的程式二下開啟安裝程式。

螢幕快照 2013-10-09 下午3.17.39 螢幕快照 2013-10-09 下午3.17.47

2選擇語系English,按ok,接著按下一步(Next)。

螢幕快照 2013-10-09 下午3.19.08

3使用者條款,在I accept the license agreement打勾按Next

螢幕快照 2013-10-09 下午3.21.39

4到剛才註冊的信箱收信,會收到一封embarcadero寄來的試用序號,把信中的Serial Number(s)輸入到Serial Number裡面

螢幕快照 2013-10-09 下午3.23.37

5會再詢問要安裝其他語系到裡面嗎?直接按下一步

螢幕快照 2013-10-09 下午3.24.32

6會告訴您系統所需空間,以及安裝那些程式進去,按下一步(next)

螢幕快照 2013-10-09 下午3.25.47

7因為可以開發Android程式,所以會幫您安裝 android sdk跟 android ndk,繼續下一步

螢幕快照 2013-10-09 下午3.27.11

8出現android sdk的使用者條款,一樣勾選I accept the license agreement按下一步

螢幕快照 2013-10-09 下午3.28.44

9選單名稱跟出現在那位使用者的選單上,直接按下一步

螢幕快照 2013-10-09 下午3.30.05

10安裝路徑,直接下一步

螢幕快照 2013-10-09 下午3.30.52

11檔案關聯,一樣點選下一步

螢幕快照 2013-10-09 下午3.32.16

12在程式安裝或更新中,需要下載檔案的路徑位置,沒有問題的話就下一步

螢幕快照 2013-10-09 下午3.33.40

13確定沒有問題就要開始安裝囉!直接按下一步

螢幕快照 2013-10-09 下午3.34.34

14安裝程式會開始下載需要的檔案安裝,需要等待一段時間,泡杯茶喝杯咖啡(安裝時間就估個一小時吧)

螢幕快照 2013-10-09 下午4.25.08

15安裝完成!

螢幕快照 2013-10-09 下午4.27.29

參考資料

DELPHI XE5 產品概觀(捷康科技)http://embarcadero.qcomgroup.com.tw/xe5/products/delphi.html

DELPHI XE5 線上手冊 http://docwiki.embarcadero.com/RADStudio/XE5/en/Main_Page

 

系列文章

Delphi XE5學習中文書

有網友反應看到DELPHI XE5高效率的Android iOS APP開發功能很想學,但一直找不到中文的書籍~對不少英文能力不是很強的人,即使看到這套很神奇的工具,沒有中文參考書的情況下只好卻步。

其實台灣的捷康科技有出版幾本書籍,大家可以參考,不過因為沒有在書局舖貨的情況下,大家都不曉得。分享給大家!

購書網址: http://embarcadero.qcomgroup.com.tw/publish_books.html

delphi xe5 移動開發入門手冊

XE5

delphi xe4 firemonkey、datasnap

【工商服務】APP整合開發養成班

致力於 APP 開發教學的 沈志宗大哥給的訊息,轉貼給朋友們知道一下!

中部的朋友們,久等了!

您要 為期三個半月的 APP 整合開發養成班?
或是 假日在職班?

年底到了,如果想轉行,又不是資訊相關科系,可以大膽報名「APP 整合開發養成班」

如果自己或親戚朋友有剛退伍、剛畢業的小孩,也不是資訊相關科系,擔心找不到好工作的,也可以大膽報名「APP 整合開發養成班」

如果在北部,當然是選擇中央大學資策會 (http://goo.gl/jH2PU)

另外,如果你不想浪費時間在電視前看宮廷爭奪劇,認為該把握生命利用時間寫 App 多掙些生活費用,每個月多個 US$100~200 也好,那就可以大膽報名「假日在職班」。

我建議您到資策會,不只是因為我在那裡教,也不是資策會比較厲害,只是值得你信賴!

好吧,這裡就有連結可以報名 (http://iphone.to/) 手機也可以!

Delphi XE5實作仿Facebook Slide Menu

螢幕快照 2013-10-01 上午9.30.24

既然Delphi XE5可以開發Android、iOS的程式,那可不可以設計像Facebook一樣的選單呢(如上圖)?答案是可以的!

接下來就手把手教大家操作。

1首先開一個空的Mobile Project,在上面放一個ListBox元件,將Aligh設定為alClient

螢幕快照 2013-10-01 上午8.55.27

2接下來回到ListBox元件按右鍵進入 Item Editor,建立如下圖的選單

螢幕快照 2013-10-01 上午8.59.12

3.接下來再放上一個Panel,一樣把Aligh設定成alClient,接著在上面放一個ToolBar

螢幕快照 2013-10-01 上午9.01.41

螢幕快照 2013-10-01 上午9.02.01

4.在ToolBar上放一個SpeedButton,設定StyleLookup為detailstoolbuttonbordered

螢幕快照 2013-10-01 上午9.02.45

螢幕快照 2013-10-01 上午9.03.18

5.回到Panel元件,設定Position的X ,下拉選擇 Create New TFloatAnimation

螢幕快照 2013-10-01 上午9.49.49

6.接著在SpeedButton 的 OnClick事件

[pascal]
var
FloatAnimationX: single;
begin
FloatAnimationX:=Self.ClientWidth – 60;

if (panel1.Position.X=FloatAnimationX) then begin
FloatAnimation1.StartValue:= FloatAnimationX;
FloatAnimation1.StopValue:= 0;
end
else begin
FloatAnimation1.StartValue:= 0;
FloatAnimation1.StopValue:= FloatAnimationX;
end;

<del datetime="2013-10-01T09:44:53+00:00">AnimateDrawer</del>FloatAnimation1.Start;
end;
[/pascal]

結果就會變成如下圖了!

螢幕快照 2013-10-01 上午9.27.52
如果你要在Panel加上陰影的話,只要在Panel加上即可
螢幕快照 2013-10-01 上午9.28.40

螢幕快照 2013-10-01 上午9.29.30

螢幕快照 2013-10-01 上午9.30.24

 

GitHub原始碼 https://github.com/superlevin/delphixe5facebookslidemenu

Delphi XE5 正式發表-支援Android、iOS、Mac、Win的開發利器

其實壽山我自從Delphi 7之後,就很少follow Delphi的相關訊息。主要是後面的產品不是這麼的令人驚艷!

不過在FireMonkey這個框架出現後,就開始注意到Delphi這個開發工具的雄心壯志~毅然拋棄了多年且相當成熟的VCL,改投注在跨平台、跨裝置的FireMonkey上,就知道這開發工具準備大展身手了!

Click to see full-sized image

果然從XE2開始,FireMonkey就不斷進化~除了有64位元的程式外,也可以開發在Mac OS、iOS上面跑的程式…

到了XE4時,iOS開發已經相當純熟,也有不少軟體公司開始使用XE4開發app且成功上架~昨天XE5正式release 後,也看到Embarcadero依照著預定的roadmap,將delphi支援Android開發給呈現出來。

專案直接支援android、iOS Platforms

螢幕快照 2013-09-13 上午11.08.45

 

iOS、Android User Permissions直接以勾選方式

螢幕快照 2013-09-13 上午11.11.30

設計介面的外觀還可以讓您選是那個機器(或是螢幕大小)

螢幕快照 2013-09-13 上午11.08.58

雖然昨天台中場在李維大師的解說下,可以看得出仍有一些小小的bug在,不過整體而言可以看得出Delphi XE5已經很成功的開發出mobile的solution。

接下來有空的時間,也得好好摸索它,也希望有機會介紹給大家 :)

Apple Developer Center System Status

 

自從7/18 蘋果無預警關閉開發者網站後,隨後發佈網站被DDOS攻擊後,似乎是相當嚴重。

可以從 System Status網頁(https://developer.apple.com/support/system-status)看到服務狀態,目前祇有iTunes Connect及Bug Reporter是Online,其他都是OffLine。不知道什麼時候才會維修好!

systemstatus