2014/05/19

IntraWeb 入門的幾個小問題

  • Q1. 支援的瀏覽器好像很少?
  • Q2. IWFrame 怎麼裝載到 IWForm 裡?
  • Q3. Intraweb 在不使用 Templete 下如何使用 CSS?

2014/05/16

IntraWeb 架構淺談 -- 所有 Browser 都是我的 EXE

繼上回 「Intro to IntraWeb (VCL for Web) 觀後感」之後,我就開始動手試著使用 C++ Builder XE6 所附的 IntraWeb XIV 來試做一個簡單專案來玩玩,想不到就出了這篇 IntraWeb 初探了。

先說說結論吧!

2014/05/09

Intro to IntraWeb (VCL for Web) 觀後感

Intraweb (底下簡稱 IW) 的架構其實和 ASP.NET 實在有像,如果不考慮那鳥鳥的介面,在開發效率上真的是首選。

UserSessionUnit 就是一目了然的 Session 容器,可以把它視為一個 DataModule

如果 Database Session 處理得好,那這個框架最大的危機應該就剩記憶體容量了吧
(就 ClientDataSet 裝個 100K * 100 = 10MB,面對現在 T 級記憶體的 Server ……其實也不算是個問題)

就目前來看,只要 xxxConnection.KeepConnection 設為 False,其它設計上就跟 Win32 2-Tier Application 一模一樣!

真不明白 IW 還有什麼讓人拒絕它的理由?

IntraWeb 的教學影片在此,親自實作後,認真地覺得這真的是個好物啊!



2015/03/10 補充:
在影片裡,「FishData.pas」其中的全域變數:var dmFish: TdmFish,被修改為 function dmFish: TdmFish,由於名稱未按命名規則設計,如能修改為"getPublicFish"或"PUBLIC_FISH"會更容易讓觀看人理解。
但因為是要做Runtime時期「變數覆蓋」所以才這樣處理,這一點要注意。

建議先看「Getting Started」再回頭看這篇Youtube會比較容易學習。

HTML5 Builder 的試用心得

HTML5 Builder 是 Embarcadero 的網頁製作產品之一
RadPHP 即是它的前身,HTML5 Builder 這名字更明確的表示它不只是著重在 PHP 設計上,也強化在 Client 端的 HTML5、Javascript 和 CSS 快速設計

如果想設計 Web Application 的話, HTML5 Builder 是個不錯的好選擇

2014/04/16

Excel Group command with ExcelXP Component

 ExcelWorksheet1.Range[_RangeBeg+':'+_RangeEnd,EmptyParam].Rows.Group(EmptyParam,EmptyParam,EmptyParam,EmptyParam);

2014/03/20

TExcelWorksheet 取值

在開始介紹 ExcelWorksheet 如何取值前,我們要先了解 Excel 的專業術語:



上面的「A、B、C」是 Column,座標軸 X,以下用 COL 表示。
左邊的「1、2、3」是 Row,座標軸 Y,以下用 ROW 表示。

所以我們通常會使用座標方式來指定游標所在的位置,常見用語有使用名稱「C3」或座標值「3, 3」之類的表達方式。

在這邊要注意的是,在Excel中座標的表示法是「ROW, COL」。並不是常見的「COL, ROW」

所以我們得知 ExcelWorksheet 的座標取值方法是:

ExcelWorksheet.Cells.Item[ROW, COL]

要使用名稱定義也可以,以下都是正確的作法

//property Range[Cell1: OleVariant; Cell2: OleVariant]: ExcelRange read Get_Range;
ExcelWorksheet.Cells.Range['A1', EmptyParam].Value;
ExcelWorksheet.Cells.Range['A1',       'A1'].Value;
ExcelWorksheet.Cells.Range['A1', EmptyParam].Value2;
ExcelWorksheet.Cells.Range['A1',       'A1'].Value2;

請注意!參數Cell1, Cell2不能為數字,也不能為 nil,否則會報 「OLE error XXXXXXXX」 的錯誤!


追加補充,如何取得 ExcelWorksheet 的列印範圍:

ExcelWorksheet.UsedRange[_LCID].Columns.Count
ExcelWorksheet.UsedRange[_LCID].Rows.Count

到這邊為止,已經可以處理絕大部分Excel檔案匯入的工作了。

想知道 ExcelWorksheet更多的功能嗎?去找吧,所有功能屬性都寫在 ExcelWorksheet 的元件裡!