博文
用VB进行移位操作(2006-05-05 22:28:00)
摘要:用VB进行移位操作
VB没有提供移位操作的指令和函数,只提供and(与)、or(或)、xor(异或)、eqv(同或)、not(非)等几个运算符,
而编程时有时需要对一个字节进行移位操作(如进行加密),怎么办?其实只用and、or二个运算符即可搞掂。
例如要将变量byte1的第八位置1(假设byte1的二进制值为01001101),则只需byte1 or &h80 (即01001101 or 10000000),
如要将第八位置0,则只需byte1 and &h7f。请看下面程序段是如何实现循环左移的:
Public Function byteleft(byte1 As Byte, n As Integer) As Byte '将byte1左移n位
Dim intem As Byte '临时变量
Dim intem1 As Byte '临时变量
Dim x, y As Integer
intem1 = byte1
For x = 1 To n '移多少位就循环多少次
For y = 8 To 1 Step -1 '从第八位(左边第一位)开始循环左移
Select Case y
Case 8
If (intem1 And &H80) = &H80 Then '如果临时变量intem1的第八位是1,
intem = &H1 '则将临时变量intem置1,
Else
intem = &H0 '反之置0
End If
Case 7
If (intem1 And &H40) = &H40 Then '如果临时变量intem1的第七位是1,
intem1 = intem1 Or &H80 '则将其第八位置1(其它位不变),
Else
intem1 = intem1 And &H7F '反之将第八位置0(其它位不变)
End If
Case 6
If (intem1 And &H20) = &H20 Then '操作与上面相同
intem1 = intem1 Or &H40
Else
intem1 = i......
Visual Basic 6.0网络编程的五大散手(2006-04-17 21:42:00)
摘要:
Visual Basic 6.0网络编程的五大散手
http://www.sina.com.cn 2005年04月27日 08:41 天极yesky
作者: 杨冶军
Visual Basic 6.0(以下简称VB 6)以其强大的功能为广大软件开发人员所喜爱,被用来开发各种应用程序。随着Internet的迅猛发展,VB6在网络方面的应用开发也越来越多。本文介绍笔者在实际编程开发中总结的5个技巧,希望能为进行网络开发的朋友们提供一点参考。
连通检测
许多应用程序常常需要在程序中直接进行联网操作,以便进行一些必要的处理(如在线注册和在线帮助等),这就要求我们在程序中建立某些连接。很多软件在不知用户是否联网的情况下就启动浏览器查找网址,结果只能查出一错误网页,既浪费用户时间又没有任何效果。如果应用程序在查找网页之前能自动判断用户是否已经联网,就会节约许多时间,提高程序运行效率。
下面是实现网络连通检测的VB 6代码:
Private Sub Form_Load()
If IsConnected = TRUE Then
MsgBox ("您已经连通了Internet!")
End If
If IsConnected = FALSE Then
MsgBox ("您还没有连通 Internet!")
End If
End Sub
Option Explicit
/*有关的API声明和定义*/
Public Declare Function RasEnumConnections Lib "RasApi32.dll" Alias "RasEnumConnectionsA" (lpRasCon As Any, lpcb As Long, lpcConnections As Long) As Long
Public Declare Function RasGetConnectStatus Lib "RasApi32.dll" Alias "RasGetConnectStatusA" (ByVal hRas......
MAPI Tutorial(2006-04-17 21:38:00)
摘要:MAPI Tutorial
ID: 713
Author: Abstractvb
Date: 4/22/2000 6:50:49 PM
VB6
This Tutorial Covers
MAPISession and MAPIMessage Controls.
Logging onto the Mail Server.
Reading Email headers.
Sending Messages. (SMTP)
Receiving Messages. (POP3)
Forwarding Messages.
Deleting messages.
Displaying the Address Book.
Sending Attachments.
Part 1 - MAPI Session Control
In order to use this tutorial you must have the Microsoft MAPI Controls Installed. These reside in the file MSMAPI32.OCX.
The MAPI Session control provides the interface by which you can access the Mail Server. To use the MAPI controls a MAPI compliant mail server program must be installed on your machine. (Such as Microsoft Outlook Express)
To be able to get and send mail messages you have to sign on to the mail server using your ID and password. MAPI has two basic ways to do this: You can let the MAPI controls, prompt for the necessary information, or you can provi......
VB邮件检查程序(2006-04-17 21:10:00)
摘要:时间:2002.02.27 于重庆
主题:VB邮件检查程序
内容:
VB邮件检查程序(一)
按下表所示设置各控件的属性。
控件 名称 描述
Textbox txtHost 用于输入邮件服务器的名称或地址
Textbox txtUserName 输入用户名
Textbox txtPassword 输入密码
Textbox txtBody 显示邮件内容
Listview lvMessages 显示邮件清单
Command Button cmdCheckMail 用于启动接收并显示邮件的子程序
Command Button cmdExit 退出程序
将名为txtBody的文本框的Multiline属性设为True,Scrollbars属性设为3-Both。选择ListView控件,打开其属性对话框,在“列首”标签页中插入四个列,文本分别为: "From", "Subject", "Date", "Size",然后将该控件的View属性设为3-lvwReport。
直观的界面显示你是如何使用本程序的。首先输入邮件服务器的名称或地址,然后是你的用户名和密码。最报按检查邮件按钮。接下来,我们就会看到在ListView中显示的邮件列表了。点选其中的一项,邮件的内容就会显示在下面的文本框中。
从程序的外观及VB由事件驱动的本质,我们可以猜出我们只需要处理两个事件:cmdCheckMail_Click和lvMessages_ItemClick.至于cmdExit中的事件我想就不必说了。先别急,让我们一步步来看看本程序的代码是怎样的。首先看看“检查邮件”按钮。当你按下这个按钮后,程序会首先检查文本框中的内容,然后调用Winsock的Connect方法连上远程服务器。下面是程序代码:
Private Sub cmdCheckMail_Click()
注释:检查除txtBody之外所有文本框的内容是否为空
For Each c In Controls
If TypeOf c Is TextBox And c.Name <> "txtBody" Then
If Len(c.Text) = 0 Then
MsgBox c.Name & " can注释:t......
在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属性:该属性指定是否显示注册对话框。当其值为“真”时,则出
现一个对话框提示新用户输入用户名和口令;当其值为“假”时,则不显示对话框。
......
:用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......
使用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工具框。
......
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......
文本的加密与解密(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"
文件系统控件(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 控件的图标如图四: ......