电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 软件教学-> 其他工具
vbcom基础讲座之类的测试_visualbasic教程
作者:网友供稿 点击:0
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 
现在就来测试前面创建的类。

  按F5运行程序;在弹出的属性对话框中,选中"WaitforComponentstoStart"(启动工程时等待创建部件),然后按[OK]按钮;
-align="right">->->->

  这时,类就会被激活,其他程序就可使用它的功能。

  再次运行VisualBasic另一个实例;

  创建一个新的"StandardEXE"工程;

  选择"Project"->"References"菜单;

  浏览对话框中可引用的列表项,可以发现一些额外的组件。

  选中"Northwind"列表项;

  Northwind就是前面创建的ActiveX工程。

  单击[OK]按钮;

  现在添加一些代码来使用上述工程:

  在Form1表单中添加一个命令按钮;为命令按钮添加下列代码:

->  DimTestAsCustomers
  SetTest=NewCustomers
  MsgBoxTest.CustomerID
  SetTest=Nothing->

  该代码首先创建一个新的Customers对象,然后显示CustomerID信息,最后将Test对象置为Nothing,并关闭它。

  按F5键运行测试程序;

  需要说明的是,当运行时出现"invalidreference"错误提示时,肯定哪些地方有问题。这时可按下面步骤重新来一次:

  (1)在测试工程中去掉Northwind引用;

  (2)重新启动Northwind工程;

  (3)在测试工程中添加Northwind引用,再运行!

  单击表单中的命令按钮;

  这时运行时可能需要几秒钟,毕竟还要做一些如数据库连接等工作。但是,除了一开始的停留外,后面的调用就快得多了。程序将显示包含"ALFKI"的消息对话框。

  关闭测试程序。

  现在,我们来看看程序背后究竟发生什么。

  将插入符移动到MsgBoxTest.CustomerID这条语句上;按F9;

  该语句显示为红色,用来标记一个断点。当代码运行时,它会停留在这里。按F8将单步运行此语句,并移动到下一句代码上。

  按F5再次运行测试程序;

  单击命令按钮;

  流程将停留在MsgBox这条命令上。

  按F8,慢慢单步执行各条语句;

  将会看到系统在两个VisualBasic中来回切换,显示出不同属性的处理过程。

  结束后,关闭测试程序。

  下面再对前面的工程进行测试。这一次,我们不仅获取CustomerID的值,而且还设置这个值。

  将命令按钮的代码改为:

->  DimTestAsCustomers
  SetTest=NewCustomers
  Test.CustomerID="KARLY"
  Test.Update
  MsgBoxTest.CustomerID
  SetTest=Nothing->

  该代码首先设置"CustomerID"字段,然后更新记录集,最后显示出CustomerID属性,其结果应该是设置的"KARLY"。

  假如愿意,仍然可以按F9高亮显示"Test.CustomerID="这条语句,然后按F8单步运行来查看其工作情况。

  至此,我们已经成功地创建并测试一个简单的基于数据库的类。但是,还没有对customerID的字符串长度作测试,如果其长度超过5个字符,看看会发生什么?

下一步,我们将扩充并改进这个数据库类。

  首先添加类的几个特征:其他的属性、一些方法甚至一两个事件。其相应的代码如下:

->  DimWithEventsrsAsRecordset
  PublicEventRecordsetMove()
  PrivateSubClass_Initialize()
   Setrs=NewRecordset
   rs.ActiveConnection="Provider=Microsoft."&_"Jet.OLEDB.4.0;DataSource=C:\ProgramFiles\"&_"MicrosoftVisualStudio\VB98\Nwind.mdb;"&_"PersistSecurityInfo=False"
   rs.Open"select*fromcustomers",,adOpenKeyset,adLockOptimistic
  EndSub

  PrivateSubClass_Terminate()
   rs.Close
   Setrs=Nothing
  EndSub

  PublicPropertyGetCustomerID()AsString
   CustomerID=rs("CustomerID")
  EndProperty

  PublicPropertyLetCustomerID(NewValueAsString)
   IfthelengthofNewValueisgreaterthanfive
   IfLen(NewValue)>5Then
    ...thenraiseanerrortotheprogram
    usingthisclass,byrunning
    Err.RaisevbObjectError OurErrorNumber
    Err.RaisevbObjectError 1,"CustomerID",_"CustomerIDcanonlybeuptofive"&_"characterslong!"

   Else
    ...otherwise,changethefieldvalue
    rs("CustomerID")=NewValue
   EndIf
  EndProperty
  PublicPropertyGetCompanyName()AsVariant
   CompanyName=rs("CompanyName")
  EndProperty

  PublicPropertyLetCompanyName(ByValNewValueAsVariant)
   rs("CompanyName")=NewValue
  EndProperty

  PublicPropertyGetContactName()AsVariant
   ContactName=rs("ContactName")
  EndProperty

  PublicPropertyLetContactName(ByValNewValueAsVariant)
    rs("ContactName")=NewValue
  EndProperty

  PublicPropertyGetContactTitle()AsVariant
   ContactTitle=rs("ContactTitle")
  EndProperty

  PublicPropertyLetContactTitle(ByValNewValueAsVariant)
   rs("ContactTitle")=NewValue
  EndProperty

  PublicPropertyGetAddress()AsVariant
   Address=rs("Address")
  EndProperty

  PublicPropertyLetAddress(ByValNewValueAsVariant)
   rs("Address")=NewValue
  EndProperty

  PublicPropertyGetCity()AsVariant
   City=rs("City")
  EndProperty

  PublicPropertyLetCity(ByValNewValueAsVariant)
   rs("City")=NewValue
  EndProperty

  PublicPropertyGetRegion()AsVariant
    Region=rs("Region")
  EndProperty

  PublicPropertyLetRegion(ByValNewValueAsVariant)
   rs("Region")=NewValue
  EndProperty

  PublicPropertyGetPostalCode()AsVariant
   PostalCode=rs("PostalCode")
  EndProperty

  PublicPropertyLetPostalCode(ByValNewValueAsVariant)
   rs("PostalCode")=NewValue
  EndProperty

  PublicPropertyGetCountry()AsVariant
   Country=rs("Country")
  EndProperty

  PublicPropertyLetCountry(ByValNewValueAsVariant)
   rs("Country")=NewValue
  EndProperty

  PublicPropertyGetPhone()AsVariant
  Phone=rs("Phone")
  EndProperty

  PublicPropertyLetPhone(ByValNewValueAsVariant)
   rs("Phone")=NewValue
  EndProperty

  PublicPropertyGetFax()AsVariant
   Fax=rs("Fax")
  EndProperty

  PublicPropertyLetFax(ByValNewValueAsVariant)
   rs("Fax")=NewValue
  EndProperty

  PublicSubAddNew()
   rs.AddNew
  EndSub

  PublicSubUpdate()
   rs.Update
  EndSub

  PublicSubCancelUpdate()
   Ifrs.EditMode=adEditInProgressOr_rs.EditMode=adEditAddThen
    rs.CancelUpdate
   EndIf
  EndSub
  PublicSubMoveNext()
   rs.MoveNext
  EndSub

  PublicSubMovePrevious()
   rs.MovePrevious
  EndSub

  PublicSubMoveFirst()
   rs.MoveFirst
  EndSub

  PublicSubMoveLast()
   rs.MoveLast
  EndSub

  PublicFunctionFindByCustomerID(CustomerIDAsString)AsBoolean
   UsestheFindmethodtolocatecustomers
   withamatchingCustomerID.
   ReturnsTruevalueiscustomer(s)found
   DimvarBookmarkAsVariant
   rs.MoveFirst
   rs.Find("CustomerID="&CustomerID&"")
   Ifrs.EOF=TrueThen
     FindByCustomerID=False
     rs.Bookmark=varBookmark
   Else
     FindByCustomerID=True
   EndIf
  EndFunction

  PublicPropertyGetEOF()AsBoolean
  Exampleofaread-onlyproperty
  NoPropertyLetshere
  EOF=rs.EOF
  EndProperty
  PublicPropertyGetBOF()AsBoolean
   Anotherexampleofaread-onlyproperty
   BOF=rs.BOF
  EndProperty
  PrivateSubrs_MoveComplete(ByValadReasonAsADODB.EventReasonEnum,_
       ByValpErrorAsADODB.Error,adStatusAsADODB.EventStatusEnum,_
       ByValpRecordsetAsADODB.Recordset)

   ReactstotherecordsetMoveComplete
   method-raiseseventwitheachmove
   RaiseEventRecordsetMove
  EndSub->

  需要说明的是:迄今为止,我们仅仅是在一个类中添加代码。当然,也可以选择"Project"->"AddClass"菜单来向工程添加多个类,而且还可利用"collections"使这些类工作在一起。但是在这里,我们仍然想用一个类来处理一个数据表。

  将上述类的代码复制并粘贴到自己的类中,下一节将讨论该程序的编译。
->


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·金山词霸搜索免费版功能简介_其他工具教程
·shell要如何分类呢?_shell教程
·用visualbasic轻松地设计browser及ftp程序_visualbasic教程
·ado设定独占性的资料库_visualbasic教程
·vb图像处理之二次线性插值的应用_visualbasic教程
·smtp协议简介(simplemailtransferprotocol)_visualbasic教程
·unicode与ansi_visualbasic教程
·vb6.0中类聚集关系的实现_visualbasic教程
·怎样在vb5中使用oledragdrop事件从windowsexplorer中拖放文件_visualbasic教程
·vbcom基础讲座之类的测试_visualbasic教程

最新文章
·用你写我读 文档录入和校对轻松搞定_其他工具教程
·photoshop辅助线和标尺的使用技巧_photoshop教程
·cd光盘超容量刻录技巧及注意事项_其他工具教程
·电脑故障应急处理宝典_其他工具教程
·6招为智能abc输入法提速_其他工具教程
·找回丢失的密码之winzip与office密码_其他工具教程
·autocad三维基础实例教程_autocad教程
·google输入法:清爽极致,提倡一种生活方式 _其他工具教程
·你不知道的输入法十大实用功能_其他工具教程
·教你去掉常用软件烦人的启动画面_其他工具教程


 
 


版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号