您的位置:逆风者 VB 正文
原作者:www.upwinder.com 添加时间:2007-09-01 原文发表:2007-08-31 人气:11 来源:未知

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:
Private Sub Form—Load()
‘程序说明部分:
Dim yy
Dim a,b,c As String
Dim ab As Integer
a=Time
a=Mid(a,7,1)'取当前时间秒数
Do
b=Time b=Mid(b,7,1)
If((Int(a)+1)Mod6)=Int(b)Them
'事件经过十秒
filename=Dir("C:\inbox\”,VBNormal)
'检测收件箱中有无邮件到达
If filename=""Then
Else Beep'若有邮件到达则震铃一次
End If a=b
End If checkfile=Dir("C:\tmp\flag.txt")
'检测应用程序是否结束
If checkfile="flag.TXT"Then
Kill"c:\tmp\flag.txt"
'若结束则删除标志文件并退出运行
GoTo exit1 End If
yy=DoEvents'响应其他挂起事件
Loop exit1:End End Sub
应用程序P1:
'调用程序P2.exe
Private Sub Form—Load()
'应用程序中其他初始化部分
b="c:\p2.exe“
retval=Shell(b,0)'将程序运行在后台
End Sub
'P1退出是关闭程序P2
Private Sub Command1—Click()
Open yhpath &"yhlog.log"ForAppendAs#2'应用程序退出写入日志文件
Print#2,Now,yhnamel;"用户退出"
Close#2
Open"c:\tmp\flag.txt"For Output As #1
'生成退出标志文件
Colse#1 End End Sub
本程序在简体中文Win95,Visual Basic 4.0上编译通过。利用上面介绍的方法,我们可以编写更多并行并发的应用程序,提高我们计算机的利用效率。

相关文章

利用VB6.0开发基于IIS的应用程序
窗体迁移大法
VB6在拖托盘中写入应用程序图标
多用户应用程序中应注意问题3
如何在VB6中导出EXCEL、FOXPRO格式的表
VB 神童教程第二章第十节——综合示例四
功能强大的SendMessage函数
做出分隔线
在VB中用API实现多媒体
在VB中利用UDP协议编写聊天程序
创建不规则窗口
Visual Basic 集成开发环境的元素
建立、改变及重构Access数据库
VB COM编程基础之子过程函数和参数
用VB实现用户登录密码的修改
VB编程基础课
统计字数
Visual Basic 的常见问题
VB编程的几个API函数的应用问题
字符串中包含双引号

相关评论


本文章所属分类:首页 VB

  热门关键字: