在VB中模拟实现邮件传输

2016-02-19 12:54 5 1 收藏

今天图老师小编给大家展示的是在VB中模拟实现邮件传输,精心挑选的内容希望大家多多支持、多多分享,喜欢就赶紧get哦!

【 tulaoshi.com - 编程语言 】

VB作为一种面向对象的Windows应用程序的开发软件,以其功能强大和简单易用的编程手段受到广大编程人员的喜爱。VB中提供了许多用于Windows程序设计的控件和大量的函数,本文就将告诉您怎样利用VB中的函数来实现邮件传输的功能。
  首先我们在服务器上按照不同的帐号建立了不同的工作目录,采用NFS协议将多台PC终端连接到服务器。这样,邮件发送的问题就变成了文件从一个目录移到另一个目录的问题,在VB中可通过简单的Filecopy与Kill语句来完成。下面遇到的问题是如何接收到一个新邮件,并在应用中及时提醒用户邮件的到来。这就需要编写一个时刻运行的检测程序,在应用中直接加入这一过程后则原来应用中的操作得不到及时响应。这里我们采用了Dir,DoEvents,Shell三个函数解决了这个问题。
  Dir:用于判断目录下是否有文件,及某个文件是否存在。
  DoEvents:使CPU返回Windows控制,响应挂起事件。
  Shell:在应用中执行其它应用程序。
  Windows是一个多任务的操作系统,它在执行任务同时可检测事件并响应它。
  利用这一特性,我们采用DoEvents和Shell可实现多个程序的同时运行。当应用程序启动后,我们用Shell同时启动P2程序。P2程序每隔10秒检测一次缓冲目录,若有文件到达则提示警告信息。一切操作过程中,用户感觉不到应用的中断。这里用DoEvents函数实现了应用程序的响应,用Dir函数检测缓冲目录,当应用程序退出时,同时生成一个标志文件FLAG.TXT。P2程序检测到后,结束运行并删除标志文件。警告信息可以使用声音,图像等多种方式,可根据各自的需求自行设计,编译后嵌入P2程序中,这里就不一一详述了。
  程序代码如下:
  应用程序P2:
  PrivateSubForm—Load()
  ‘程序说明部分:
  Dimyy
  Dima,b,cAsString
  DimabAsInteger
  a=Time
  a=Mid(a,7,1)'取当前时间秒数
  Do
  b=Timeb=Mid(b,7,1)
  If((Int(a)+1)Mod6)=Int(b)Them
  '事件经过十秒
  filename=Dir("C:inbox”,vbNormal)
  '检测收件箱中有无邮件到达
  Iffilename=""Then
  ElseBeep'若有邮件到达则震铃一次
  EndIfa=b
  EndIfcheckfile=Dir("C:mpflag.txt")
  '检测应用程序是否结束
  Ifcheckfile="flag.TXT"Then
  Kill"c:mpflag.txt"
  '若结束则删除标志文件并退出运行
  GoToexit1EndIf
  yy=DoEvents'响应其他挂起事件
  Loopexit1:EndEndSub
  应用程序P1:
  '调用程序P2.exe
  PrivateSubForm—Load()
  '应用程序中其他初始化部分
  b="c:p2.exe“
  retval=Shell(b,0)'将程序运行在后台
  EndSub
  'P1退出是关闭程序P2
  PrivateSubCommand1—Click()
  Openyhpath&"yhlog.log"ForAppendAs#2'应用程序退出写入日志文件
  Print#2,Now,yhnamel;"用户退出"
  Close#2
  Open"c:mpflag.txt"ForOutputAs#1
  '生成退出标志文件
  Colse#1EndEndSub
  本程序在简体中文Win95,VisualBasic4.0上编译通过。利用上面介绍的方法,我们可以编写更多并行并发的应用程序,提高我们计算机的利用效率。->

来源:https://www.tulaoshi.com/n/20160219/1602403.html

延伸阅读
尽管Windows的API函数在当今Visual成风的时代正渐渐被人们忘却,但是正如当年开发高技巧的DOS软件离不开汇编语言和DOS系统功能调用一样,无论开发平台高级到什么地步,只要Windows还在最底层运作,就要用到API函数。无论VB的开发手段多么高明,功能多么强大,但是在现实应用中,总有一些功能的实现是VB无能为力的。微软也早意识到这一点,...
在开始编写代码之前,先添加对Outlook8.0objectlibrary的引用。 代码如下: OptionExplicit DimAppAsObject DimItmAsObject SetApp=CreateObject("Outlook.Application") SetItm=App.CreateItem(0) WithItm .Subject="AtipfromvbCodeMagician" .To="newvb@21cn.com" .Body="VB编程...
在VB中用API实现多媒体主要是调用Windows的mmsystem.dll库。以下为调用API的声明(这些代码放在程序的声明部分中): 1.′播放CD和AVI所需要的声明。 DeclareFunctionmciSendStringLib″MMSYSTEM″(ByVal lpstrCommandasString,ByVallpstrReturnStrasAny,By ValwRetumLenasInteger,ByValhCallBackasInteger)as Long ...
标签: Web开发
HTML帮助文件是WINDOWS基本帮助系统的一种新标准,在WINDOWS 98中我们到处都可以看到它的身影。作为一种时尚,我们的应用软件自然也不能够落后,于是我就着手将原来的帮助文件重新编译为HTML帮助文件。从VISUAL STUDIO 98中可以找到 HTML HELP WORKSHOP,使用方法不是太难,由于我有自己的个人网站,制作HTML 文件自然也不在话下。很快,一...
AVI文件是语音和影像同步组合在一起的文件格式。在VB50中用MMControl多媒体控件设计播放AVI文件的程序步骤如下: 1新建一个工程。 2在Form1上建立一个MMControl控件,并建立一个图片框。 3设定MMControl对象的按钮属性。 4撰写程序如下: PrivateSubForm_Load() MMControl1.DeviceType=″avivideo″ MMCo...

经验教程

903

收藏

59
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部