Gordon Li

Gordon L6149 has not set their biography yet

Posted by on in Blogs
RAD Server和BeaconFence開發之4, 多參數查詢 在上次新年假期的文章中我們說明了如何使用單一的參數來查詢Beacon資訊, 也就是使用Beacon的GUID參數來查詢. 但我們都知道要一到唯一的一個Beacon設備, 我們需要使用GUID, Major ID和Minor ID等3個參數. 那麼我們現在我們要解決的問題就是多參數查詢. 要解決多參數查詢應用的RAD Server服務方法, 首先我們需要回到RAD Server的範例服務套件中宣告一個服務方法, 並用ResourceSuffix屬性加註此服務方法要接受GUID, Major ID和Minor ID等3個參數, 這個服務方法的宣告如下:     [ResourceSuffix('{BID}/{MajorID}/{MinorID}')]     procedure GetBeacon(const AContext: TEndpointContext; const ARequest: TEndpointRequest; const AResponse: TEndpointResponse); 接著實作G...
RAD Server和BeaconFence开发 – 4, 多参数查询 在上次新年假期的文章中我们说明了如何使用单一的参数来查询Beacon信息, 也就是使用Beacon的GUID参数来查询. 但我们都知道要一到唯一的一个Beacon设备, 我们需要使用GUID, Major ID和Minor ID等3个参数. 那么我们现在我们要解决的问题就是多参数查询. 要解决多参数查询应用的RAD Server服务方法, 首先我们需要回到RAD Server的范例服务套件中宣告一个服务方法, 并用ResourceSuffix属性加注此服务方法要接受GUID, Major ID和Minor ID等3个参数, 这个服务方法的宣告如下:     [ResourceSuffix('{BID}/{MajorID}/{MinorID}')]     procedure GetBeacon(const AContext: TEndpointContext; const ARequest: TEndpointRequest; const AResponse: TEndpointResponse); 接着实作G...

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...

Check out more tips and tricks in this development video: