精华内容
下载资源
问答
  • VB中的类模块

    千次阅读 2019-02-18 14:21:22
    VB中的类模块
                   

     以前一直搞不明白VB中的类模块到底是做什么的,这次在敲学生信息管理系统的过程中,才发现它的好处。

     举个通俗易懂的例子,VB中的类模块就是用来放VB中公用的代码,都放在这个类模块里面,当用的时候只需要调用即可。就好比我们农村对庄稼浇水似的,都共用一口井。当用的时候,只需要自己动手即可。

      牛刀小试:

        可以在VB的窗体中加载一个类模块窗体。代码如下:

     

    Public Function Testtxt(txt As String) As Boolean    If Trim(txt) = "" Then        Testtxt = False    Else        Testtxt = True    End IfEnd Function    

         以上代码用来判断是否txt这个字符串为空。

         接下来,可以在窗体中添加文本框来调用以上函数来判断是否文本框为空。

         代码如下:

       

      Private Sub command1_Click()if not testtxt(text1.text) thenmsgbox "请输入文本"                end if      end sub  

      如果我们在应用VB的过程中要加载大量窗体的话,并且需要验证文本框是否为空的状态下,通过类模块定义一个公共代码,会方便很多。以上就是类模块的作用。

               

    再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

    展开全文
  • 类似VB中的分类属性表控件,支持分类展开、收缩等功能。  徐景周(jingzhou_xu@163.net) 未来工作室(Future Studio)
  • 以以前学习理解和在VB“对象浏览器”看到 ![图片说明](https://img-ask.csdn.net/upload/201711/18/1510974563_458953.png) commandbutton应该是一个,那么问题来了,为什么我们不能通过NEW关键词来声明...
  • vb中的类与对象

    千次阅读 多人点赞 2014-08-27 11:52:02
    vb的对象与vb,一个不是完全面向对象编程语言,相对于其它高级编程语言来说,在它上面,基于对象编程应用更为泛。对于对象,只不过是类的实例化罢了,而,是众多对象抽象一个庞大集合。实例化对象,...

       vb,一个不是完全面向对象的编程语言,相对于其它高级编程语言来说,在它上面,基于对象的编程应用更为泛。对于对象,只不过是类的实例化罢了,而类,是众多对象的抽象的一个庞大集合。类实例化对象,对象抽象成类。



       在vb中,对象的使用非常广泛,列如我们将常用的窗体,以及各种控件,它们都是类的实例化结果。不过对象分为好几种,全局对象,引用对象,自定义对象等等,它们的具体使用方式也有些不同,下面我说一下他们的使用区别。

       1. 常用对象:我们经常用的对象,拿个例子来说吧!command控件,也就是命令按钮。它可以直接再工具箱中拿出来我们直接用,在里面可以添加一些代码什么的,command控件是别人给我们编好的。我们可以直接用。

       2 全局对象:对于全局对象,它是一个类的唯一的一个实例,我们在vb中拿出来也可直接使用,像一些常用对象一样。比如说App,Error对象等等。

       3. 引用对象:对于引用对象和自定义对象来说,引用对象得先引用,然后再声明,创建,这样才可以使用,最后还得撤销,撤销的目的是将它从内存中释放掉。

       4. 自定义对象:自定义对象是我们从类中自己定义的,它的使用先得从类中实例化出来,也就声明,然后创建,这样就能使用了,同引用对象,我们用完它之后也得撤销。

       对于自定义和引用对象使用完之后我们还得撤销,那么撤销的目的是什么?上面我已经说了,就是将它们从内存中释放出来,试想,一台机器的内存是有限的,如果我们撤销它们,它们还会在内存中,当我们使用多了,占用内存事小,对象多了如果不释放很容易发生冲突,这时候会意外造成程序崩溃。


       对与vb中的类,我上面说了,它是一些对象的抽象的集合,vb中的类也有很多,在这我只详细介绍自定义类。

       自定义类与我们经常用的类从宏观上来比较的话没有多大的区别,它也有方法,属相,事件等等,但是它的使用就有点不同了。比如说,所有的窗体就是一种类——窗体类,在窗体中我们可以直接的使用它的属性,方法,事件,但是在自定义类中,它的属性需要我们自己写,事件需要自己定义。

       在定义属性的时候我们用到了属性过程(Property),属性过程分为读属性过程和写属性过程,写属性过程中对于数值属性和对象属性的写入又是不同的,对象使用Set ,数值使用Let。

       自定义事件与普通函数或者过程的不同:

       在我们经常在在模块或者窗体中定义的函数,它们可以直接接受窗体发来的消息,然后执行。而在自定义事件中,它需要一个中间体,这个中间体就是事件源变量,它负责接受消息,其实事件就是一种消息,当我们使用它的时候我们呢需要先将事件定义(Public Event),然后产生事件(RaiseEvent),将消息发送给事件源变量,事件源变量在这里大多数是一些对象,最后这些对象再将发来消息执行。

       类保罗万象,万象归一就是对象。类是对象更高的含义,对象是类的最终的解释。

    展开全文
  • 类似VB中的分类属性表控件

    千次阅读 2002-05-16 09:26:00
    类似VB中的分类属性表控件作者:徐景周下载实例代码(http://www.csdn.net/cnshare/soft/12/12322.shtm)如果你见过VB中的分类属性表的话,你一定不会陌生吧!这种属性表不但美观,而且十分简明、易操作。下面有我做的...

     

    类似VB中的分类属性表控件

    作者:徐景周

    下载实例代码(http://www.csdn.net/cnshare/soft/12/12322.shtm)

     
    如果你见过VB中的分类属性表的话,你一定不会陌生吧!这种属性表不但美观,而且十分简明、易操作。下面有我做的一个类似于这种VB中分类属性表的控件,例图如下:

     

     

     

    基本构成思想:此控件从ListBox派生,将每一行列表,填充为三列显示。其中第一列为分类显示的位图所需,第二列为不能编辑的属性名,第三列为可编辑的按钮、下拉框、编辑框等。第一列做更换显示位图及展开或收缩其下相关条目使用;第二列显示创建时的固定属性名;第三列可根据创建时指定的创建类型,来决定在其中该创建何种控件(按钮、下拉框、编辑框等)。具体实现方法可参看下载示例中的源码。

     

     

    下面我来说说如何在你的工程文件中使用它们:

    1、将示例工程中的二个位图:Expand.bmp和UnExpand.bmp复制到你的工程资源res目录下,导入它们相应命名为:IDB_PROPERTY_EXPAND和IDB_PROPERTY_UNEXPAND。

    2、将示例工程中的控件文件:PropertyList.cpp和PropertyList.h复制到你的工程中,并导入它们。

    3、在你的工程文件中相关对话框中新建一ListBox控件,并创建一成员变量m_cList,在头文件中将其成员变量的派生类从CListBox改为CPropertyList。

    4、在上述对话框头文件中加入#include “PropertyList.h”,在该类中定义变量如下:

       CPropertyList*  m_pList;            //VB属性表控件

     

        CPropertyItem*  m_pClassName;       //公用属性分类名称

      CPropertyItem*     m_pName;          //名称

    5、在上述该对话框类的初始化对话框OnInitDialog()中,创建其内容,如下:

     //初始化VB属性表控件

    m_pList = &m_cList;

     

           //公用属性,jignzhou xu

           m_pClassName = new CPropertyItem("公用属性","",PIT_EDIT,"",TRUE,TRUE,0);

                  m_pName = new CPropertyItem("名称","",PIT_EDIT,"",FALSE,FALSE,0);    

    6、在上述对话框类中的OnDestroy中,删除创建的属性条目,如下:

    delete m_pClassName;

    delete m_pName; 

    7、剩下,你就可以从其创建的变量中获取或设置相应值了,如下:

     //赋值给属性表相应条目

     m_pName->m_curValue=pGraph->GetNodeName();  

     //从属性表相应条目中获取值

     pGraph->NodeName = m_pName->m_curValue

     

      其中,具体实现方法可在下载后示例源码后,参看既可。

     

     

    联系方式:

    作者EMAIL:jingzhou_xu@163.com

    未来工作室(Future Studio)

     

    展开全文
  • VB中的类开发

    千次阅读 2005-02-07 18:42:00
    对程序员和编程爱好者来说,VB中类的技术是学习中的一个难点,在大型软件的开发过程中,模块(Moudle)、控件(Active ocx)、链接库(Active dll)和(Class moudle)构成了系统化、高效化的软件工程,而的技术是...
    对程序员和编程爱好者来说,VB中类的技术是学习中的一个难点,在大型软件的开发过程中,模块(Moudle)、控件(Active ocx)、链接库(Active dll)和类(Class moudle)构成了系统化、高效化的软件工程,而类的技术是控件和链接库技术的基础,因此掌握类的理论和编程方法是非常有意义的。 
            (一)类的基本定义和应用概述;
              类是包含了方法、属性、数据成员的高级代码模块,它既在模块的范畴之内,又是一个没有图形界面的Active ocx,程序员可以象使用控件一样使用它,但却不能看到它,值得注意的是,类是不能继承的。
            类能够使我们高效的完成对某一个或者某几个特定的对象的复杂操作,对象的动作就是类的方法,对象的属性就是类的属性过程。相对而言,如果编程的对象是一组事物,那么,我们采用标准模块的方式是非常合适的,在下列两种情况下,应该使用类进行代码处理:
              (1)创建大量性质相近的对象;
              (2)提高代码的封装性。
               类的创建非常简单,在进行代码编写的时候,在“工程”菜单中选择“添加类模块”项目,就可以添加一个空白的类。
               类文件一般以.cls作为扩展名保存。
              (二)类的方法的实现;
              
            类的方法类似于动态链接库的接口函数,它能够接受其他窗体代码的指定类型参数,并且传递到类中。一般来说类的方法是能够指定是否有返回值的。它在类中通常是一个public过程。请看下面的代码示例,它使一个密码框拒绝非字母的输入:
              (1)类cls的代码;
               Option Explicit’变量检查
                Private WithEvents mytxt As TextBox
                ’本类中的方法接受和控制一个text密码框
                Dim isNUM As Boolean
                ’类的模块级变量
                Public Sub Attach(itTEXT As TextBox)
                ’接受外部变量到mytxt中
                Set mytxt = itTEXT
               End Sub
               Private Sub mytxt_KeyUp(KeyCode As Integer, Shift As Integer)
                isNUM = (KeyCode > = 65) And (KeyCode < = 90)
                ’测试密码框的键盘输入是否是英文字母
                If isNUM = False Then
                 Beep
                 mytxt.Text = ""
                 ’如果输入不是英文字母则响铃并且清空密码框内容
                 MsgBox "非法字符输入!"
                End If
                Debug.Print mytxt.Text
                ’调试输出密码框内容
                End Sub
                ’类的代码结束
              (2)类的引用;
              已经编写完成的类可以经过两种格式进行引用,第一种方式:Private(public或者dim) myCLS(指定的类名) As New
            cls(编写完成的类名);第二种方式较多用于程序编写风格较“老”的程序员:首先在窗体代码中进行模块级声明――Dim myCLS As
            cls,然后在具体代码过程中进行具体定义―― Set mycls = New
            cls。这两种方式的效率和代码的简洁性方面可能会有所差别,但在笔者的编程实践中,并没有什么特别的感觉,不过我较多使用第一种方式,因为它书写起来更加方便。另外,在代码结束的时候,使用
            Set myCLS = Nothing来取消类的资源占用是一种非常好的编程习惯。
              在窗体form1中(窗体有一个密码框控件text1,passworldchar="*")添加以下代码:
              Option Explicit
               Private myCLS As New cls
               ’引用cls
               Private Sub Form_Load()
               myCLS.Attach Text1
               ’启动类
              End Sub
              ’在代码结束时记得释放资源
              Private Sub Form_Unload(Cancel As Integer)
               Set myCLS = Nothing
              End
             End Sub
              
            本文代码展示了类的方法的代码编写过程和调用方式(尽管它和类的事件非常相似),它的效果是,如果密码框中被输入了非字母,则系统振铃,并删除密码框中的原来的数据――在一定程度上保护密码。
            类的方法可以不需要任何参数,这一点类似一个public的函数或者过程,它也是类中使用最广泛的。在下一篇文章中我将讨论,如何使用类的属性、事件和方法进行综合编程。
            我们讨论了类的理论、类的创建和类的方法的编程实践,实际上,类之所以能够在软件工程中广泛应用,最主要的一点是它可以非常方便的封装许多编程需要的属性,这不仅使程序员在一定程度上克服控件(ocx)和链接库(dll)设计和调试中的复杂性,而且能够提高程序代码的简洁和高效性――本文将讨论完整的类的编程,包括方法、属性和基本事件。
              (一)类的属性的特征和定义;
              类似于标准控件的属性,类的属性允许用户在指定的数据范围内进行赋值,这些值被类内的各个代码部分所共享。属性的获得和传递需要经过
            Property Let和Property Get语句进行编程,当然,我们首先需要在类中进行全局或者模块级的相应变量定义。
              (二)事件的属性和基本定义;
              和窗体的事件类似,类也有两个基本的事件,Class_Initialize(类加载时触发)和Class_Terminate(类卸载时触发),这两个事件都是private的。实际上,我们完全可以忽略这两个事件――只要你记得完善类的方法和属性。
              类同样可以定义自己的事件,它和方法的程序编写格式类似,只不过需要WithEvents关键字进行参数声明,而且事件不能有任何命名参数或者可选参数,它也没有返回值。
              实际上,结构良好的方法和属性完全可以替代结构复杂的类的事件。
              (三)类的方法、事件和属性的编程实例;
              本程序的设计目的是,通过类控制窗体中文本框的内容的全部大写、小写和逆向排序转化。
              为了方便代码的书写和调用,我在类中引用了枚举的编程方法。
              以下代码在类Class1:
              Option Explicit
               Private WithEvents myTXT As TextBox
               ’方法的参数接口
               Public Enum sTYLE
                Lcaseit’小写属性
                Lbigit’大写属性
                Nlogoit’逆向排序属性
               End Enum
              ’自定义枚举,用来实现属性的自动赋值
              Private mvarBiaozhi As sTYLE
              ’实现枚举常量的连接
              Public Function dONE() As String’
              ’DONE方法用来根据指定的枚举属性,对
              ’窗体文本框进行相应的字符转化操作
              ’并且返回转化后的字符串
              If mvarBiaozhi = Nlogoit Then
               dONE = StrReverse(myTXT)
               ’逆向排序
              ElseIf mvarBiaozhi = Lcaseit Then
               dONE = LCase(myTXT)
               ’强制小写转化
              Else
               dONE = UCase(myTXT)
               ’强制大写转化
              End If
              End Function
              ’DONE方法结束
              Public Property Let Biaozhi(ByVal vData As sTYLE)
               ’获得属性的被赋的值
               mvarBiaozhi = vData
              End Property
              Public Property Get Biaozhi() As sTYLE
               ’传递属性值到类中
               Set Biaozhi = mvarBiaozhi
              End Property
              Public Sub Attach(itTEXT As TextBox)
               ’连接类的方法
               Set myTXT = itTEXT
              End Sub
              Private Sub Class_Initialize()
               ’本事件在类倍加载时激活
               MsgBox "你好!本程序向您展示使用类的方法、属性、事件进行编程的技术!"
              End Sub
              Private Sub Class_Terminate()
               ’本事件在类被卸载时激活
               MsgBox "你好!记得在Class_Terminate中填写对象撤销后的代码!"
              End Sub
              ’类的代码全部结束
              (四)窗体代码的引用编程;
              在窗体FORM1中添加文本控件TEXT1、下拉列表控件COMBO1、命令按钮COMMAND1(CAPTION="开始转化"),调整三个控件到适当位置。
              Dim myT As New Class1
              ’类的引用
              Private Sub Form_Load()
               Combo1.Clear
               Combo1.AddItem "字符串大写转化"
               Combo1.AddItem "字符串小写转化"
               Combo1.AddItem "字符串逆向排序"
               Combo1.ListIndex = 0
               ’在列表框中添加属性选项
              End Sub
              Private Sub Command1_Click()
               ’当命令按钮按下时激活类
               myT.Attach Text1
               ’方法参数联接
               Select Case Combo1.ListIndex
                Case 0
                  myT.Biaozhi = Lbigit
                Case 1
                  myT.Biaozhi = Lcaseit
                Case 2
                  myT.Biaozhi = Nlogoit
               End Select
               ’根据列表框的选择,给类的Biaozhi属性赋值
               ’注意,在编程环境中,上述属性值自动添加
               Text1.Text = myT.dONE
               ’返回排序结束后的字符串
              End Sub
              Private Sub Form_Unload(Cancel As Integer)
               Set myT = Nothing
              End
              ’良好的编程习惯
              End Sub
            怎么样,我们的代码看起来如此的简洁,这种感觉就象是在使用一个控件,不仅可以随心所欲的调用,而且方便的使用了vb的自动提示功能。
              (五)关于类的编程技术的总结;
              严格的说,类是vb编程中的一个相当有用的技术,同样也是学习和掌握中的难点,类在大型软件工程中应用是非常广泛和卓有成效的,但是,在小型软件开发中,为了提高软件的效率和代码的清晰度,应该避免使用较多的类模块,控件和联接库,取代以标准模块。
              本文所示例的代码比较简单,却覆盖了关于模块编程技术的方方面面,希望初学者能够有所借鉴,也希望程序员能够共同探讨。我们应该相信,无论多么复杂的高楼大厦都是由普普通通的方砖堆砌而成的,同样,无论所么复杂的软件工程都是由基本的程序语句所构成的,编程爱好者、程序员和分析员的区别只是在于,用同样的程序语句构建的程序的不同而已
    展开全文
  • Q: visual basic 6 windows98 请问在vb中的‘模块’、‘模块’是什么?有何好处?A: 模块是.bas文件,主要用于将代码分别存放,便于管理。 模块是.cls文件,主要用于定义和设计ActiveX EXE、ActiveX DLL。...
  • VB 中的类模块与模块之一

    千次阅读 2005-12-28 15:43:00
    模块是扩展的Type,...一个过程可能用来响应几个不同对象中的事件,应该将这个过程放在标准模块中,而不应在每一个对象的事件过程中重复相同的代码。用模块(文件扩展名为 .CLS )创建对象,这些对象可被应用程序
  • 一:间接调用vb中的Inputbox功能  1。在项目中添加对Microsoft.VisualBasic引用  2。在项目中添加命名空间Using Microsoft.VisualBasic;  3。以后就可以直接使用VB中的好多类库(爽啊……)   例如:textBox1....
  • VB6】实现VB6中类的静态方法 标签: vbclass静态函数 2016-02-13 19:52 303人阅读 评论(0) 收藏 举报 本文章已收录于: 分类: VB(16) 作者同类文章X ...
  • VB.NET中的类和模块

    千次阅读 热门讨论 2015-12-20 10:13:52
    在三层的例子中,我是仿照这C#中的结构来实现的VB.NET版的三层,但是在这之中出现了一个问题,那就是好像C#中只涉及到了各种类的使用,没有用到模块(module),但是在VB中要调用一个类中的字符串的时候却是出现了不...
  • VB.NET中的类

    2007-04-02 03:23:00
    我在以前文章里曾经提到:VB.NET出现使得VB6在类的概念及其操作上发生了巨大变化。现在就让我们进到这些变化来进行更深入探讨。首先让我们看看到底意味着什么。不妨假设我把你带回到了学院,现在你走进...
  • VB.NET中类对象

    千次阅读 2016-02-03 16:54:24
    对于类的定义我们之前就接触很多了,他就是抽象出来具有概括性的划分为不同的类。类似的对象在数据和操作方面有很多相同点。在我们学习的VB.NET面向对象程序设计语言,程序就是由这一个类或多个类组成,具体需求...
  • VB动态调用模块中的函数的方法

    千次阅读 2016-01-22 20:45:25
    动态地调用函数是令广大VB程序员比较...老实说,VB中是有函数指针概念,不过这一概念显得很”隐晦“,没有C++中使用频率那么高,而以前我在一篇文章中也看到过,微软官方也的确不推荐VB程序员在代码中使用指
  • vb.net中类的使用方法

    千次阅读 2005-06-16 14:36:00
    vb.net中类的使用方法document.title="vb.net中类的使用方法 - "+document.title 对于复杂操作设计解决方案,必须首先确定组成这个系统对象,在vb中,我们常常把每个对象属性和操作组合到一个里面,类的定义...
  • 利用VB可视化数据管理器制作access表格,利用VB中Adodc1控件和DataGrid1控件制作出分类查询程序
  • Partial Classes are a feature of VB.NET that is used almost everywhere, but there's not much written about it. This might be because there are not a lot of obvious "developer" applications ...
  • vb.net 中自定义类中的事件

    千次阅读 2013-06-25 15:48:00
    先定义包含事件的类(如下) Public Class TestEvent  Public Event MyEvent(ByVal s As String) '自定义事件    Public Sub StartEvent(ByVal value As String) '触发事件函数  RaiseEvent MyEvent(value...
  • 用常规方法创建出字体有一定局限性,后来在网上找到了这个CLS文件,现在发给大家,使用时候只要根据StdFont创建VB字体就行,支持中文字符集,把宽度设置成0就是由系统自动决定宽度……一直都在用。
  • VB.NET中的类之间的调用

    千次阅读 2011-09-30 10:19:00
    在用C#之间调用时如下: 【C#】  class Class1  {  private string _strName;  public string StrName  {  get { r
  • VB中的SCALEHIEGT,SCALEWIDTH,与窗体中的WIDTH,HEIGHT的区别及关系是许多VB初学者难以理解的。本人在DELPHI的过程中也曾经对这类似的概论搞不清楚,但通过这次对VB中这些类似概念的学习后,可以说是已掌握了这种...
  • VB.Net 中的定时器Timer

    千次阅读 2010-01-11 13:15:00
    简介如果你进行过VB6程序设计,对Timer控件可能熟悉。每隔固定时间间隔Timer控件将触发一段代码。对于Windows窗体这个控件非常典型,其他控件类似。但是如果你在类中而不是窗体要使用定时功能,如何处理呢? ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,992
精华内容 1,596
关键字:

vb中的类