Delphi XE5學習中文書

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

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

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

delphi xe5 移動開發入門手冊

XE5

delphi xe4 firemonkey、datasnap

Delphi XE FireDAC簡介影片

FireDAC 是一個企業級並可跨平台存取資料的開發庫,包含 Windows、Mac 和行
動裝置。FireDac 可以與 Delphi、C++Builder 和 RAD Studio 無縫地整合開發跨
平台的解決方案。FireDac 提供用戶支援市面上大部分的資料庫平台,包含
Oracle, Microsoft SQL Server, IBM DB2, SAP, DataSnap, Sybase SQL Anywhere,
InterBase, Advantage Database, PostgreSQL, SQLite, MySQL, Firebird, 和
Microsoft Acces。

Delphi XE5 Android設定應用程式權限(uses-permissions)

在Android開發時,如果要設定應用程式權限(例如使用相機Camera),需要到AndroidManifest.xml去設定。不過在Delphi XE5就簡單多了,在 Project -> Options可以看到Uses permissions

基本上最常會用到的大概是(定位、網路、相機、電話),只要勾選就可以囉!

  • Access coarse location
  • Access fine location
  • Call phone
  • Camera
  • Internet
  • Read calendar
  • Read external storage
  • Write calendar
  • Write external storage
  • Read phone state

6 2 3 4 5

參考連結:

Delphi XE5 DocWiki – Uses Permissions

終於讓手上的HTC EVO 4G可以跑Delphi XE5開發的Android程式了!

DelphiXE5AndroidVersion

在上次參加iOS Dev Club開發聚一直飲恨的地方是沒辦法Demo Android版本的程式出來,因為手中的Android手機是版本2.1的HTC EVO 4G,在Embarcadero的官方網站中有提到Target Android Versions要在2.3.3之後才行(大哭….)。今天終於心一橫跑到了大陸有名的網站 ROM之家 找到 HTC EVO 4G的ROM然後刷機了!

果然刷完機之後,就可以跑昨天寫的這篇。 然後大家可以看到一點是,在沒有更改程式的情況下,Delphi XE5把元件的風格轉成Android的風格了。

Delphi XE5 for Android 影片位置 : http://youtu.be/eiV8uAl0vBY

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。

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

[Delphi] DBGrid顯示不同字型、顏色

dbgrid選擇顏色字型的方式
1.在DBGrid的Columns Editor中,將要出現按鈕的欄位的ButtonStyle設為cbsEllipsis
2.接著到OnEditButtonClick中增加程式判斷
if dbgrid1.SelectedField = xxxx(欄位名稱) then begin
end;
3.顯示的方式則是在OnDrawColumnCell中增加程式
IF COLUMN.FieldName = ‘xxxx(欄位名稱)’ THEN BEGIN
DBGrid1.canvas.brush.Color := STRINGTOCOLOR(‘clGreen’);
END;
// 記得要加上
DbGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, []);

[Delphi] 餐廳、飲料、簡餐等餐飲業POS系統畫面實踐

posscreen

在餐廳、飲料、簡餐等餐飲業的pos系統,常常可以如上圖的畫面。在Delphi如何實踐呢?提出幾個重點:

1.取得.ClientWidth、ClientHeight

2.如果是Scrollbox這類會出現捲軸的元件,記得再透過GetSystemMetrics(SM_CXVSCROLL)、GetSystemMetrics(SM_CYHSCROLL)取得捲軸的寬度、高度,扣除掉才能取得正確可佈置的寬、高

3.透過Ceil記算頁數

4.Create元件時記得設定Parent

5.清空元件利用

while xxx.ControlCount > 0 do begin
xxx.Controls[0].Free;
end;