首頁 公司 產品 產業/方案 服務 夥伴 客戶 論壇 ICE Developer Center Site Map          [搜尋]
ICE Developer Center Overview Register Training LearningSpace Workshop ICE Messaging Express MOM Glossary
Member Login Download GetLicense Support Profile iReal Program Logout

 .艾揚即時訊息技術電子週報 < ICE Messaging Weekly >. 

第 60 期 出刊日期:2004.02.24 本報內容由 艾揚科技 (ICE Technology Corp.) 提供

在 Excel 上開發一個 iPush 的即時訊息傳送 Client (上)

本期內容大綱

 
[編輯手扎] ICE Messaging Editor's Note  郭漢丞   

我們又創下新紀錄

武漢「艾揚夥伴日 2004:即時訊息的力量」活動圓滿落幕了。據艾揚電子週報採訪人員回報,該活動參與情況相當熱烈,所有參加的艾揚夥伴都露出很滿意的笑容,就像看著美食的饕客一般。

據悉,艾揚電子週報編輯群在武漢創下了幾項紀錄:

  • Fred (蔣公居裕) 在這幾天的武漢之旅有很大的收穫,活動結束後成功的丟掉了手提電腦和手機,並且笑道“這次在武漢真的搞大了”,人們都親切的稱他為—散財童子,從此對武漢留下了深刻的印象。

  • 大家在對 Fred 安慰之餘,還不斷的提醒他:可以丟的東西不多了,就剩一台數位相機了,不要一次都丟掉,慢慢來就好。一個臺灣人在武漢連續丟掉兩樣東西,類似的情況在武漢非常罕見, Fred 成功創造了這一個奇跡。

  • Fred 跟 Christine (黃雅婷小姐) 在承受長胖的極大壓力下,以最短的時間把武漢小吃指標性地吃了一圈;Christine 親自吃掉了2大盤的涮羊肉,成功的執行了這次的任務。

由於本期週報內容偏重實作,所以特別摘錄以上逸聞,博君一燦。接著我們就進入主題......

 
[訊息論壇] ICE Messaging Forum    蕭崇威 / 郭漢丞

<實作篇>> 在 Excel 上開發一個 iPush® 的即時訊息傳送 Client (上)

提到即時訊息技術應用,編輯小組不時接到類似的反應:像 iPush® 這樣的即時訊息伺服器好像與我距離很遠,大概得要像金融即時報價,或者企業應用那些講究速度的應用才需要,我平常使用的軟體大概不出 Microsoft Office 的範圍,所以 iPush® 大概用不著。

事情往往不能從表面上來看,iPush® 主要是提供即時訊息的服務,所以 iPush® 很像是網際網路上的訊息高速公路,提供各種訊息即時流通,既然是「即時訊息高速公路」,那麼訊息傳遞的內容當然沒有限制,誰來傳送?誰來接收?其實都要看使用者想要怎麼用來決定,結合個人在專業上的 Know-How,您將可以創造出更有生產力的即時應用情境。好,您不是說桌面上常使用的應用軟體只有 MS Office 嗎?沒問題,我們就用 Excel 來傳送與接收即時訊息吧!

50 分鐘就可以搞定

自己執行在 Excel 上面發 iPush® 的即時訊息傳送/接收 Client 需要多少時間?我們自己試驗過的時間大約 30 + 20,也就是 50 分鐘。在我們進行實作說明以前,請先確認您具備以下條件,然後再一步步實作下去:

條件不難吧?如果您沒有 iPush® 以及 ActiveX API,不妨直接點選以上連結下載最新版本。

檢查完電腦系統的需求之後,還有一項準備工作,請在 iPush® 裡面新增以下的 Service 與 User 帳號:

訊息接收者:

  • Group:lab
  • Product:lab3
  • User ID:excel_receiver
  • Password:excel_receiver
  • Read Permission:lab3.test.receive
  • Write Permission:-

訊息傳送者:

  • Group:lab
  • Product:lab3
  • User ID:excel_sender
  • Password:excel_sender
  • Read Permission:-
  • Write Permission:lab3.test.receive

您可以開啟兩個 ActiveXSubjectSample 測試程式,一個作為訊息傳送者,另一個作為訊息接收者,測試兩者是否可以正常送收訊息。

請開始計時

本次實作我們打算先用 30 分鐘在 Excel 裡面以 iPush® 實作即時訊息的「收送」程式,然後以 20 分鐘實作基本收發訊息功能當您把上述的基本條件準備好之後,就可以進入正式的實作。在下週的電子報當中,我們還會加入 Point-to-Point 功能 (Queue) 與 Guaranteed Message Delivery 的實作。

步驟一:註冊 iPush® ActiveX API (xiPush2.ocx),在 Windows 系統的 [執行] 中輸入 

regsvr32 <API 路徑>\xiPush2.ocx

步驟二:執行 Microsoft Excel,開新檔案

步驟三:將 Excel 切換至設計模式

步驟四:製作表單

1. 在表單中加入 iPush® 控制元件,控制項 Name 為 XiPush21

圖一、在 "控制工具箱" 的 "其他控制項" 裡找到 XiPush2 控制項
圖二、XiPush2 控制項貼上工作表

2. 加入連線 iPush® 所需的各項資訊。我們指定標題欄位 (2,C)~(7,C),名稱為 IP, Port, Company, Product, Username, Password,並以欄位 (2,D)~(7,D) 做為使用者輸入欄位。程式會從輸入欄位取得相關的參數。

圖三、 安排連線參數設定介面

3. 加入 2 個 Command Button 如上:

  • “Connect” 按鈕,Name 屬性為 btnConnect
  • “Disconnect” 按鈕 ,Name 屬性為 btnDisconnect
  • 使用區域 Cell (2,D) ~ Cell(7,D) 作為 iPush® 連線資訊輸入欄位
  • 使用 Cell(11,C) 作為 iPush® Server 命令訊息回應區

步驟五:撰寫程式

雙擊 Connect 按鈕,加入程式碼:

1. 與 iPush® Server 連線,並在訊息回應區顯示連線成功的訊息。 iPush® 連線之前,需要先設定好各參數值。參數值是從我們剛剛的輸入欄位取得。

圖四、連線程式碼

2. 判斷是否連線成功。輸入連線資訊,按下 Connect 按鈕測試。可以看到連線成功。

圖五、連線成功!

3. 實作與 iPush® 斷線的功能。雙擊 Disconnect 按鈕加入程式碼。並在收到斷線的 Event 之後在訊息回應區顯示斷線訊息。

圖六、斷線處理程式碼

4. 測試成果。回到表單執行模式按下 Disconnect 按鈕,會中斷與 iPush® 的連線。

圖七、終止與 iPush® 連線

步驟六:仿照前面的步驟,在表單的右邊設計一個和剛剛一模一樣的測試 client,以便進行之後兩端收送的相關測試。

1. 加入 2 個 Command Button 如右下:

  • “Connect” 按鈕,Name 屬性為 btnConnect2
  • “Disconnect” 按鈕 ,Name 屬性為 btnDisconnect2

2. 使用區域 Cell (2,I) ~ Cell(7,I) 作為 iPush® 連線資訊輸入欄位

3. 使用 Cell(11,H) 作為 iPush® Server 命令訊息回應區

圖八、另一個 Client 端

程式碼可以依照剛剛的內容作相對應的輸入。

圖九、 相同的連線與斷線處理程式碼

實作基本收發訊息功能 ( 20 分鐘)

接下來我們將繼續把收、發功能完整實作起來,步驟請依序執行。

步驟一:我們將左邊的 client 設定為訊息發送端,右邊的 client 設定為訊息接收端,測試訊息的收送功能。

1. 在左邊的 client 新增兩個欄位標題為 "Subject" 和 "Data to Send",並以儲存格 ( 13,E)(14,E) 做為輸入欄位。然後加入一個 Publish 按鈕,其 Name 屬性為 "btnPublish"。

2. 在右邊的 client 新增三個欄位標題為 "Subject""Data Received","From Subject",並以儲存格 (13,J) 做為輸入欄位,(18,J) (19,J) 做為顯示欄位。然後加入一個 Subscribe 按鈕,其 Name 屬性為 "btnSubscribe2"。

3. 前面完成的結果如下圖。

圖十、工作表畫面

步驟二:為左邊的 Publish 按鈕及右邊的 Subscribe 按鈕加入程式碼。

圖十一、Publish 與 Subscribe 處理程式碼

步驟三:右邊的接收端會從 Event 接收到 iPush® 傳來的資料。收到 Event 之後,將資料顯示在剛剛定義的顯示欄位中。

圖十二、接收處理程式碼

步驟四:回到表單執行模式,將兩個 client 與 iPush® 連線成功之後,先在右邊的 client 要訂閱的 Subject 輸入 "lab3.test.receive",然後按 Subscribe 按鈕訂閱。接著在左邊 client 輸入 Subject 為 "lab3.test.receive",Data to Send 為 "Hello!",然後按下 Publish 按鈕。馬上我們會在右邊 client 的顯示欄位看到收到來自 "lab3.test.receive" 這個 Subject 傳來的資料 "Hello!"。

圖十三、左送右收

步驟五:我們將兩邊的收送功能加以完成。也就是兩端都可以發送及接收資料。請依照下圖加入所需的標題欄位。另外在左邊的 client 加入 Subscribe 按鈕,Name 屬性為 "btnSubscribe",右邊 client 加入 Publish 按鈕,Name 屬性為 "btnPublish2"。

步驟六:完成兩端的程式碼。在收到 iPush® 的 Event 之後,將資料顯示在剛剛定義的顯示欄位中。(左邊 client 的顯示欄位是 (18,E) (19,E),右邊 client 的顯示欄位是 (18,J) (19,J))

圖十四、完成後測試

下期繼續 Point-to-Point (Queue) 與 Guaranteed Message Delivery

好的,本次我們的實作到這邊暫時打住,在合計大約 50 分鐘的實作當中,我們已經在 Excel 裡面透過 iPush® 建立了即時訊息的收發功能,在下週的實作篇當中,我們將繼續把按鈕與程式碼建構完整,並且介紹 Point-to-Point (Queue) 與 Guaranteed Message Delivery 功能,敬請期待下週的技術實作。

[訊息先生信箱] Ask Mr. Message    Mr. Message  


<Developer Jason 來信詢問>

我使用 iPush® V2 ActiveX API 在 Excel 裡撰寫 VBA 程式,發現無法叫用到更新後的 iPush® ActiveX Control (xiPush2.ocx),請問該如何解決?

<Mr. Message 的答覆>

Jason 您好,雖然這件事情您應該問微軟,可是考量到我們對 ICE Developer 的體貼觀照,我們還是盡力回答這個問題。

根據 Mr. Message 的研究,之所以會有這個現象,是因為 Microsoft Office 中的 VBA 系統會進行 ActiveX Control Cache。

Office VBA 在初次叫用某 ActiveX Control 後,會把它的 Type Library 複製成一個 .exd 檔案,把它當成 Cache,爾後就只使用該檔案的資訊與 ActiveX Control 溝通。

但是在 ActiveX Control 更新的時候,並不會另外複製一份新的 .exd 檔案把舊的檔案蓋掉。所以囉,VBA 叫用到的,還是舊版的 ActiveX Control。

您可以透過下列的步驟,清除舊有的 ActiveX Control Cache:

  1. 首先在 Excel 中關閉 VBA 程式。

  2. 註冊要更新的 xiPush2.ocx 元件。

  3. 利用 Windows 的檔案或資料夾搜尋功能,在系統碟裡尋找 xiPush2.ocx 元件的 .exd 檔案 (即 xiPush2.exd)。

  4. 找到之後將其刪除。

  5. 在 Excel 中再開啟 VBA 程式。

大功告成。

歡迎來函詢問 Mr. Message 任何與訊息有關的技術、產品、應用、實作、商務問題,Mr. Message 必將竭誠答覆。

 go top

[艾揚快訊] ICE Express   ICE Developer Center  


<快訊>

兩岸實力派廠商會師武漢,艾揚夥伴日展現即時訊息技術於民生之大用 (02.17, 附照片兩張)

2004 年 2 月 17 日,由艾揚科技(武漢)有限公司主辦,武漢市政協台港澳僑暨海外聯絡委員會協辦,武漢土木建築學會計算機專業委員會為指導單位的「艾揚夥伴日2004:即時訊息的力量」活動,在武漢香格里拉大飯店圓滿落幕。

本次活動計有武大吉奧、泓格科技、精業公司、崧旭資訊、廈門帝岡、柏眾網控、柏元網控等兩岸多家從事工控、物業監控、水務、氣象、疾病管制、勤務管制與派遣等領域的知名系統整合與嵌入式系統製造商參與。這些兩岸領導廠商均使用艾揚的 iPush® Server 與 iPush® Embedded 中介軟體來解決相關資訊系統在遠距離下的即時監控問題。此次會師武漢,向各產業與事業單位主管展示艾揚夥伴的示範應用,除彰顯即時訊息技術所能創造的效益與價值外,也充分突顯了艾揚與夥伴協助各產業引進即時訊息解決方案的實力。

據艾揚科技(武漢)有限公司總經理葉志敏表示,即時訊息技術的應用範圍極廣,以智慧樓宇與智慧社區管理來說,目前存在於市場上的資訊方案,都著重在物業管理者使用的功能,普遍無法讓業主或居民直接查看。現在透過與 iPush® Server 系統整合,就可以讓業主與居民直接上網看到住家或辦公處所的即時畫面,甚至是將瓦斯、電力、溫度等異常警示即時訊息送到民衆的手機或 PDA。

另外,像是用於即時的疾病管制,可以透過與地理資訊系統的整合,在 SARS 或禽流感的疫情統計分析上,可以讓各區域的醫療點或疫情查報人員在以秒爲單位的時間內完成通報,並顯示在電子地圖上,讓決策者可以在最短的時間內,依區域進行不同的應變決策。

此次活動場內冠蓋雲集,武漢市委副書記殷增濤、副市長袁善腊、市人大常委副主任單大年等要員均出席並致詞,除表達對本次活動推動以高新技術來增進人民生活現代化、資訊化之肯定外,並對艾揚科技(武漢)公司正式掛牌營運表示祝賀。

照片 1、艾揚科技(武漢)有限公司總經理葉志敏開場致詞,揭開艾揚夥伴日序幕
照片 2、場內冠蓋雲集,兩岸實力派廠商會師武漢,共同參與艾揚夥伴日

詳細新聞,請連結艾揚科技新聞發佈區 >> Go !


上一期精采內容:iPush Server V2 訊息保證送達技術剖析


若您覺得本期內容值得參考,請轉寄給認識的朋友或同事,為國內的訊息技術社群發展盡一份力。感謝您。 

免費試用 iPush Server,請連結 ICE Developer Center 網站:http://www.icetech.com.tw/icedc,進行 Register → Login → GetLicense → Download 作業即可。

訂閱與取消訂閱本電子週報,請連結 ICE Messaging Weekly 網站:http://www.icetech.com.tw/icedc/weekly.shtml

查閱本電子週報舊有出刊內容,請連結 ICE Messaging Weekly 網站:http://www.icetech.com.tw/icedc/weekly.shtml

 

回艾揚即時訊息技術電子週報主頁 | 上一期  | 下一期

Copyright 2002-2004, 艾揚科技股份有限公司版權所有;歡迎轉寄。
關於電子報發送有任何問題,或是欲轉載內容,請連絡 icedc@icetech.com.tw
台北市 100 羅斯福路二段 9 號 12 樓之 1 ,TEL: +886-2-2396-1880,FAX: +886-2-2396-1881

Unsubscribe >>
欲取消訂閱艾揚即時訊息技術電子週報 (ICE Messaging Weekly),請 Mail 至 icedc@icetech.com.tw
主旨註明:取消訂閱艾揚即時訊息技術電子週報 即可。



艾揚科技股份有限公司  台北市 103 承德路二段 81 號 15 樓之 1   電話:+886-2-25586101   傳真:+886-2-25586102

Copyright © 2002-2008 ICE Technology Corporation. All Rights Reserved.