动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Visual Basic教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Visual Basic教程 ]的信息

本月文章推荐
.VB中使用数据窗体设计器插件.
.如何在VB中实现目录遍历.
.利用OLE自动化解决ACESS97中文版.
.移除字串中不要的字符.
.用VisualBasic开发绿色软件的探讨.
.用VB学做“黑客”程序.
.VisualBasic程序启动时,自动判断.
.VB6中用DataReport做报表.
.使用Data控件访问数据库.
.VB5.0中基于桌面的屏幕技巧.
.自动更新工作站的应用程序.
.真彩色图像变为256色灰度.
.VB入门之“HelloWorld”.
.减少DoEvents语句的数量.
.VisualBasic中的界面设计原则和编.
.VisualBasic实现某一天的下/上一.
.VB数组小技巧一则.
.在VB6.0中播放GIF动画.
.使用VB建立WebServer一例.
.VB编程实用精典小技巧3例.

使用ADD-IN技术加强VisualBasic开发环境

发表日期:2006-2-27 |


----VisualBasic5.0是一个功能强大的集成开发环境,它可以自动检查语法错误,提示编码员语法格式。这些功能都大大提高了编码效率。可是它作为快捷开发工具,它的特点还突出体现在那就是Add-In技术上。利用它,我们可以强化和定制VB开发环境:可以自动在所有Project中自动加入一个模块;可以将每个模块中的某个模块替换成另一个模块;可以在程序中查找某段代码,并将它替换掉;理论上讲,我们甚至可以利用该技术做一个代码自动生成器。

----Add-In技术的实质就是VB编程环境本身做为一个对象模型向用户公开出来,我们可以将一个模块、一段代码做为一个操作对象来修改、优化。下面,我们通过一个实例来介绍Add-In技术的使用。

----例如,你想将程序中的这样一段代码:

dimnIndexasinteger
nIndex=cStr(vsFlex.Text)
替换为:
dimsIndexasstring
sIndex=Spread.text

----包括Word在内的大多数编辑软件都不包括多行查找替换功能,VB5.0的编辑器也不例外,怎么办呢?

----1、打开VB,在选择Project类型时选择"AddIn"。这样,我们就打开了一个名叫MyAddin的Project。将Project名称改为你希望的名字,如"Test"。

----2、打开Addin.bas,你发现有一个AddToIni的子程序:

SubAddToINI()
DimErrCodeAsLong
ErrCode=WritePrivateProfileString("Add-Ins32","Myaddin.Connect","0","vbaddin.ini")
EndSub

----在Windows的目录下,有一文件叫vbaddin.ini,每次VB启动时将根据该文件的设置确定有那些可用的AddIn程序。AddToIni的功能实际就是将当前的程序注册到vbaddin.ini。修改"Myaddin.Connect"为"Test.Connect",使之与当前的Project名称对应。

----3、在Immediate窗口执行AddToIni,完成对当前Addin的注册。

----4、打开Connect.cls,在变量声明区有:ImplementsIDTExtensibility

----IDTExtensibility是VB和AddIn程序交互的Interface。当VB在Addin菜单选AddIdManager,并参照当前的Addin程序"Test"时,OnConnect事件就会触发,IDTExtensibility_OnConnection()程序将被执行。在如下行设置断点:

----Debug.PrintVBInst.FullName

----运行当前程序。

----5、启动另外一个VB例程,生成StandardEXE,名叫Project1。从Addin菜单选AddinManager,我们得到一个列表,我们选择MyAddin并返回。这时,Test被启动并停在

----Debug.PrintVBInst.FullName

----注意,VBInstance(VBInst)就是指使用该Addin的VB的集成开发环境(VBEObject)。我们可以它做为一个对象来操作。VBEObject包含VBProjects,每个VBProject包含Vbcomponents,每个VBComponet对应一个模块,每个Form,Class,或Module。

----6、我们在Test的立即窗口执行:

----?VBInstance.ActiveProject.Name

----可以得到Project1的名称。

----?VBInstance.ActiveProject.VBComponent(0).Name

----可以得到Project1的第一个模块Form1的名称。

----到此为止,我们已经基本说明了AddIn的技术内涵。剩下的工作就很容易理解了。

----7、在Project1的AddinManager中,将MyAddin去掉。

----8、再修改Test,打开frmAddin,将

PrivateSubOKButton_Click()
MsgBoxVBInstance.FullName
EndSub
改为:
PrivateSubOKButton_Click()
CallmReplace()
EndSub

PrivateSubmReplace()
DimoProAsVBProject
DimoComAsVBComponent
DimbFindAsBoolean
DimnFindLineasinteger
DimnfindColasinteger

Screen.MousePointer=vbHourglass
OnErrorGoToerrmReplace

SetoPro=VBInstance.ActiveVBProject

'检查程序是否已保存
IfoPro.FileName=""ThenMsgBox"请先保存!";ExitSub

ForEachoComInoPro.VBComponents
bFind=True
DoWhilebFind
'查找要替换的代码段
bFind=oCom.CodeModule.Find("dimnIndexasinteger",nFindLine,nfindCol,oCom.CodeModule.CountOfLines,500,True
IfbFindThen
IfoCom.CodeModule.Lines(nFindLine 1,1)="nIndex=cStr(vsFlex.Text)"
'找到后替换
oCom.CodeModule.ReplaceLine
nFindLine,"dimsIndexasstring"
oCom.CodeModule.ReplaceLine
nFindLine 1,"sIndex=Spread.text"
Else
bFind=false
EndIf
EndIf
Loop
NextoCom

Screen.MousePointer=vbDefault
ExitSub

errmReplace:
Beep
Screen.MousePointer=vbDefault
MsgBox"ERROR!"
EndSub

----9、我们再使Test进入运行状态。

----10、我们再重复第五步,会在Project1的Addin菜单中多一项"MyAddin"。我们在Project1中加入一些要替换的代码,然后执行MyAddin,替换工作就会完成。

----11、有朋友不希望在Addin菜单出现"MyAddin"字样,而是具有更明确含义的标识,如"替换"。改动Test的ConnectClass----IDTExtensibility_OnConnection(),将

SetmcbMenuCommandBar=AddToAddInCommandBar("MyAddIn")
改为SetmcbMenuCommandBar=AddToAddInCommandBar("替换")
如果你想将AddinManager中的MyAddin改为
"Replace",可用notepad打开Connect.cls,将:AttributeVB_Description="MyAdd-In"
改为:AttributeVB_Description="Replace"

----以上介绍地只是AddIn技术的一个简单应用,了解其机理后,大家可根据需要做出自己的工具。对于一些专业的应用软件开发商来说,积累越多的AddIn工具,便可以大大提高编码效率。->

上一篇:利用VBScript实现倒计时 人气:3198
下一篇:用VB开发分布式应用 人气:3326
浏览全部Visual Basic的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-8-30 HBcms(宏博cms)内容管理系统 v1.1
2008-8-30 邓西网站帮助系统 v2.3
2008-8-30 破竹CMS v4.0.7.21
2008-8-30 美女写真网图片小偷 v1.5 全站静
2008-8-30 PHP美女写真Cms v1.00
2008-8-30 PHPer.yang情书系统 v1.0
2008-8-30 快乐商城全站源码
2008-8-29 oblog v4.6 build 20080827
2008-8-29 ASBLOG v2.5 bulid 080828
2008-8-23 Mini WinMount V0.4
2008-8-23 Vista优化大师3.11正式版
2008-8-23 Wine 1.13
2008-8-23 KlipFolio 5.0 Build 5899-80
2008-8-23 Windows Sysinternals Desktops
2008-8-23 OneTap Movies1.2破解版
2008-8-23 AnnotaterPDF阅读1.1.503 破解版
2008-8-23 SoundMeter分贝测量仪 v1.0汉化破
2008-8-23 iDrum音乐节拍1.0破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | Html转换js | js/vbs加密 | md5加密 | 进制转换
实用工具:汉字翻译拼音 | 符号对照表 | 个税计算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵