Gordon Li

Gordon L6149 has not set their biography yet

Posted by on in Blogs
深圳Beaconfence POC 上星期到深圳出差順便到經銷商的辦公室實作Beaconfence POC並請客戶到現場觀摩, 我在一天內於經銷商的辦公室安裝Delphi, RAD Server, 架設環境, 設置Beacon設備, 寫程式等, 時間緊湊的令我幾乎喘不過氣來, 最後幸不辱命安成了工作, 也讓Beaconfence在現場完美的運作.     第一步當然是從現場圖和丈量開始:   接著在現場架設4個Beacon:   最後成功在現場執行室內定位:   很高興又多了一個Beaconfence的成功案例, 客戶到現場實測看了也非常滿意, 而我個人也玩Beaconfence玩的很快樂, 一舉3得. 這就是享受工作樂趣的真義吧.  ...

Posted by on in Blogs
深圳Beaconfence概念性验证 上星期到深圳出差顺便到经销商的办公室实作Beaconfence POC并请客户到现场观摩, 我在一天内于经销商的办公室安装Delphi, RAD Server, 架设环境, 设置Beacon设备, 写程序等, 时间紧凑的令我几乎喘不过气来, 最后幸不辱命安成了工作, 也让Beaconfence在现场完美的运作.     第一步当然是从现场图和丈量开始:   接着在现场架设4个Beacon:   最后成功在现场执行室内定位:   很高兴又多了一个Beaconfence的成功案例, 客户到现场实测看了也非常满意, 而我个人也玩Beaconfence玩的很快乐, 一举3得. 这就是享受工作乐趣的真义吧....

Posted by on in Blogs
Delphi生日快乐! 从1994到现今的2017, Delphi一路走来到仍然挺立, 而且即将开始支持Linux, 另外一个好消息是Delphi/Object Pascal程序语言也进入前10名的流行使用榜, 代表全世界仍然有众多的Delphi使用者, 再加油吧, Delphi Go Go Go!    ...

Posted by on in Blogs
Delphi生日快樂! 從1994到現今的2017, Delphi一路走來到仍然挺立, 而且即將開始支援Linux, 另外一個好消息是Delphi/Object Pascal程式語言也進入前10名的流行使用榜, 代表全世界仍然有眾多的Delphi使用者, 再加油吧, Delphi Go Go Go!  ...

Posted by on in Blogs
优化C++Builder的执行机械码 许多C++Builder的朋友向我抱怨为什么不多写一些C++Builder的文章, 总是Delphi的内容, 在此先向C++Builder的朋友抱歉, 因为时间有限, 不过在本文中就让我写一个使用C++Builder的小心得跟C++Builder的朋友分享. 使用C++Builder的朋友都知道当项目开发完成后就可编译Debug檔或是Release檔, 也都知道这2种编译檔的差别. 但还是有一些更内门的C++Builder朋友询问我C++Builder是否可产生更好的编解碼. 要产生更好的执行编译码有许多的决定因素, 如果我们先把其他因素暂时搁置, 以现有C++Builder的功能而且在不动程序代码的前题下, 是有一个小技巧可以产生更好的执行编译码.   下图是一个C++Builder的VCL空白项目, 如果我们以Release模式编译它, 并在Messages窗口展开bcc64编译程序命令行可以看到一堆的编译程序指令, 但其中的-O2就是编译程序的优化编译指令: 这是C++Builder在内定上对于Release模式是使用-O2, 但其实如果使用C++Buil...

Posted by on in Blogs
最佳化BCB的執行機械碼 許多C++Builder的朋友向我抱怨為什麼不多寫一些C++Builder的文章, 總是Delphi的內容, 在此先向C++Builder的朋友抱歉, 因為時間有限, 不過在本文中就讓我寫一個使用C++Builder的小心得跟C++Builder的朋友分享. 使用C++Builder的朋友都知道當專案開發完成後就可編譯Debug檔或是Release檔, 也都知道這2種編譯檔的差別. 但還是有一些更內門的C++Builder朋友詢問我C++Builder是否可產生更好的編解碼. 要產生更好的執行編解碼有許多的決定因素, 如果我們先把其他因素暫時擱置, 以現有C++Builder的功能而且在不動程式碼的前題下, 是有一個小技巧可以產生更好的執行編解碼.   下圖是一個C++Builder的VCL空白項目, 如果我們以Release模式編譯它, 並在Messages視窗展開bcc64編譯器命令列可以看到一堆的編譯器指令, 但其中的-O2就是編譯器的最佳化編譯指令: 這是C++Builder在內定上對於Release模式是使用-O2, 但其實如果使用C++Builder...

Posted by on in Blogs
BeaconFence客戶端連結RAD Server - 3 2017年開春, 先祝各位雞年行大運, 事事順心. 由於現在還在新年假期中, 因此這次的文章就簡短一些. 上次的文章已經說明如何使用TBackendEndpoint和TEMSFireDACClient等元件藉由FireDAC一次取得所有Beacon的資料, 但我們如何查詢特定的Beacon資料呢?例如使用Beacon設備的GUID, Major ID或是Minor ID等. 在本文中先讓我們說明只使用一個GUID查詢, 下次再說明如何使用多個條件來查詢的應用.   要在RAD Server的服務套件中查詢特定資料, 就會呼叫服務套件中的GetItem方法, 因此請回到上次的範例RAD Server服務套件專案, 在資料模組中加入一個TFDQuery元件: 再使用下面的SQL使用GUID查詢Beacon設備: select NOTES from TBLBEACONS where BGUID = :BID 再到GetItem方法中實作如下的程式碼: procedure TIoTBeaconFencePOCResource1.GetItem(cons...

Posted by on in Blogs
BeaconFence客户端连结RAD Server - 3 2017年开春, 先祝各位鸡年行大运, 事事顺心. 由于现在还在新年假期中, 因此这次的文章就简短一些. 上次的文章已经说明如何使用TBackendEndpoint和TEMSFireDACClient等组件藉由FireDAC一次取得所有Beacon的数据, 但我们如何查询特定的Beacon数据呢?例如使用Beacon设备的GUID, Major ID或是Minor ID等. 在本文中先让我们说明只使用一个GUID查询, 下次再说明如何使用多个条件来查询的应用.   要在RAD Server的服务套件中查询特定数据, 就会呼叫服务套件中的GetItem方法, 因此请回到上次的范例RAD Server服务套件项目, 在数据模块中加入一个TFDQuery组件: 再使用下面的SQL使用GUID查询Beacon设备: select NOTES from TBLBEACONS where BGUID = :BID 再到GetItem方法中实作如下的程序代码: procedure TIoTBeaconFencePOCResource1.GetItem(con...

Posted by on in Blogs
BeaconFence客户端连结RAD Server - 2 在上次的文章中我们已经说明了如何开发RAD Server的套件, 并且链接数据库中的数据. 由于范例RAD Server的套件是一个RESTful服务器而且数据是使用JSON格式传递, 因此在客户端可以使用各种能呼叫RESTful和处理JSON的方式来使用范例RAD Server套件的服务.在本文中先让我们开发一个Windows客户端来使用范例服务.

Posted by on in Blogs
BeaconFence客戶端連結RAD Server - 2 在上次的文章中我們已經說明了如何開發RAD Server的套件, 並且連結資料庫中的資料. 由於範例RAD Server的套件是一個RESTful伺服器而且資料是使用JSON格式傳遞, 因此在客戶端可以使用各種能呼叫RESTful和處理JSON的方式來使用範例RAD Server套件的服務.在本文中先讓我們開發一個Windows客戶端來使用範例服務.

Check out more tips and tricks in this development video: