原创 FireDAC 學習 - 3:建立數據庫連接 之 TFDManager

使用數據庫,第一步是建立和數據庫的連接。結果關於連接,不是第一篇,而是本系列第三篇。 我使用 FireBird 開源數據庫作爲測試。FireDAC 支持 FireBird。 在本系列第一篇,我沒有仔細說 FDConnection1 是如何

原创 FireDAC 學習 - 6:CachedUpdates 模式下查看被刪除的記錄

概念 前面的文章 FireDAC 學習 - 5 講到,將 FdQuery 和 FdMemTable 的 CachedUpdates 設置爲 True,然後在 FdMemTable 裏面編輯後,可以讀取到編輯改動的記錄,將編輯改動過的記錄輸

原创 FireDAC 學習 - 4:屬性繼承

我們知道,TFdQuery 是通過 TFdConnection 去連接數據庫的。 而 TFdConnection 連接數據庫的參數,可以通過 TFdManager 獲得。 打開前面的例子程序,在設計期,選擇 FdQuery1,看看其屬性面

原创 FireDAC 學習 - 5:三層,遠程提交,公文包模式

問題需求: 以前版本的 Delphi,三層架構的程序,採用 TClientDataSet 來作爲客戶端的內存表,所有用戶操作都是針對 TClientDataSet 裏面的記錄進行增刪改的操作。在這裏,用戶修改後的記錄,叫做 Delta。操

原创 FireDAC 學習 - 1

之前玩 Delphi,數據庫部分,用得最多的是 TClientDataSet。這個 TClientDataSet 有很多玩法,重點是它可以作爲一個獨立的內存表,無論數據來自什麼數據庫都支持,並且可以把內容保存爲文件,也可以把內容通過遠程傳

原创 FireDAC 學習 - 2

複製數據 ClientDataSet 依賴的是 Midas.dll,也就是說它是在 Midas 框架裏面的。 要想把一個 ClientDataSet 的數據複製給另外一個 ClientDataSet,最簡單的做法是:ClientDataS

原创 FireMonkey 的網格 Grid 的用法(1)

學習一下在 FireMonkey 裏面怎麼用格子來實現一些界面效果。比如,類似 Delphi IDE 的屬性面板那種格子。 一邊學習一邊寫 Blog 作爲記錄。從最簡單的玩法開始。 創建一個 FireMonkey 的工程,保存一下。只需要

原创 基於 WebBrowser 的富文本編輯器

緣起: 很久很久以前,05年的時候做的一個基於 Delphi 的 TWebBrowser 做的一個富文本編輯器。主要是把 Windows 提供的 Browser 控件的 IHTMLWindow2 接口利用起來,完成將瀏覽器變成編輯器的功能

原创 FireMonkey 做的發光按鈕的例子代碼

線條圖,按上去會發光,這樣的按鈕,用 FireMonkey 的控件來做,基本上沒有什麼代碼。在 Windows / Android /iOS 上都可以用。我做了一個例子,源代碼上傳到這裏: 發光按鈕例子代碼

原创 Delphi 和 Windows 的 Linux 子系統

原文地址:Delphi 和 Windows 的 Linux 子系統 大概意思: 1. Delphi 可以編譯 Linux 的程序了。但通常需要一臺 Linux 電腦來配合。可能是 Windows 裏面安裝 Delphi,然後再裝一個虛擬機

原创 LiveBindings 綁定對象裏面的圖片字段,對象要平臺中立

問題來源: 假設我有一個數據對象 TnUser = class 裏面需要存儲圖片。 因爲 Delphi 的 VCL 和 FMX 對圖片的處理,引用的單元不同,爲了讓這個 TnUser 更單純,平臺中立,它只能存儲圖片的二進制數據,而不是

原创 基於 LiveBindings 的 MVVM 模式的例子代碼

本人這幾天的學習摸索成果。做完了一個例子,基本上也就明白 MVVM 模式是個什麼樣子的東西了,並且也知道了如何在 Delphi 底下用 LiveBindings 去實現它。 代碼上傳到:https://download.csdn.net/

原创 InterBase、FireBird 的自增字段和 FireDAC 數據庫控件

自增字段: InterBase 和 FireBird 數據庫,沒有自增字段這個字段類型。如果需要自增字段,辦法是: 1. 創建一個整數字段; 2. 創建一個生成器(Generator)。 這個 Generator 是 InterBase

原创 測試 Windows 10 底下的 Linux 子系統裏面做 C 語言編程

環境: Win10,安裝了 Linux 子系統。如何安裝,網上查來的。我安裝的是 Ubuntu 18.04.1. 順帶說一下,如何查自己的 Linux 的發行版名稱:我在 Windows 的 Linux 裏面輸入"cat /etc/iss

原创 LiveBindings 綁定界面元素和存儲數據的對象

Delphi 的 LiveBindings 的例子,綁定數據庫控件 TDataSet 的比較多。對於 TDataSet 來說,用 LiveBindings 框架,只是可以讓更多的非 TDBEdit ... 這樣的數據敏感控件,可以用來顯示