圖1
2.閱讀郵件
使用者資訊在伺服器上通過驗證以後,乙個有效的郵件會話就建立了,接下來要做的工作就是接發郵件。
pb用乙個mailmessage物件來描述一封郵件,該物件封裝了郵件的主題、位址、訊息體和附件等資訊。圖1是郵件應用程式的閱讀介面,它列出了收件箱中的所有郵件,可選擇其中一封進行閱讀。主視窗open事件的**為:
…… //連線到郵件伺服器
mymail.mailgetmessages()
//用收件箱中的郵件填充mymail物件
inum=upperbound(mymail.messageid)
//獲取收件箱中的郵件數目
for i=1 to inum //讀取收件箱中的每一封郵件,並將其主題新增到列表框中
mymail.mailreadmessage(mymail.messageid[i],msg, mailentiremessage!,true)
tab—1.tabpage—1.plb—1.additem(msg.subject,1)
next //msg為mailmessage型別的例項變數
在plb—1控制項的selectionchanged事件中加入下列**:
mymail.mailreadmessage(mymail.messageid[index],msg, mailentiremessage!,true)
sle—1.text=msg.subject
//顯示當前郵件的主題
sle—2.text=msg. recipient[1].address
//顯示發件人位址
sle—3.text=msg.datereceived
//顯示收件時間
mle—1.text=msg.notetext
//顯示郵件的訊息體
iattachmentfilenum=upperbound(msg.attachmentfile)
//獲取當前郵件的附件數目
for i=1 to iattachmentfilenum
strattfile= strattfile +msg.attachmentfile[i].pathname+″~r~n″
next //strattfile為string型別的例項變數
在「附件」按鈕的clicked事件中加入下列**:
messagebox(″郵件附件″, strattfile) //顯示當前郵件的附件及其在硬碟上存放的位置
3.傳送郵件
圖2是郵件應用程式的傳送介面,它接收收件人位址、郵件主題、訊息體和附件,用於填充乙個mailmessage型別的物件msg,然後傳送。「新增附件」按鈕用於選擇磁碟檔案,其clicked事件**為:
圖2 string docname, named
integer value
value = getfileopenname(″選擇附件″, docname, named, ″doc″, ″all files (*.*),*.*″)
if value = 1 then
plb—2.additem(docname,1)
//docname中必須包含完整的路徑資訊
「刪除附件」按鈕用於把已新增的檔案去掉,其clicked事件**為:
ind= plb—2.selectedindex()
if ind〈〉-1 then plb—2. deleteitem(ind)
「傳送」按鈕的clicked事件**為:
msg.subject=sle_4.text //郵件主題
msg.notetext=mle—2.text //訊息體
msg.recipient[1].recipienttype=mailto!
//指定收件人型別為mailto!
msg.recipient[1].address=′**tp:′+sle—5.text
//收件人位址,前面必須加上**tp協議
for i=1 to plb—2.totalitems()
//把選中的檔案加到附件中
msg.attachmentfile[i].filetype=mailattach! //指定附件i的型別
msg.attachmentfile[i].pathname= plb—2.text(i) //附件i的完整檔名
next
mymail.mailsend(msg) //傳送郵件
4.結束郵件會話
在「退出」按鈕的clicked事件中加入下列**:
mymail.maillogoff() //結束郵件會話
destroy mymail //銷毀會話物件
至此,乙個簡單的郵件應用程式就編好了,它雖然還不足以和foxmail、outlook相媲美,但已經具備了它們最基本的功能。
例子中的程式在pb6.5中除錯通過,大部分**可以直接利用
用PB編寫郵件應用程式
由於受到強大資料庫功能的掩蓋,pb的郵件功能鮮為人知。在vb中可以輕鬆地利用cdo控制項發郵件 delphi中用nm tp 而pb中的郵件函式比它們更靈活 方便。pb以其獨特高效的資料庫訪問技術,贏得了廣大程式設計師的青睞。從表面上看,它似乎只適合於開發資料庫應用程式,而事實上,pb遵照信報介面ma...
用 eVB編寫移動應用程式
用 embedded visual basic 編寫移動應用程式 larry roof tonked.com 2001年5月9日 本文最初發表在 msdn online voices 的 two for the road 專欄 選擇 windows ce for the pocket pc 模板,然...
用BCB編寫多執行緒應用程式
隨著windows系統的全球性普及,多執行緒技術已越來越多地運用到許多軟體設計中。使用多執行緒技術可全面提高應用程式的執行效率。以前為了實現多執行緒程式設計,基本上都是呼叫一系列的api函式,如createthread resumethread等,不容易控制,還容易出錯。在使用bcb以後,我才發現原...