Translate

ebook【Delphi跨平台資料庫程式設計火速上手】電子書出版 (CHT)

Delphi 跨平台資料庫程式設計火速上手,是本關於整合 Delphi 的跨平台技術打造 2-Tier 架構的跨平台 APP 的入門技術書。 全書沒有需要理解的技術知識,只講套路。 力求短時間把製作 APP 的工法熟悉,未來要開發其它的應用程式也能舉一反三。 底下...

2018/07/19

RAD Studio Community Edition 快速安裝介紹

可先到 Delphi Community Edition Landing Page 下載 ESD 安裝檔。C++ Builder Community Edition 在此

下載 ESD 的同時會發序號 email 給你

要注意的是,Community ESD 線上安裝除了介紹所需的 .Net 套件外,還需要自行下載 DirectX 9.0c 轉發套件,若未安裝時,進行到安裝 DirectX 9.0c 時會安裝失敗,屆時只能移除重裝。

2018/07/08

JavaScript iframe Variable Scope Test


目的:
測試 JavaScript Variable 在重複載入時是否共用同一個 Variable。

測試方式:
建立多個 iframe,但指向同一個 html 檔案。

JavaScript code is below:

  var MyVar = 0;
  function onButtonClick() {
    $("#A1").html(MyVar);
    MyVar += 1;
  }


預期:載入 base.html 時,MyVal 會預設歸零,藉以測試其它重複載入的 iframe 裡的同名變數是否會被影響。

測試步驟:
1. 建立 iframe 並累加 5 次變數
2. 以再建立 iframe 的方式重複載入該 html 檔案
3. 回到原 iframe,再累加變數,檢查變數是否歸零
4.切換到 2. 所建的 iframe 並累加變數,檢查變數是否被 3. 累加

結論:
各別的 iframe 就算是載入相同 JavaScript 檔,裡面同名 Variable Scope 也僅限在該 iframe 裡。

結果符合預期,收工。



See also :



2018/07/05

JSONObject Sort by Delphi


在 KTOP 看到有人在問 JSON 物件能否排序。

第一時間想著官方沒有類似 TJSONObject.Sort 的方法,除非再自行加工改寫。

後來看到其他會員回答的排序法,而樓主似乎也不排斥『要自己寫程式』的方式。

內容使用到『泛型物件』和『DBXJSON』,一時手癢,就自己試著玩玩看:

2018/06/28

Async callback in JS DataSnap Framework

This is a question about a obsessive-compulsive disorder patient. photo from



In the default Datasnap REST application, if there is a specified build of the Sample Methods :

The "echostring" and "ReverseString" two method and corresponding pages are added to the template. By opening the Reversestring template, you can learn that JavaScript is written like this:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
function onReverseStringClick()
{
  if (loginRequired && (AdminInst == null))
  {
    showLogin(true);
    return;
  }
  var valueField = document.getElementById('valueField');
  var s = serverMethods().ReverseString(valueField.value);
  valueField.value = s.result;
}

2018/06/06

Boost Regex and Unicode in C++ Builder

Boost - Bast C++ Library
Because "String" default is unicode in C++ Builer 2009 later.

And same std::wstring.

so, We should to use prefix "w" class, like:
wregex, wsmatch etc.

The Sample code below:

2018/06/01

Delphi Base Class - TProc (CHT)

圖片來源

TProc 在 Delphi 的宣告是:
1
2
3
4
5
TProc = reference to procedure;
TProc<T> = reference to procedure (Arg1: T);
TProc<T1,T2> = reference to procedure (Arg1: T1; Arg2: T2);
TProc<T1,T2,T3> = reference to procedure (Arg1: T1; Arg2: T2; Arg3: T3);
TProc<T1,T2,T3,T4> = reference to procedure (Arg1: T1; Arg2: T2; Arg3: T3; Arg4: T4);


最近在寫測速程式時突然應用到它,我是這麼寫的:

2018/05/24

WebBroker cookie in ISAPI (CHT)


Cookie 在網頁開發幾乎是必須,而它有幾個限制:

  • 容量為 4 KB
  • 明碼傳遞
  • 會強制放在 Request / Response 一起傳送,增加傳輸流量

增加 4 KB 的傳輸流量在現在這個動不動就幾個 Mbit 的網路速度來說,離負載也差得太遠。

Https 也快要成為主流,所以明碼傳遞也不是問題。

最近的問事中,有一項是開發 WebBroker 專案中,在 Cookie 設計上遇到些麻煩:

  1. Exe / Debug Server 模式下,Cookie 在 Server 及 Client 皆可正確存取。
  2. ISAPI 模式下,Server 可以存取由 Server 建構的 Cookie,但 Client 找不到,反之亦然。

Delphi 3 以來,從沒見過有人提出這類問題。