.支持庫 EThread
.支持庫 pop3
.支持庫 iext
.程序集 啟動窗口程序集
.程序集變量 郵件進度大小, 整數型
.程序集變量 郵件總數, 整數型
.程序集變量 郵件總大小, 整數型
.程序集變量 郵件大小, 整數型, , "0"
.程序集變量 是否快速瀏覽, 邏輯型
.子程序 __啟動窗口_創建完畢
郵件數據庫名 = 取運行目錄 () + “\郵件信息.edb”
附件數據庫名 = 取運行目錄 () + “\附件信息.edb”
.如果真 (打開 (郵件數據庫名, , , , , , ) = 假)
信息框 (“打開郵件數據庫錯誤”, 0, )
返回 ()
.如果真結束
.如果真 (打開 (附件數據庫名, , , , , , ) = 假)
信息框 (“打開附件數據庫錯誤”, 0, )
返回 ()
.如果真結束
載入 (登陸窗口, , 假)
.子程序 _接收郵件按鈕_被單擊
是否快速瀏覽 = 假
啟動線程 (&讀取郵件信息, )
.子程序 _刪除按鈕_被單擊
.局部變量 計次變量, 整數型
斷開收信服務器 ()
連接收信服務器 (登陸窗口.郵箱地址編輯框.內容, 到數值 (登陸窗口.端口編輯框.內容), 登陸窗口.用戶名編輯框.內容, 登陸窗口.密碼編輯框.內容, 到數值 (登陸窗口.等待時間編輯框.內容) × 1000, 到數值 (登陸窗口.重試次數編輯框.內容)) ' 服務器有可能斷開,需要重新連接
.計次循環首 (超級列表框.取表項數 (), 計次變量)
.如果真 (超級列表框.取當前狀態圖片 (計次變量 - 1) = 1)
.如果 (刪除郵件 (計次變量) = 真)
信息框 (“刪除成功”, #確認鈕 + #信息圖標, “刪除郵件”)
超級列表框.刪除表項 (計次變量 - 1)
.否則
信息框 (取郵件錯誤信息 (), #確認鈕 + #錯誤圖標, “發生錯誤”)
.如果結束
.如果真結束
.計次循環尾 ()
.子程序 _查看附件按鈕_被單擊
.如果真 (郵件索引 < 1)
信息框 (“沒有選擇郵件”, #確認鈕 + #警告圖標, “發生錯誤”)
返回 ()
.如果真結束
載入 (附件窗口, , 假)
_啟動窗口.可視 = 假
附件窗口.可視 = 真
.子程序 _復位按鈕_被單擊
.如果 (復位郵件 () = 真) ' 刪除的郵件全部被恢復,不能單個恢復
信息框 (“恢復刪除成功”, #確認鈕 + #信息圖標, “恢復刪除”)
.否則
信息框 (取郵件錯誤信息 (), #確認鈕 + #錯誤圖標, “發生錯誤”)
.如果結束
.子程序 _斷開按鈕_被單擊
斷開收信服務器 ()
.子程序 _郵件超文本內容按鈕_被單擊
.如果真 (郵件索引 < 1)
信息框 (“沒有選擇郵件”, #確認鈕 + #警告圖標, “發生錯誤”)
返回 ()
.如果真結束
載入 (超文本瀏覽窗口, , 假)
.子程序 _原始信息按鈕_被單擊
.如果真 (郵件索引 < 1)
信息框 (“沒有選擇郵件”, #確認鈕 + #警告圖標, “發生錯誤”)
返回 ()
.如果真結束
載入 (原始信息窗口, , 假)
原始信息窗口.可視 = 真
.子程序 _超級列表框_左鍵單擊表項
置當前庫 (郵件數據庫名)
.如果真 (超級列表框.取表項數 () > 0 且 超級列表框.現行選中項 > -1)
郵件索引 = 超級列表框.現行選中項 + 1
跳到 (郵件索引)
郵件內容編輯框.內容 = 讀 (7)
.如果真結束
.子程序 __啟動窗口_將被銷毀
全部關閉 ()
結束 ()
.子程序 _快速瀏覽按鈕_被單擊
斷開收信服務器 ()
連接收信服務器 (登陸窗口.郵箱地址編輯框.內容, 到數值 (登陸窗口.端口編輯框.內容), 登陸窗口.用戶名編輯框.內容, 登陸窗口.密碼編輯框.內容, 到數值 (登陸窗口.等待時間編輯框.內容) × 1000, 到數值 (登陸窗口.重試次數編輯框.內容)) ' 服務器有可能斷開,需要重新連接
是否快速瀏覽 = 真
讀取郵件信息 ()
.子程序 _重新登陸按鈕_被單擊
超級列表框.全部刪除 ()
接收進度條.可視 = 假
郵件內容編輯框.內容 = “”
_啟動窗口.標題 = “收件箱”
斷開收信服務器 ()
登陸窗口.可視 = 真
_啟動窗口.可視 = 假
.子程序 讀取郵件信息
.局部變量 邏輯返回, 邏輯型
.局部變量 循環次數, 整數型
.局部變量 計次變量, 整數型
.局部變量 郵件序號, 文本型
接收進度條.可視 = 真
超級列表框.全部刪除 ()
邏輯返回 = 獲取郵件信息 (郵件總數, 郵件總大小)
.如果真 (邏輯返回 = 假)
信息框 (“獲取郵件信息出錯:” + 取郵件錯誤信息 (), 0, “讀取郵件錯誤”)
返回 ()
.如果真結束
郵件總大小 = 郵件總大小 \ 1024
邏輯返回 = 獲取郵件大小 (-1, 郵件大小, 郵件總數)
.如果真 (邏輯返回 = 假)
信息框 (“獲取郵件大小出錯:” + 取郵件錯誤信息 (), 0, “讀取郵件錯誤”)
返回 ()
.如果真結束
_啟動窗口.標題 = “郵件總大小:” + 到文本 (郵件總大小) + “ k”
_啟動窗口.標題 = _啟動窗口.標題 + “ ***有 ” + 到文本 (郵件總數) + “ 個郵件”
置當前庫 (郵件數據庫名)
清空 ()
置當前庫 (附件數據庫名)
清空 ()
註冊郵件接收回調函數 (&回調函數)
.變量循環首 (1, 郵件總數, 1, 循環次數)
處理事件 ()
接收郵件序號 (循環次數, 郵件序號)
置當前庫 (郵件數據庫名)
.如果 (是否快速瀏覽 = 假)
郵件 = 接收郵件 (循環次數)
.否則
郵件 = 接收郵件前幾行 (循環次數, 10)
.如果結束
加記錄 (郵件.取發件人名稱 (), 郵件.取主題 (), 郵件.取日期 (), 郵件.取發件人地址 (), 郵件.取回復地址 (), 郵件.取附件個數 (), 郵件.取文本內容 (), 郵件.取超文本內容 (), 郵件.取原始信息 (), 郵件大小 [循環次數], 郵件序號)
顯示郵件信息 ()
置當前庫 (附件數據庫名)
附件 = 郵件.取附件 ()
.計次循環首 (郵件.取附件個數 (), 計次變量)
加記錄 (選擇 (附件 [計次變量].取是否嵌入式附件 (), 附件 [計次變量].取名稱 (), 附件 [計次變量].取文件名 ()), 附件 [計次變量].取類型 (), 附件 [計次變量].取大小 (), 附件 [計次變量].取編碼方式 (), 附件 [計次變量].取是否嵌入式附件 (), 附件 [計次變量].取數據 (), 郵件序號)
.計次循環尾 ()
.變量循環尾 ()
接收進度條.可視 = 假
信息框 (“接收完畢”, 0, )
.子程序 顯示郵件信息
.局部變量 表項索引, 整數型
表項索引 = _啟動窗口.超級列表框.插入表項 (-1, 讀 (1), , , , )
超級列表框.置標題 (表項索引, 1, 讀 (2))
超級列表框.置標題 (表項索引, 2, 到文本 (讀 (3)))
超級列表框.置標題 (表項索引, 3, 讀 (4))
超級列表框.置標題 (表項索引, 4, 讀 (5))
超級列表框.置標題 (表項索引, 5, 到文本 (讀 (10)))
超級列表框.置標題 (表項索引, 6, 到文本 (讀 (6)))
超級列表框.置標題 (表項索引, 7, 讀 (11))
.子程序 回調函數, 邏輯型
.參數 類型, 整數型
.參數 第幾封, 整數型
.參數 字節數, 整數型
.判斷開始 (#命令類型.接收郵件 = 類型)
_啟動窗口.標題 = “郵件總大小:” + 到文本 (郵件總大小) + “k ***有 ” + 到文本 (郵件總數) + “ 個郵件 ” + 到文本 (第幾封) + “/” + 到文本 (郵件總數)
.如果真 (郵件進度大小 ≠ 郵件大小 [第幾封])
郵件進度大小 = 郵件大小 [第幾封]
接收進度條.最大位置 = 郵件進度大小
接收進度條.位置 = 0
.如果真結束
接收進度條.位置 = 接收進度條.位置 + 字節數
.默認
.判斷結束
刷新顯示 ()
返回 (真)
+236732171 給原件