2015/12/31

風水輪流轉,這次又會轉回【Windows-base Client】了嗎?(下) ── 存亡關鍵的最後一哩

簡單的總結一下 Web 和 Apps 的戰爭結果。

*********************************************

自 HTML5 標準推出後,可以說 Web 的戰線越來越明確,在既有的瀏覽器能延伸到哪裡,Web 功能就能夠到那裡。

Apps 就如同是 Windows 的 EXE,想要和作業系統無縫接軌,也只有 Apps 能辦得到。

2015/12/27

淺談大數據分析(Big Data Analysis)【什麼是大數據?】

大數據(Big Data)一詞真的越來越夯了
photo credit:KamiPhuc (CC BY 2.0)

但到底它是什麼東西,能吃嗎?能用嗎?怎麼用?


2015/12/24

風水輪流轉,這次又會轉回【Windows-base Client】了嗎?(中) ── 開發界的潮流擂台賽

在一個地方安逸了,大概會有兩種結果:
  • 鑽石永恆久遠,一招永留傳
  • 溫水煮青蛙,等死

前從前,有個作業系統叫做 DOS。
歷久不衰的【C 大於】
據說,當 Windows 起來時,死抱著 DOS 的那批工程師,絕大多數也都抱著 DOS 退休了。

而所謂的石,就是指剩下抱著 DOS 卻還沒退休的人,至今仍有取之不盡的需求收入。不信?看一下賣場裡的收銀機吧!

現在,不管你有沒有經歷過 DOS-base 開發時期,凡是 Windows-base 的程式猿,目前也絕對都受到了第二次挑戰。

那麼,究竟 Windows-base 程式猿,會和 Windows 一起推進太平間,亦或是走向另一波猿生中的高潮?
讓我們繼續看下去


2015/12/17

風水輪流轉,這次又會轉回【Windows-base Client】了嗎?(上) ── Windows程式猿的危機

開發 Windows-base Application 久了之後,就會想要開發一點不一樣的東西。

在 Web-base 的 Thin Client 出現後,有一段時間在懷疑自己,是否要轉換跑道?

平平都是資料庫應用,不需安裝的網頁應用程式在使用者便利性就佔了上風。然而 Windows-base 應用程式在病毒的亂入下,也漸漸被貼上「不安全」的標籤。


現在誰看到【EXE 】敢直接開的!
圖片來源

2015/11/30

dbExpress (DBX4) 智慧取得 MetaData 方法研究


使用了 dbExpress 後,一直沒有機會詳細體驗。

自從寫了【dbExpress SetSchemaInfo 取得結構的勘誤之處】這篇之後,終於有點進展了。 把可能的呼叫法全上了一遍,成果如下圖:




兩種寫法有好有壞,但效能上是相等的,所以要使用哪種方式完全是看個人習慣。

===== 2022/03/02 更新 =====

操作說明

資料庫所有的表格清單(Table List)

在程式啟動時,會連線到指定資料庫,連線成功後會把資料庫裡所有表格放入上圖紅框處。

取得索引清單 (Indexes List)

選定表格時,程式會將該表格所有索引都放入上圖紅框處。

選好索引後,就可以使用畫面下半部的功能查詢其 MetaData。

程式說明

把原本參考 DBXUtils.pas 單元的程式碼改由 Dbexpress.MSSQL.Factory 單元處理,使用起來更物件導向,程式碼更加精簡:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
procedure TForm2.btnCRPrimaryKeyColumnsClick(Sender: TObject);
var
  p_Start, p_Cost : DWORD;
begin
  p_Start:=GetTickCount();
  with TDBXMSSQLFactory.Create(cn.Params) do
  begin
    Memo1.Lines.CommaText := DBXFetchPrimaryKeyColumns(cbxTableName.Text);
    Free;
  end;
  p_Cost:=GetTickCount()-p_Start;
  OutputDebugString(PWideChar('spend time: '+format('%0.3n',[p_Cost/1000])+'s'));
end;

使用 TDBXFactory (TDBXMSSQLFactory) 物件,就可以用【DBXFetchPrimaryKeyColumns】一列命令完成載入,不用再尋找資料庫命令,未來相關的 TDBXMySQLFactory、TDBXPostgreSQLFactory 也不用改程式碼即可使用,等有空再來增加其單元。

MetaData 在 DataSnap 應用場合下是絕對會用到的資料,有 DBXFactory 的幫忙,有助於更精準的控制程式碼的操作。

有興趣的朋友歡迎使用文末連結下載原始碼使用。

 和你分享 😉


See Also