|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
缺点:正版成本价格贵(盗版就不说了)、不够安全,大多数服务器用windows系统,没有linux安全active|activex这几天弄了点c/s布局的程序计划,因为ASP用得对照纯熟,以是VB6.0天然成为我首选的开辟工具.在进修过程当中,我分离本人的履历总结下VB中的一些初级使用,而且体味这类使用给我们所带来的优点.
1、模块(Module)
在VB中,模块会优先实行,实在说白了,模块就象是全局的历程和函数挪用.这是开端的进步代码可复用性的路子。我想有履历的ASP(VBSCRIPT,今后都只用VBScript来写Asp程序)程序员都用过<!--#Includefile=""-->这条语句吧,这对进步代码的可复用性是对照便利的,在VB里模块就完成了这个功效.值得注重的是在模块中能够界说SubMain()历程,而且在启动内里可让程序从Main()历程进进.这有点象c,c++中的main()函数.不外模块的代码可重用级别仍是停止在历程,函数挪用上.
2、类模块
在VB中,能够创建类模块.类模块相似于ASP中的类.我想有履历的Asp程序员应当都有本人的类库吧.一样平常情形下我们怎样在ASP中援用本人的类库呢?对,仍是include,只需把类文件包括出去就好了.在挪用的时分只需Setxxx=newClassName就好了.这个和ASP中也是一样的.用类模块有甚么优点呢?由于利用类能够界说一些公用的办法和历程,能够将代码的可重用行到达一个更高的高度.
3、ActiveX手艺
大概人人会想,不管是用模块仍是类模块,大概良多功效城市鄙人一个项目用到.假如这个时分我们必要那些功效的话,能够间接把类模块和模块代码考到Vb项目中.在ASP中,我们只需把类代码做成文件,然后在其他使用include出去就好了.但有一个成绩,那就是代码的封装行.由于不管是类模块仍是模块,大概ASP中的写有类的.asp文件,代码能够被人看并加以修正.有无举措能使代码不让人看到呢?谜底是一定的,这个就是ActiveX控件手艺.ActiveX的长处在于能够分歧的言语编写ActiveX控件,只需切合商定的标准就行,然后能够被其他言语挪用.并且代码是编译好了的.这个关于ASP来讲,能够进步运转速率.好了,空话少说,上面看看给出一个实践利用的例子吧:
1.起首创建一个ActiveXdll工程,然后把名字写成TestDll.在类模块里的代码为:
<P>OptionExplicit
Privatemdbl_augendAsDouble
Privatemdbl_addendAsDouble
PublicPropertyGetaugend()AsDouble
augend=mdbl_augend
EndProperty
PublicPropertyLetaugend(ByValvNewValueAsDouble)
mdbl_augend=vNewValue
EndProperty
PublicPropertyGetaddend()AsDouble
addend=mdbl_addend
EndProperty
PublicPropertyLetaddend(ByValvNewValueAsDouble)
mdbl_addend=vNewValue
EndProperty
PublicFunctionPlus()
Plus=augend+addend
EndFunction
2.文件->天生TestDll.dll.如许我们就失掉了一个名为TestDll.dll的文件了,这个就是一个ActiveX控件了.这个控件有2个属性,一个函数.能够盘算出2个属性的和.
3.VB挪用TestDll.dll.新建一个exe工程.工程->援用->扫瞄,选中TestDll.dll文件,然后任意拖个按钮,在按钮里写以下代码:
<P>PrivateSubCommand1_Click()
SetobjSum=NewSum
objSum.augend=10.52
objSum.addend=382.41
Result=objSum.Plus
MsgBoxResult
SetobjSum=Nothing
EndSub
代码就不必我注释了.你能够看到弹出一个对话框显现2个属性的和.
3.ASP挪用TestDll.dll文件.ASP挪用dll文件和vb也差未几.方才vb挪用时我们要增加一个援用来找到dll文件.而ASP必要注册今后才干挪用.以是先创建一个setup.bat文件,内里写以下代码:Regsvr32.exeTestDll.dll假如这个bat文件不在TestDll.dll的同级目次上面,你必要加上TestDll.dll的相对路径.大概间接在运转里敲Regsvr32.exeE:websiteworkdllTestDll.dll.如许TestDll.dll就注册了,上面我们写个文件来测试一下:
<P><%
DimobjSum
SetobjSum=Server.CreateObject("TestDll.Sum")
objSum.augend=10.52
objSum.addend=382.41
Result=objSum.Plus
Response.WriteResult
SetobjSum=Nothing
%>
怎样,网页上是否是显现了392.93呢?如许ASP就挪用了这个TestDll.dll文件了.
实在在ASP中挪用ActiveX控件能够有良多优点,假如是年夜型的B/S软件项目,如许能够将营业逻辑封装在ActiveX内里,而ASP只需挪用就好了.独一的弱点就是必要注册组件.不外我们有一个变通的办法,在ASP5.0以上能够撑持类,我们能够用VBScript的类来取代组件,如许也能完成封装,只不外在功能上要慢些.不外如今.net手艺办理这个成绩.由于asp.net是创建在.netframework基本上的,以是用.net写出的dll文件不必要注册.详细的今后能够出.netMVC形式的文章同人人切磋.
4、API挪用.
VB的壮大的地方就是能够挪用WinAPI,如许底本VB完成不了的功效都能够经由过程API来完成.要挪用API起首也必要援用它.VB里供应了一个APIShow的小工具给我们利用.如许能够省往良多挪用API的贫苦.要挪用API,起首要创建模块,在模块里声名挪用的API,上面我写一个小程序,就是让窗口一直显现在最下面.挪用API代码以下:
<P>DeclareFunctionSetWindowPosLib"user32"(ByValhwndAsLong,ByValhWndInsertAfterAsLong,ByValxAsLong,ByValyAsLong,ByValcxAsLong,ByValcyAsLong,ByValwFlagsAsLong)AsLong
常量声明
GlobalConstSWP_HIDEWINDOW=&H80
GlobalConstSWP_NOACTIVATE=&H10
GlobalConstSWP_NOCOPYBITS=&H100
GlobalConstSWP_NOMOVE=&H2
GlobalConstSWP_NOOWNERZORDER=&H200
GlobalConstSWP_NOREDRAW=&H8
GlobalConstSWP_NOREPOSITION=SWP_NOOWNERZORDER
GlobalConstSWP_NOSIZE=&H1
GlobalConstSWP_NOZORDER=&H4
GlobalConstSWP_SHOWWINDOW=&H40
GlobalConstHWND_BOTTOM=1
GlobalConstHWND_BROADCAST=&HFFFF&
GlobalConstHWND_DESKTOP=0
GlobalConstHWND_NOTOPMOST=-2
GlobalConstHWND_TOPMOST=-1
GlobalConstHWND_TOP=0
GlobalConstFlags=SWP_NOMOVEOrSWP_NOSIZE
然后我们在窗体里加以下代码:
<P>PrivateSubForm_Load()
DimSuccessAsLong
Success=SetWindowPos(Me.hwnd,HWND_TOPMOST,10,0,0,0,Flags)
EndSub
运转下看看,是否是窗体一直在最后面呢?
研讨了下VB后发明,实在VB仍是供应了一些封装的手艺的.好比模块,类模块,另有ActiveX,而且VB可以挪用API来填补本身功效的不敷.最次要的是VB复杂易学,并且还供应了良多数据库操纵的控件.
因为自己用VB用得对照少,有毛病的地方还请指出.http://www.ncycglass.com/blog有乐趣的看看自己的blog,一同切磋.
想法是和程序员的想法不一样的.至于为什么.大家去想一想.跟心理学有关的 |
|