日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 工業(yè)控制 > 《機電信息》
[導讀]摘 要:介紹了Lotus Notes內 自帶的部分組件以及Domino接口 的應用 , 闡述了如何使用Domino接口結合VB6工 具來開發(fā)一個郵件擴展工具 , 實現批量查詢是否已讀、批量修改、批量撤回等便捷功能 。

引言

LotusNotes于1989年創(chuàng)立 , 是一個企業(yè)級通信、協(xié) 同工作平臺 ,擁有安全性高、易于管理等優(yōu)點 ,符合企業(yè)網對應用的要求 。筆者單位采用基于LotusNotes 7.0的定制版本作為內部協(xié)同辦公工具 , 由于該版本最后更新時間為2005年 ,許多功能已遠遠落后于時代 ,不夠人性化,給實際工作帶來了一定的阻礙。所幸Lotus Notes 自帶Lotusscript腳本語言可供開發(fā)人員在lotusdesigner中進行更多個性化開發(fā) ,并且提供了一個CoM類接口 ,可在VB、#C、java等語言中調用。

VisualBasic(以下簡稱"VB")是與Lotus同時代非常受歡迎的開發(fā)語言 , 具有易學易用、編程簡潔、可視化UI設計、程序集成化程度高等優(yōu)點 ,非常適用于快速開發(fā)小型窗體程序。

盡管VB在如今看來也是落后于時代的產物 ,但考慮到Lotusscript語法基本與VB相同以及VB開發(fā)窗體應用的便捷性 , 因此還是決定采用VB6作為開發(fā)工具引入LotusDominoobject組件進行郵件擴展工具開發(fā)。

1 需求分析

用戶在使用LotusNotes發(fā)送郵件操作中 ,難免會出現重要公文、郵件內容有誤或收件人有誤等情況 ,希望能立即撤回錯誤郵件并重新發(fā)送正確郵件 , 由于不希望錯誤內容被閱讀 ,所以整個過程越快越有利:在執(zhí)行刪除之前 ,有的用戶可能僅想知道郵件在收件人當中的已讀情況 ,根據已讀/未讀比例再進行下一步操作的決策:對于較小的錯誤 ,如果能實現靜默修正功能 ,更能改善用戶體驗。

LotusNotes7.0版本并沒有自帶查詢郵件是否已讀和撤回功能 ,并且從單位管理制度考慮 , 即使具有該功能, 由于無法被管理員有效監(jiān)管 ,可能會導致該功能被大量濫用 ,增加服務器負擔 ,甚至造成宕機風險 。傳統(tǒng)的方法是 ,用戶提出申請并得到管理員審核通過后 ,使用Notes自帶的郵件刪除工具進行刪除。

新建刪除命令 ,填寫所需刪除郵件的標題 ,必須保證完全相同。經過一系列繁雜的設置后啟動程序 ,該工具將會在服務器中遍歷搜索所有用戶數據庫中該郵件的數據 ,檢索到后則執(zhí)行刪除。整個過程非常漫長且卡頓,浪費算力 ,并且由于其檢索邏輯是以標題作為關鍵字,為避免被誤刪 ,所以用戶需要等待整個過程完成后才可以重新發(fā)出新郵件。管理員希望能減少人工操作 ,執(zhí)行快捷方便 , 并能自動導出相關日志記錄代替手工錄入 ,在執(zhí)行操作后用戶可以立即重新發(fā)送郵件 ,無須等待過程完成。

2 設計思路

第一步 ,分析數據結構 。根據官方提供的開發(fā)文檔以及在客戶端內查看郵件屬性 , 可以得到一封郵件的所有屬性字段(圖1) 。其中 , sMessageID為郵件標志 , sorig為郵件唯一標志(與sMessageID主要區(qū)別為 , 當一個用戶發(fā)件箱和收件箱皆有該郵件時 , 為確保sorig在該用戶數據庫中的唯一性 , 收件箱中郵件的sorig值會改變 ,而sMessageID則保持不變):sendTo為收件人數組:CopyTo為抄送人數組:BlindCopyTo為密送:From為發(fā)件人:subject為主題:PostDate為發(fā)件時間:Body為正文內容:IsNEwDoC為是否已讀標志 。以上為本次開發(fā)主要使用的屬性。

第二步 ,檢索郵件方式 。從數據結構來看 , 既然每封郵件有其自身唯一對應的主key , 比起note自帶的工具采用標題為關鍵字進行檢索 , 選擇使用sMessageID 會更加準確和高效 , 同時也支持標題精確檢索以及模糊檢索。

圖1 郵件屬性

第三步 ,進入收件人數據庫進行檢索 。由于每封郵件的收件人是有限的 ,無須全局遍歷檢索 ,只需要進入每個收件人的數據庫檢索即可 , 能夠節(jié)省大量的檢索時間 ??梢酝ㄟ^MessageID獲取該郵件對象 ,然后獲取 sendTo數據從而取得收件人列表。

第四步 ,檢索出來后讀取IsNEwD0C字段判斷郵件是否已讀 ,使用RemovePermanently(True)方法執(zhí)行刪除操作或ReplaceItemValue()方法執(zhí)行替換修改操作。

所有操作執(zhí)行完畢后 ,該郵件即已完全消失或者被修正 ,達到了郵件撤回或靜默修改的目的 ,操作結束。

3 窗體設計

根據設計思路第二步 ,用戶需要提供發(fā)件人信息以及需要撤回的郵件的MessageID , 因此繪制兩個輸入框 ,為了提供關于該郵件的更多信息以便管理員確認 ,故加上主題、發(fā)送時間、正文顯示區(qū)域 。繪制按鈕用以觸發(fā)檢索、修改及刪除等操作 。根據管理員需求 ,再繪制一個狀態(tài)區(qū)域 , 即運行過程細節(jié)展示區(qū)域以及導出日志按鈕。

4 開發(fā)

首先在VisualBasic 6中引用Lotus Domino 0bjects 接口組件(圖2) 。

主要用到以下幾個模塊代碼(僅列出部分核心代碼 ,非完整代碼) :

4. 1 核心方法介紹

Create0bject("Notes.Notessession"): 獲取當前Note登錄的session對象;GetDatabase("數據庫地址"" "names. nsf"):進入通信錄數據庫;search(): 方法搜索發(fā)件人地 址 ; GetFirstDocument () : 獲 取 第 一 條 搜 索 結 果 ; GetFirstItem(字段名):獲取指定字段;GetDatabase(服務器"數據庫):獲取數據庫;GetLastDocument():獲取搜索結果中的最后一 個文檔;emovePermanently(True)徹底刪除郵件(如果是false則是刪除到回收站);ReplaceItem Value(屬性"值):替換屬性值。

4.2 初始化

Dim aDC As 0bject;DimMaildocAs 0bject;Dim sessionAs 0bject;DimMaildbAs 0bject;DimviewAs 0bject;Dim a() As string;Dim arr() As string;setsession= Create0bject("Notes.Notessession")

4.3 檢索郵件

setMaildb = session.GetDatabase ("數據庫地址"""names.nsf") 1 進 入 通 信 錄 ;If Not Maildb.Is0pen Then Maildb.0pen;fajian=Text1.Text;setaDC= Maildb.search("owner=""" & fajian & """ & type=""Person"""" Nothing"

圖2 引用組件

0) ! 在 通 信 錄 中 搜 索 該 地 址 :set Maildoc = aDC. GetFirstDocument () ! 取得 該 條 文 檔 :set rtiteml =Maildoc.GetFirstItem ("Mailserver") !取得其所屬服務器sername= rtiteml.Text

setrtitem2 = Maildoc.GetFirstItem("MailFile") !取得其 數 據 庫 地 址 :dbname = rtitem2.Text:set Maildb =session.GetDatabase (sername, dbname) !進入其郵箱:IfNotMaildb.Is0penThenMaildb.0pen:IfCombol.Text ="MessageID" Then:docid = Left(Trim (Replace(Replace(Replace(Text2.Text, """", ""), Chr(l3), ""), Chr(l0), "")),49) !輸入郵件ID:Keyword = "@Contains(SMessageID:"""& docid & """)":EndIf:setaDC = Maildb.search (Keyword, Nothing, 0) !搜索該郵件:setMaildoc= aDC.GetLastDocument() !獲取該郵件:

set rtitem3 = Maildoc.GetFirstItem ("sendTo") !獲取收件人:set rtitem4 = Maildoc.GetFirstItem("CopyTo")"獲取抄送人:

setsubjectl=Maildoc.GetFirstItem ("subject") !獲取標題:

setposttime=Maildoc.GetFirstItem("PostedDate") !獲

取發(fā)件時間:

4.4 執(zhí)行查詢是否已讀/修改/刪除操作

setMaildb=session . GetDatabase ( "JMEP02MAD/servers/Geph", "names.nsf"): set aDC= Maildb.search ("owner=""" & a(i) & """ & type=""Person""", Nothing, 0)!查找收件人

setMaildoc= aDC.GetFirstDocument() :

setrtiteml = Maildoc.GetFirstItem ("Mailserver"):sername = rtiteml.Text:set rtitem2 = Maildoc.GetFirstItem ("MailFile") : dbname = rtitem2.Text: setMaildb = session.GetDatabase(sername, dbname)

0n Error Resume Next

CallMaildoc.RemovePermanently(True)

4.5 交互優(yōu)化

在上述核心代碼的基礎上 ,加入一些容錯機制、自動補全、群組收件人展開、按照主題模糊查詢、郵件批量修改、日志導出、僅刪除未讀等功能優(yōu)化客戶體驗 ,具體代碼不再贅述。

5 測試

開發(fā)完成后進行測試 ,順利運行成功(圖3)。

基于Visual Basic的Lotus Notes郵件擴展工具開發(fā)

6    結語

使用Domino接口與VB開發(fā)語言 , 既可以發(fā)揮Lotus NotN強大的文檔處理能力 ,又可以發(fā)揮VB友好的可視化功 ,并且開發(fā)快捷 ,工作效率提升明顯。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉