Stories

List
Create Time

一步一步學習使用LiveBindings(3) 綁定到ListView,用TProtoTypeBindSource創建樣例數據

FireMonkey(簡稱FMX)是一個跨平台的應用程序設計框架,這個框架其實不再將開發的重心放在PC端,畢竟Windows PC上還有強大的VCL框架。FMX重心還是在移動端多一些,而移動端的小屏設備使用Grid的場景很少,屏小數據多,體驗應該並不佳,使用ListView這種列表式控件就非常常見。 為了測試ListView的外觀,常常需要測試數據,好在LiveBidings有一個原型綁定源,可以

Create Time

一步一步學習使用LiveBindings(4) 使用LiveBindings同步多個控件的數據

假定有一個TStringGrid控件和一個TListBox控件,想要同步兩個控件的數據顯示,比如在TStringGrid上輸入一個字段串,在TListBox控件上馬上看到更新,這通常需要編寫事件處理代碼。LiveBindings提供了雙向數據綁定,讓開發人員可以分分鐘實現一個多控件同步的程序,這個示例的運行效果如下圖所示: 請按如下的步驟來實現這個例子: 1. 單擊主菜單中的 File

Create Time

一步一步學習使用LiveBindings(5) 使用TAdapterBindSource實現對象綁定

在本系列的第1課介紹過TBindSourceDB綁定到TFDMemTableo數據庫組件,也介紹了使用TPrototypeBindSource提供樣本數據源。接下來看一個新的BindSource組件TAdapterBindSource,如其名所暗示,它是一個橋接器綁定控件,主要用來將自定義的對象與數據源進行綁定。 TAdapterBindSource有一個Adapter屬性,它可以接收一個繼承自T

Create Time

一步一步學習使用LiveBindings(6) 實現Master-Detail主從關係的綁定

主從式數據在應用程序的開發中是非常常見的,比如員工和電子郵件地址記錄,一個員工可能對應到多個郵件地址,這就形成了一對多的關係。在VCL中,數據控件處理主從式綁定非常方便簡潔,在這個示例中,學習如何使用LiveBindings的TProtoTypeBindSource控件來實現對象間的主從式的數據綁定。 注意:這個示例來自《Delphi Cookbook》中的Using master/details

Create Time

一步一步學習使用LiveBindings(7) 實現對JSON數據的綁定

本課將介紹如何從JSON中獲取綁定數據源,並且將更新也寫回JSON。可以設想一下有一台遠端服務器提供JSON數據,Delphi客户端可以接收這些JSON數據,然後轉換成數據綁定對象,在應用程序中處理完數據後,將更新的數據序列化為JSON傳回遠端服務器,很多移動應用使用了這種模式處理服務器端的數據。好了廢話少説,開始打開Delphi 12.3,建項目吧。 本系列課程具有前後關聯性,如果你對LiveB

Create Time

一步一步學習使用LiveBindings(8) 使用嚮導創建用户界面,綁定格式化入門(1)

在多數真實的應用場景中,用户對於顯示是比較挑剔的。比如貨幣要顯示貨幣符號,日期要顯示成特定的格式,可能要根據字段值顯示圖片等等。 本課程包含如下知識點: 完全使用嚮導生成應用程序 為綁定定義格式化表達式。 在這個課程中,將構建一個簡單的僱員列表程序,這個程序將向用户展式員工名稱、入職時間、薪資和、薪資的比率等數據。非常簡單的一個程序,重點在於格式化與解析的基礎知識,學完本課,在LiveBi

Create Time

一步一步學習使用LiveBindings(9) LiveBindings圖像綁定與自定義綁定方法(2)

這是《一步一步學習使用LiveBindings(8)》的接續,本章將學習如下知識點: 為TGrid應用列格式。 創建自定義的綁定方法。 實現表單級別的格式化方法。 上一節使用嚮導將TGrid綁定到ProtoTypeBindSource,它會創建TLinkGridToDataSource這個綁定鏈接。嚮導創建的綁定只是將PrototypeBindSource1的*與TGrid的*進行了綁定

Create Time

# 一步一步學習使用LiveBindings(10) LiveBindings綁定到漂亮的TCombobox

這一課,將演示如何綁定到TCombobox,這個控件通常用來給用户提供選項列表。它們具有比VCL控件較強的定製性,可以使用樣式窗口對每一個項進行外觀的定製。 如果讀者已經看過《一步一步學習使用LiveBindings(9)》,那應該會比較熟悉這一課的案例,因為筆者將上一節的案例LiveBindings_BindFormat的源代碼複製到了這一節作為起點。 在上一節的員工管理窗口中,有一個Title

Create Time

一步一步學習使用LiveBindings(11) 綁定到自定義外觀的ListBox

雖然在Firemonkey中,TListView是與LiveBindings綁定最為友善的。但是ListBox在一些短平快的中小型的選項列表中也是非常不錯的選擇。 在本課中,將學習到: 如何自定義ListBox的外觀。 如何使用LiveBindings綁定到具有自定義外觀的ListBox。 請將你在《一步一步學習使用LiveBindings(10)》中的項目複製一份,然後開啓這次列表的實際

Create Time

一步一步學習使用LiveBindings(13) TListView的進階使用(1)

在《一步一步學習使用LiveBindings(12)》中,介紹瞭如何通過設計面板來定製TListView中Item的顯示,雖然方便,但是重用性確也是一個問題;此外,當列表項的內容不固定時,如何能顯示完整的內容,就涉及到動態列表項的問題。 本課將介紹如何創建自適應高度的列表項,不但列表項的高度自適應,還演示瞭如何在列表項中進行圖形繪製。 1. 根據內容尺寸確定列表項的高度 Delphi自帶的Demo

Create Time

一步一步學習使用LiveBindings(14)TListView進階使用(2),打造天氣預報程序

在《一步一步學習使用LiveBindings(12)》課中,非常詳細的介紹瞭如何在設計時手工的編輯DynamicAppearance類型的項,大大方便了構建自定義的列表項。但是很多情況下,仍然要面對編程創建列表項的情形,特別是當要實現自定義的列表項時,將不得不面對編程創建列表項的挑戰。 注意:更理想的自定義列表項的的方法是為 TListView 組件編寫自定義樣式;將組件放入一個包中,安裝到 ID

Create Time

一步一步學習使用FireMonkey動畫(1) 使用動畫組件為窗體添加動態效果

FireMonkey提供了一系列的動畫控件,為基於FMX(FireMonkey的簡稱)的應用程序開發提供了較大的靈活性。在VCL上面創建動畫,需要開發人員用一個TTimer組件,然後不斷的移動目標物體的位置,使得目標對象看起來像是動了一樣,這需要編寫大量的控制代碼,而且效果並不是特別理想。 本課將介紹如下的內容: 使用傳統TTimer創建動畫。 使用TFloatAnimation通過改變圖片

Create Time

一步一步學習使用FireMonkey動畫(2) 使用TAnimator類創建動畫

在開始研究FireMonkey提供的動畫組件前,回顧一下多數時候,只是想給控件加一些突出的提醒或點綴,所以無須真的添加一個動畫組件。FMX(FireMonkey的簡稱)提供了一系列便利的操作。 本節將介紹: 使用TFmxObject的動畫函數。 使用TAnimator對象快速創建動畫。 TAnimator與其他的TAnimation動畫組件的區別。 1. 使用FmxObject創建動畫。

Create Time

一步一步學習使用FireMonkey動畫(3) 使用Delphi的基本動畫組件類

本課將介紹如何使用TAnimation的子類,比如TFloatAnimation、TColorAnimation來創建動畫。 本課的主要內容: 認識TAnimation的子類 使用TAnimation的動畫子類創建動畫。 使用TFloatKeyAnimation關鍵幀創建彈跳球動畫 使用TColorKeyAnimation關鍵幀動畫眩目背景變換 事實上多數動畫是通過在指定時間範圍(Du

Create Time

一步一步學習使用FireMonkey動畫(4) 使用Delphi的基本動畫組件類,路徑和位圖列表動畫 彈跳小球和奔跑的小人示例

在《一步一步學習使用FireMonkey動畫(3)》中,介紹了TAnimation的多數子類,本節將對TRectAnimation、TPathAnimation和TBitmapListAnimation這3個子類進行介紹。 本節將介紹的主題如下: 使用TPathAnimation創建路徑跟隨的小球。 使用TBitmapListAnimation打造奔跑的小人動畫 使用TRectAnimat

Create Time

一步一步學習使用FireMonkey動畫(5) 動畫圖解11種動畫插值類型

如果學習過《一步一步學習使用FireMonkey動畫》系列的前幾課,可以看到不止一次的使用了動畫的Interpolation屬性指定插值。 插值(Interpolation),在數學和計算機圖形學中,是一種在兩個已知值之間估算中間值的方法。簡單來説,就是給定一個起點 A 和一個終點 B,插值能計算出從 A 到 B 的平滑過渡中的所有“中間點”。 一個生活中的例子: 假設你想從房間的左邊

Create Time

一步一步學習使用FireMonkey動畫(6) 用實例理解動畫的運行狀態

雖然在過去的幾節課中,已經詳細的介紹了不少的屬性和方法以及事件,本節來看一看動畫的執行狀態。 回顧一下前面的幾節內容,可以看到,每一個動畫都具有如下的屬性和方法,請仔細閲讀下面的屬性或事件的作用,在接下來的案例中將會使用到它們: 1. 動畫的屬性和事件 Duration:該屬性表示動畫的持續時間(以秒為單位)。它是一個浮點值,因此你可以指定動畫播放的任何時間長度,而不僅僅是整數值。