2021/01/26

Delphi 母公司 Idera 買下 Apilayer

Apilayer 官網截圖

Marco Cantu 今天更新了他的 Blog,提到 EMBT 母公司 Idera 最近買下【Apilayer】公司,為 Idera 事業群增添了新血。

Apilayer 公司主要業務是【網路微服務 REST API】,範圍囊括了世界國家、國家地理位置反查等 REST API,類似【政府資料開放平臺】內容。

教學手冊置於文末 ❤️

Marco Cantu 也在他的 Blog 中展示如何使用 Delphi 操作 Apilayer API,提供了 Google 外另一個經濟實惠的選擇。

大匠和你分享。❤️❤️❤️

See also


2021/01/22

Delphi 經典案例分享 -- 『カラオケの鉄人』


 

「『カラオケの鉄人』店舗で、クーポン作成 - DTP並みの印刷システム実現の手法」

Embacadero 之前的研討會中,有一項吸引到大匠我的目光:

『カラオケの鉄人』店舗で、クーポン作成 - DTP並みの印刷システム実現の手法

製作【卡啦OK鐵人】的日本公司【株式会社鉄人化計画】是一間以卡啦OK為主要業務的上市公司,據點分佈在神奈川縣和千葉縣,共計超過 49 處營運據點。

簡報內容描述店家從【Linux + Kylix】升級成【jQuery + PHP + WebBroker + FireMonkey】跨 Web 和 跨行動裝置的移殖工作。

很多開發精華毫無保留地呈現,例如:

  • WebBroker CORS
  • JSON 和 BSON 
  • 桌面印刷(DTP) => 圖形輸出技巧
  • FMX + BARCODE

這份簡報顛覆了我對 Delphi Web 能力的三觀,內容非常精彩,值得一看再看!

相關資源收錄如下:

2021/01/21

【翻譯】DataSnap.ChatRoom Sample


 

原文網址:DataSnap.ChatRoom Sample
無責任翻譯:大匠之風 Eden Wu

 

DataSnap.ChatRoom Sample

展示如何以 DataSnap 建立簡單的【聊天室應用程式】。聊天室是利用 HTTP 技術進行公共和私人對話。

專案位置

你能夠在以下位置找到【聊天室】範例專案:

文章目錄

專案描述

聊天室應用程式會使用到:

  • 建立聊天室伺服器,其中管理員能夠控制使用者行為和發送公共訊息(廣播)。
  • 提供簡單方式使用 HTTP 網路介面,其中使用者能互相發訊息或交換公共訊息(廣播)。

如何使用範例

  1. 引導步驟為 Start | Programs | Embarcadero RAD Studio XE6 | Samples, 底下的 Object Pascal\DataSnap\ChatRoomDemo,然後開啟 ChatRoomServerProject.dproj.
  2. 編譯 ChatRoomServerProject.dproj.
  3. 在 IDE 中選擇 Run > Run 選項或按下 F9 來執行應用程式。
  4. 瀏覽到聊天室應用程式的機器,例如以下網址:http://mymachine.mydomain.net:8087/ChatRoom.htmlhttp://localhost:8087/ChatRoom.html
  5. 提供使用者名稱然後開始進行網路聊天。
  6. 管理員可以在聊天室伺服器應用程式踼除使用者或發送公共訊息。

Files 檔案群

檔案 內容

ChatRoomServerContainer

伺服器容器,搭載 DataSnap Server 元件。

ChatRoomServerMethodsUnit

伺服器函式容器,搭載聊天室範例中所使用到的伺服器函式。

ChatRoomServerProject

專案本身。

ChatRoomServerUnit

構成聊天室範例應用程式的使用者介面主表單。

Classes 類別

  • TUserNotifyThread implements a thread for broadcasting a message to all users, notifying them that a user has logged in or out.
  • TBootUserThread boots the user with the given name.
  • TChatRoomUser represents a single logged in user of the chat room. The ID of the user's session is held here, as logging in and out of the chat room is done by activing sessions with the server.
  • TChatRoomUsers is a singleton class for managing a list of logged in users.
  • TChatRoomServerMethods is declared inside the ChatRoomServerMethodsUnit.pas file and implements the server methods for the Chat Room application.

Procedural Types

  • TUIHookCallback is a no-argument procedure that will tell the user interface to update its user list.

Implementation

  • A TSQLConnection object provides the proxy DataSnap HTTP connection.
  • The Generate JS Proxy button generates the JavaScript proxy information though a TDSJavaScriptProxyWriter.
  • The main user interface contains a list of users and an edit box in which you can type in a message to broadcast to all users. The message you type in is wrapped into a JSON object. The list of users has a pop-up menu associated. This menu contains only one menu item used to throw the user out the chat.
  • The SendMessage and SendMessageToUser functions are used to send a message to all logged in users or to a single user.
  • The ChatRoomServerContainer.dfm form contains a chat room server (TDSServer component), a chat room transport (TDSTCPServerTransport component), a chat room HTTP service (TDSHTTPService component), a chat room authentication manager (TDSAuthenticationManager component), a chat room server class (TDSServerClass component), and a chat room file dispatcher (TDSHTTPServiceFileDispatcher component).

Uses

See Also