博文

在VB、VFP应用系统中收发邮件 (2006-04-17 21:08:00)

摘要: 在VB、VFP应用系统中收发邮件       E-mail是Internet/Intranet网上通信的最主要的方式之一,充分利用E-mail 的功能可以极大地提高企业的工作效率,减轻用户的工作负担。Windows 95中提供了一个名为Exchange的电子邮件客户程序,它包含了收件箱、发件箱、收发消息、消息优先级等功能,广泛支持超文本消息、收发传真和Internet邮件等内容,可以在LAN、Microsoft Fax、远程邮件、Internet等多种软件环境中工作。在VFP、VB开发的应用系统中结合Exchange的邮件服务功能,可以使您的应用系统功能更强大、服务更完善、使用更方便。下面介绍VB、VFP的MAPI控件以及在VB、VFP应用系统中使用这些控件收发E-mail的方法。    一.MAPI控件概述    MAPI(通信应用程序接口)控件,即MSMAPI32.OCX,包括两个OLE控件:MAPISession(MAPI工作期)控件和MAPIMessage(MAPI消息)控件。MAPISession控件的功能是负责建立会话、取消会话的一个MAPI工作期。MAPIMessage控件则提供了发送、接收等所有对电子邮件进行处理的功能。    MAPISession控件用来注册一个新工作期和注销当前工作期。注册时,首先   用MAPISession控件的SignOn方法建立与E-mail服务器的会话连接,显示完注册对话框后,SessionID属性包含了刚注册的MAPISession的句柄。此句柄最终必须传递给MAPIMessage控件,在结束当前MAPISession工作期之前,必须先注销该工作期。然后再用MAPIMessage控件的SessionID属性同有效的会话联系起来,执行一系列消息系统函数,实现收发邮件的功能。    二.MAPI控件的主要属性    (1)MAPISession控件的属性:    Action属性:当MAPISession控件被激活时,该属性将决定执行什么操作。    LogonUI属性:该属性指定是否显示注册对话框。当其值为“真”时,则出   现一个对话框提示新用户输入用户名和口令;当其值为“假”时,则不显示对话框。  ......

阅读全文(6580) | 评论:0

:用Internet Transfer编写FTP程序(2006-04-17 21:07:00)

摘要: 到首页 新闻主页 上一篇 下一篇 时间:2002.1.27 于重庆 主题:用Internet Transfer编写FTP程序 内容:
常上网的人都对FTP熟悉得不能再熟悉了,它是文件传输协议的英文缩写,所谓文件传输协议就是人们规定的在网络间传输文件的一组规定,里面规定了数据包的格式、数据包头部结构、命令结构等等。其实要想实现FTP的功能并不是很难,下面我们就来介绍一下如何作一个简单的Windows界面的FTP程序。
  其实我们常用的VC和VB等开发工具就可以轻松搞定,下面我们就来说说在VB中使用Microsoft Internet Transfer 控件实现FTP的功能。
  Internet Transfer控件,支持HTTP(超文本传输协议)和FTP(文件传输协议),超文本传输协议就是我们的浏览器传输网页时使用的协议,也就是说你也可以用它作一个浏览器。我们这里主要讨论文件传输协议FTP。
  首先创建一个新工程,在你的工具箱上添加Microsoft Internet Transfer 控件,并放到你的主窗体上,注意看它的属性:
  Protocol指所用的协议,我们这里选2-icFTP,就是FTP协议。
  UserName和Password是这样的:UserName和Password都给null或“"时,发送到FTP Server的UserName是“anonymous",Password是用户的Email,当UserName给null或“",而Password为非空字符串时是错误的,其他情况正常。
  RemoteHost写FTP Server(就是你要连到的那台主机,你可以在程序中动态地给这个属性赋值,以适应连接到不同的主机上)的域名地
  址或IP,RemotePort在你指定FTP协议时自动被设置成21,URL属性由RemoteHost、RemotePort、Protocol等几个属性内容组合而成,如果前面已经给出这些值,VB会自动生成URL,以上这些属性均可以在程序中动态赋值,使你可以更灵活地运用这个控件。
  下面说说这个控件的方法(Method):
  1、OpenURL,调用该方法会连通FTP Server属性中指定的主机,并返回它的Welco......

阅读全文(2781) | 评论:0

怎样接收电子邮件(POP3协议简介)(2006-04-17 21:04:00)

摘要:时间:2002.02.27 于重庆 主题:怎样接收电子邮件(POP3协议简介) 内容:

怎样接收电子邮件(POP3协议简介)
在Internet,POP3(Post Office Protocol 3)协议通常被用来接收电子邮件。这个协议很容易学,因为它只包含12个命令(其中有3个你完全可以忽略它们的存在)。这些命令被客户端计算机用来发送 给远程服务器。反过来,服务器返回给客户端计算机两个回应代码。如果你还没有看本站另一篇文章-“Winsock Terminal 示例程序”的话,请先阅读那篇文章,因为你需要那个程序来做实验。 运行示例程序,单击工具栏上的"Connect to"按钮。在弹出的对话框中输入你要连机的邮件服务器的地址例如: mail.comset.net 选择POP3协议,然后单击"Connect"按钮。如果成功的话(如果出错,肯定是你服务器地址有问题,别怀疑到程序头上来),你会在文本框中看到服务器返回给你的信息。我的服务器的应答如下: +OK POP3 mail.comset.net v5.49 server ready 这个字符串告诉你连机成功了。不同服务器的回应会有所不同,但开头部分都是一样的,那就是:
"+OK"。它的意思是服务器接受客户端计算机所使用的命令顺序及语法。如果开头是"-ERR",则表示你使用了错误的命令。在你的应用程序中,只须处理来自服务器的回应的前面几个字符。这么小的处理量正是POP3相对其它协议的优势所在。 授权状态 好了,现在我们已经建立了同服务器的连接并且从服务器那里得到了肯定的回答。接下来要做的就是告诉服务器你的身份。服务器要管理成千上万个邮箱并不是件好难的事。它已为每个邮箱建立好了一个帐户。每个帐户由用户名和密码构成。当你连上服务器后,要发送的第一个命令就是USER,用户名是该命令的参数。具体写法如下: USER username 如果用户名已注册,服务器将返回一条正确的消息,然后你就可以输入下面的命令,告诉服务器你的密码。 PASS password 如果用户名和密码吻合的话,服务器同样会返回一条正确的消息,告诉你可以进入下一阶段,即TRANSACTION state. TRANSACTION状态 为了知道你的邮箱中目前有多少封邮件以及这些邮件的大......

阅读全文(4107) | 评论:2

使用VB收发电子邮件(2006-04-17 21:01:00)

摘要:时间:2002.1.27 于重庆 主题:使用VB收发电子邮件 内容:
作者:吴斌
发送和接收电子邮件,对于某些执行特殊任务的应用程序而言,是一个十分有用的功能。例如,一个监视网络服务器资源使用情况的工具软件,如果它具有自动发送电子邮件的功能,那么当它发现服务器的资源使用已经接近事先设定的临界状态时,便可以向系统管理员发送一封告警的电子邮件,从而使系统管理员能够及时地采取措施,以避免重大事故的出现。在Visual Basic中,应用程序可以通过调用微软公司的MAPI(Messaging Application Programming Interface,消息应用程序编程接口),实现收发电子邮件的功能。笔者将在本文中结合简单实例,向大家介绍在VB程序中实现电子邮件收发功能的编程方法。
编制具有收发电子邮件功能的VB程序,必须使用Visual Basic 4.0以上的版本,因为只有4.0以上的Visual Basic才带有两个实现电子邮件收发功能的核心控件:MAPI会话控件和MAPI消息控件。MAPI会话控件用于建立和控制一个Microsoft Mail会话,MAPI消息控件用于创建和收发邮件消息。此外,程序必须运行在采用遵从MAPI的消息系统(如:Microsoft Exchange、Microsoft Mail、Outlook等)的环境中。
在开始编程之前,首先需要将MAPI控件加入VB工具箱。具体操作是:在VB菜单栏中选择Tools菜单项中的Custom Controls命令,调出"Custom Controls"对话框,在其中的"Available Controls"列表框中选中"Microsoft MAPI Controls"表项,然后按"OK"命令按钮退出该对话框。此后,工具箱中将新添两个图标,这就是MAPI会话控件和MAPI消息控件的图标。 下面,笔者将以两个简单的VB程序为例,分别介绍发送邮件和接收邮件的程序编制方法。 邮件发送程序
邮件发送程序的基本处理过程是:根据用户输入信息组成邮件,然后使用MAPI
消息控件的Send方法将邮件发出。编程步骤如下:
1、新建一个VB项目。
2、将缺省窗体Form1的Caption属性设置为"发送邮?quot;。
3、将MAPI控件加入VB工具框。
......

阅读全文(2512) | 评论:0

三十岁之前和之后的男人(2006-04-16 16:51:00)

摘要:男孩子本不想变坏,不是吗?
 自:Club.ChinaRen.com
  十岁以前,他什么都不懂,就不说了。
 自:Club.ChinaRen.com
  十三、四岁的时候,开始对女孩有好感,但是那时候他离女孩远远的,并且以讨厌女孩自居,生怕被同伴嘲笑。
 自:Club.ChinaRen.com
  十五岁的时候,听到大人们说某某男人好花,把女朋友甩了,女孩自杀了。他觉得这人真狠毒,自己将来一定要做个痴情的男人,一定要一生只爱一个人。
 自:Club.ChinaRen.com
  十六岁的时候,他喜欢上了一个女孩,但是他不敢和她说。仍然和往常一样,脏兮兮的在灰土飞扬的操场上踢球。只在女孩走出校门的时候,躲在二层的窗户上看她的背影,他觉得她一定是个天使。
 自:Club.ChinaRen.com
  十七岁的时候,有个女孩喜欢上了他,但是他离她很远,他心里面只有自己那个女孩,他觉得看别的女孩都是对她的不忠。
 自:Club.ChinaRen.com
  十八岁的时候,看了一个MTV,感动得想哭,他想,如果自己的女孩失去了双眼,他一定会像男主角会毫不犹豫的把自己的眼睛给她,让她能看到光明。
 自:Club.ChinaRen.com
  十九岁的时候,高考了。终于和自己暗恋的女孩分别,坐火车去学校的时候,感觉自己离她越来越远,心像被掏空了一样。还在想自己一定不会忘记她,等到自己成功以后一定要去找她。
 自:Club.ChinaRen.com
  二十岁的时候,听到有人讲黄色笑话,觉得这人真可耻。
 自:Club.ChinaRen.com
  二十一岁的时候,她的回信中告诉他,自己有了男朋友。偷偷的哭了一个晚上。
 自:Club.ChinaRen.com
  二十二岁的时候,他向一个女孩表白,女孩说“你是个好人,可是我还小。”他想,我的确是个好人,他说“没关系,我可以等你。”心想,我不会像那些花心的人一样,三年五年我也能等。
 自:Club.ChinaRen.com
  二十三岁的时候,说自己还小的女孩和一个帅哥恋爱了。他很纳闷,长大原来可以这样快。
 自:Club.ChinaRen.com ......

阅读全文(2000) | 评论:1

为人父母者必读(月上泪痕泣血而著)(2006-04-16 12:47:00)

摘要:我毕业于武汉一所名牌大学,毕业后在武汉一家公司做经理助理。我有167的身高,有一头垂直的秀发,有撩人的身材,有年轻漂亮的脸蛋。我没想到,就是因为拥有这一切,便成了我走向深渊的第一步!
  因为我的这些先天资本,每次经理去跟客户谈生意,都要带上我,初出社会的我,并不知道世界是这么肮脏和可怕的。我酒量不好,可是每次经理都拼命的让我陪客户喝,我总是小心翼翼,既怕得罪客户又怕经理不高兴,还怕喝醉出丑。
  就在我工作的第三个月,经理又带我去见客户,那次我被一桌子的男人灌醉了。那夜,在白玫瑰大酒店,我被经理夺走了贞操!
  当我醒来的时候,我痛不欲生,想从楼上跳下去,结束自己的生命。可是经理拉住了我,他跪了下来,说:他是真的喜欢我,希望我嫁给他!
  听着他的话,想着自己已经成了他的人,想着远在家乡的父母,想着一切的一切,我摊倒在地上,哭了起来。
  现在我来说说我这个经理,他是湖*省荆州市人,中专毕业,身高不足165CM,从18岁开始创业,现在30多岁,事业有成,还没成家。
  自从被他玷污后,我就没去上班,我把自己天天关在房间里,日日夜夜的哭,我没有了活下去的勇气,我不知道以后怎么有脸见人,我心中美好的爱情向往已经破碎,我已经配不上我那青梅竹马远在北京读研的男友,我的一切都在霎那间被毁了。我想逃离,想找个没人认识我的地方过死水般的日子。
  我平静的想了2个月,哭着给男友写了分手的信,毅然决定去公司拿回我的东西,辞职走人。可是这时候,我发现自己怀孕了。
  我的思想再次起了莫大的变化! 我YJ一直没来,偷偷买了个早早试孕纸,检测结果呈阳性。我欲哭无泪,不知道该怎么办才好。我在医院门口来回徘徊了好几天,可是始终没勇气进去。
  对于一个不久前还是少女的女孩来说,被玷污,怀孕,这双重的打击不是一般人能承受的,绝望,痛苦,混在一块,让自己生不如死。
  我不敢去医院,我觉得很丢人,我不知道该怎么办;我心里充满了恨!我控制不住自己的情绪,我拨通了那个男人的号码,开始劈头盖脸的骂,开始嚎嚎大哭!他弄清楚我现在所在的地方,开车来接走了我!
  他把我接到一所公寓,开始细心劝慰我,一边利用我的无知的善良,说孩子已经成形,是条人命,难道我就忍心杀死他?!一边痛哭流涕的说着他多么爱我,为了我什么都愿意付出,现在木已成舟,让我......

阅读全文(4351) | 评论:6

Windows操作进阶 右键菜单终极锤炼术(2006-04-15 19:35:00)

摘要: 转载自《中关村在线》   你是不是常因为系统的右键菜单过于臃肿但又不知如何清理而烦恼?你是不是希望能扩展右键菜单的功能,让操作变得更加快捷?如果是的话,那么就让我们一起来看看右键菜单的秘密(文中的例子适用于Windows XP操作系统)。

指定文件类型的右键选单

     为特定的文件类型右键菜单添加选项可以通过修改注册表来实现,只不过有一种更为简单并且安全的方法,也就是在文件夹选项中进行修改。

     例如要在MP3文件右键菜单中增加一项“用MPlayer2(Windows Medis player 6.4)播放”,具体操作如下:依次单击资源管理器“工具”|“文件夹选项”|“文件类型”,在已注册文件类型列表框中选中“MP3”,点击下方的“高级”按钮,在弹出的对话框中单击“新建”按钮,然后在“操作”文本框中输入“用MPlayer2播放”,在“用于执行操作的应用程序”框中输入“"C:Program FilesWindows Media Playermplayer2.exe" /Play "%L"”,确定后退出文件夹选项即可 文件类对象的右键选单

     为文件类对象添加右键菜单项,需要通过修改注册表来实现。举一个简单的例子,为文件类对象增加一个“设为隐藏属性”的菜单项,具体操作方法如下:

     运行Regedit, 在注册表HKEY_CLASSES_ROOT*分支下新建一项“Shell”,并在该项下级再创建一个新项“AttHide”,修改右侧窗格中“默认”键值为“设为隐藏属性”,然后在“AttHide”下级再创建一新项,命名为“Command”。

     在注册表HKEY_CLASSES_ROOT*shellAttHideCommand右侧窗格中双击“默认”键值,弹出“编辑字符串”对话框,在“数值数据”框中输入“att......

阅读全文(3667) | 评论:0

文本的加密与解密(2006-04-12 20:42:00)

摘要:   文本的加密与解密 文本的加密与解密
  在VB中,由于随机数生成器是伪随机数,所以根据其原理可以用于文本的
加密和解密,根据异或逻辑运算,加密和解密可以是同一个过程。
  加密与解密函数代码如下。

'加密与解密函数说明:
'  CharSting  加密或解密的数据
'  Key     加密或解密的密钥
'函数返回值:
'  1. CharString为空时返回"1"
'  2. 加密或解密失败返回"0"
'  3. 成功则返回加密或解密后的字符串
Public Function EDcode$(CharString As String, Key As Integer)
  Dim X As Single, i As Long
  Dim CharNum As Integer, RandomInteger As Integer
  Dim CharSingle As String * 1
  On Local Error GoTo EDcodeError
  EDcode$ = ""
  If Len(CharString) = 0 Then
    EDcode$ = "1"
    Exit Function
  End If
  X = Rnd(-Key)
  For i = 1 To Len(CharString)
    CharSingle = Mid$(CharString, i, 1)
    CharNum = Asc(CharSingle)
    RandomInteger = Int(256 * Rnd) And &H7F
    CharNum = CharNum Xor RandomInteger
    CharSingle = Chr$(CharNum)
    EDcode$ = EDcode$ + CharSingle
  Next i
  Exit Function
EDcodeError:
  EDcode$ = "0"

阅读全文(3021) | 评论:0

文件系统控件(2006-04-12 20:32:00)

摘要: 文件系统控件 在一个应用程序中,对文件的处理是一个比较常用的操作,如打开文件、保存文件,等等。Visual Basic 提供了三个控件对磁盘文件夹与文件进行显示与操作,它们分别是:驱动器列表框控件(DriveListBox)、目录列表框控件(DirList)和文件列表框控件(FileListBox)图一 浏览图片的应用程序界面如下:     这三个控件通常组合在—起使用。 虽然这三个控件都是文件系统控件,但每个控件对于其它控件来说又是相对独立的。也就是说,当用户在驱动器列表中改变当前驱动器时,目录列表框中的内容将不会随之改变。若要使这三个控件关联起来,必须在程序中添加相应的代码。      一、DriveListBox(磁盘列表框)控件:     在工具箱面板上,DriveListBox 控件的图标如图二:     
图二     在窗口中创建的磁盘列表框可以自动显示电脑上或网络上的所有磁盘驱动器,另外,还可以通过语法设置运行时显示的驱动器名称,这就要用到 Drive 属性。     磁盘列表框名称.Drive = Drive(如 C: ,或者 D:,等等)。     比如,要在窗体启动时把当前磁盘改为 F 盘,那么:     Private Sub Form_Load()
  Drive1.Drive = "F:"
End Sub           
图三     二、DirListBox(文件夹列表框)控件:     在工具箱面板上,DirListBox 控件的图标如图四:      ......

阅读全文(4030) | 评论:0

FSO对象模型在VB中的应用 (2006-04-11 22:24:00)

摘要:FSO对象模型在VB中的应用
从 Visual Basic 的第一版至今,VB中有关文件的处理都是通过使用 Open 、Write以及其它一些相关的语句和函数来实现的。随着软件技术的不断发展,加上面向对象编程概念的日臻成熟,这些文件操作语句已经不能适应软件不断增加的复杂程度的需要了。因此,从VB6.0开始,微软提出了一个全新的文件系统对象FSO。
一、简介
文件系统对象FSO的英文全称是File System Object ,这种对象模型提出了有别于传统的文件操作语句处理文件和文件夹的方法。通过采用object.method这种在面向对象编程中广泛使用的语法,将一系列操作文件和文件夹的动作通过调用对象本身的属性直接实现。
FSO 对象模型不仅可以象使用传统文件操作语句那样实现文件的创建、改变、移动和删除,而且可以检测是否存在指定的文件夹,如果存在,那么,这个文件夹又位于磁盘上的什么位置。更令人高兴的是FSO 对象模型还可以获取关于文件和文件夹的信息,如名称、创建日期或最近修改日期等以及当前系统中使用的驱动器的信息,如驱动器的种类是CD-ROM还是可移动磁盘,当前磁盘的剩余空间还有多少。而以前要获取这些信息必须通过调用Windows API函数集中的相应函数才能实现。
FSO对象模型包含在Scripting 类型库 (Scrrun.Dll)中,它同时包含了Drive、Folder、File、FileSystemObject和TextStream五个对象。其中Drive用来收集驱动器的信息,如可用磁盘空间或驱动器的类型;Folder用于创建、删除或移动文件夹,同时可以进行向系统查询文件夹的路径等操作;File的基本操作和Folder基本相同,所不同的是Files的操作主要是针对磁盘上的文件进行的;FileSystemObject是FSO对象模型中最主要对象,它提供了一套完整的可用于创建、删除文件和文件夹,收集驱动器、文件夹、文件相关信息的方法。需要注意的是,FSO对象模型提供的方法是冗余的,也就是说在实际使用中,FSO对象模型中包含的不同对象的不同方法进行的却是同样的操作,而且FileSystemObject对象的方法直接作用于其余对象,所以在后面的文章中并没有单独提到FileSystemObject对象,千万不要以为没有提到就不重要......

阅读全文(1871) | 评论:0