精华内容
下载资源
问答
  • VB常用算法示例,源码开放下载,挺简单的,对新手还是挺不错的程序吧,对于高手来说,就可以直接跳过了。
  • VB中提供了三种类型的模块:窗体模块、标准模块和类模块。 简单的应用程序可以只有一个窗体,所用的程序都驻留在窗体模块中,而当应用程序庞大复杂时,就要另外附加窗体。最终可能有几个窗体中有一些共同都要执行...

    VB的代码存储在模块中。在VB中提供了三种类型的模块:窗体模块、标准模块和类模块。

      简单的应用程序可以只有一个窗体,所用的程序都驻留在窗体模块中,而当应用程序庞大复杂时,就要另外附加窗体。最终可能有几个窗体中有一些共同都要执行的代码,为了在两个窗体中不产生重复代码,可创建一个独立的模块,用它实现代码公用。该独立模块即是标准模块。此外还可以建立包含共享代码与数据的类模块。

      每个标准模块、类模块和窗体模块可包含:

      声明。 可将常数、类型、变量和动态链接库(DLL)过程的声明放在窗体、类或标准模块的声明部分。每个模块只有一个声明部分

      过程。每个模块可有多个过程,过程是划分VB代码的最小单元,每个过程是一个可执行的代码片段。VB中主要有子过程、函数过程或者属性过程等

      各种模块类型

      1.窗体模块

      由于VB是面向对象的应用程序开发工具,所以应用程序的代码结构就是该程序在屏幕上表示的对应模型。根据定义,对象包含数据和代码。应用程序中的每个窗体都有一个相对应的窗体模块(文件扩展名为.frm)

      窗体模块是VB应用程序的基础。窗体模块可以包含处理事件的过程、通用过程以及变量、常数、自定义类型和外部过程的窗体级声明。写入窗体模块的代码是该窗体所属的具体应用程序专用的;也可以引用该程序内的其它窗体和对象

      每个窗体模块都包含事件过程,在事件过程中有为响应该事件而执行的程序段。窗体可包含控件。在窗体模块中,对窗体上的每个控件都有一个对应的事件过程集。除了事件过程,窗体模块还可包含通用过程,它对来自该窗体中任何事件过程的调用都作出响应。

      2.标准模块

      标准模块是程序中的一个独立容器,包含全局变量、Function(函数)过程和Sub过程(子过程)。

      可将那些与特定窗体或控件无关的代码放入标准模块中。标准模块中包含应用程序内的允许其它模块访问的过程和声明。它们可以包含变量、常数、类型、外部过程和全局声明或模块级声明。写入标准模块的代码不必固定在特定的应用程序上;

      (1)使用标准模块

      在编写程序时,很可能会遇到一些使用相同变量和例程的窗体和事件过程。在缺省状态下,变量对于事件过程来说是局部的,就是说仅能在创建这些变量的事件过程中读取或者修改变量。与之相似,事件过程对于创建它们的窗体来说也是局部。为了在工程中的所有窗体和事件中共享变量和过程,需要在该工程的一个或多个标准模块中对它们进行声明和定义。

      标准模块或代码模块是具有文件扩展名.bas,并包含能够在程序任何地方使用的变量和过程的特殊文件。

      正如窗体一样,标准模块被单 独列在Project(工程)窗口内,并可通过使用File(文件)菜单中的Save Modulel As菜单项存盘。但是,与窗体不同,标准模块不包含对象或属性设置而只包含可在代码窗口中显示和编辑的代码。

      (2)创建标准模块

      如要在程序中创建新 的标准模块,那么单击工具条Add Form(添加窗体)按钮上的下箭头并单击Mode(模块),或者单 击Project(工程)菜单中的Add Module(添加模块)菜单项。在工程中创建一个空的标准模块的步骤如下:

      S1:启动VB,打开一个新的标准工程,单击工程 菜单中的Add Module菜单项,单击Open 按钮。VB在工程中增加一个名为Module的标准模块。该 模块对应的代码窗口被打开,对象和过程列表框的内容表明该 标准模块的通用声明已被打开。在此所声明的变量与过程 在整个程序都可以使用。

      S2:双击工程资源管理器窗口的标题条,以便能看到整个工程资源管理器窗口,

      S3:在File(文件)菜单中,单 击Save Modulel As

      S4:如果D:/VB6sbs/less10文件夹未被选择时,选择该文件夹,键入MyTestMod.bas,然后按回车。该标准模块作为MyTestMod.bas文件保存到磁盘,并且可以通过Project(工程)的Add File菜单项可将此文件通过其文件名加载到另一个工程中。

      S5:双击Project(属性)窗口标题条。由于模块不包含对象,因此它惟一的属性就是Name

      S6:将Name属性改为modVariables,然后按ENTER键。

      (3)声明公用变量

      在标准模块中声明 全局变量十分简单,键入关键字Public,后跟该 变量名。

      缺省状态下,公用就量在模块中被声明为变体类型,但是可以通过使用As关键字来指定相应类型,可以把公用变量声明为某个指定的基本类型。

      3.类模块

      在VB中类模块是面向对象编程的基础。可以在类模块中编写代码建立新对象。这些新对象可以包含自定义的属性和方法。实际上,窗体正是这样一种类模块,在其上可安放控件,可显示窗体窗口

      用类模块创建对象,这些对象可被应用程序内的过程调用。标准模块只包含代码,而类模块包含代码又包含数据,可视为没有物理表示的控件。

      模块设计的考虑

      在VB中创建应用程序的最重要的部分是设计阶段。首先需要为应用程序设计一个用户界面,这个界面的设计比较容易确定。但设计代码的结构就是一项较复杂的工作。构造应用程序的方法不同,可能会造成应用程序的性能以及代码的可维护性,可使用性不同。

      VB应用程序呈层次结构。典型应用程序包括若干个模块:应用程序中每个窗体的窗体模块、共享代码的标准模块和类模块。每个模块包含若干含 有代码的过程:Event过程,Sub过程或Function过程及Property过程。

      在很多情况中都存在着多个对象共享的重复过程。这种情况最好创建一个共享的子过程,使大家都可以调用它。即使将来修改这些子程序,则只在一个地方修改就可进行全部修改,这将大大提高程序的可读性和可维护性。可以把所有的共享操作放在标准的模块中。

    展开全文
  • VB模块Timer(无窗体)

    2010-12-29 16:21:38
    在别的模块调用时,Private WithEvents timer1 As clsTimer就行,Timer事件就是时间到了后被触发的事件.
  • 怎么不使用界面参与的情况下在vb标准模块里定义可以给界面传参数的方式是什么?怎么实现标准模块给界面添加代码事件?
  • VB中窗体模块、标准模块、类模块的区别.pdf
  • 请问vb6.0中文怎么实现将标准模块作为启动窗体而不是sum main过程作为启动对象?能不能在标准模块中就提前给窗体参量的调用?
  • 对程序员和编程爱好者来说,VB中类的技术是学习中的一个难点,在大型软件的开发过程中,模块(Moudle)、控件(Active ocx)、链接库(Active dll)和类(Class moudle)构成了系统化、高效化的软件工程,而类的技术是...
  • 怎么在vb中文用标准模块的summain子过程代替界面的摆放实现初始化和调用控件?并且控件参量也要传递?怎么在sum main这个过程里实现?
  • vb编程中我们一般定义全局变量在标准模块中,标准模块会像ocx那样自动分配的内存变量么?还是在调用的时候会产生内存放入exe?
  • vb6.0的标准模块的标准过程的定义怎么改变显示界面配置的变量,怎么对界面的变量进行切换操作?
  • vb窗体直接传递参数有多种方式,比较常用的一种就是在模块里就可以声明全局变量,vb怎么在模块里就可以声明全局变量? 首先打开vb 如图,在这里点击右键,选择”添加“选项,然后点击“添加模块” ...
    1. vb窗体直接传递参数有多种方式,比较常用的一种就是在模块里就可以声明全局变量,vb怎么在模块里就可以声明全局变量?

    2. 首先打开vb

      vb怎么声明全局变量

    3. 如图,在这里点击右键,选择”添加“选项,然后点击“添加模块”

      vb怎么声明全局变量

    4. 然后出现选择模块,点击“打开”

      vb怎么声明全局变量

    5. 4

      然后在模块里就可以声明全局变量了。。。

      例如public a as integer

      vb怎么声明全局变量

    展开全文
  • 单类模块实现子类化消息拦截示例(PctGL版) 这个类模块采用内嵌汇编技术,实现了单类模块化,不再需要AddressOf与标准模块了. 对于工程的结构有帮助.
  • 这是用VB写的激活窗口灰色按钮的一个程序模块,采用VB6.0编写,热键定义: 默认热键F12,窗体总在最前,可以将当前窗口的按钮及菜单都设为可用.特别适用于一些软件有功能限制以及在网吧中的限制! 程序只能以窗体、...
  • VB一些常用控件集,以及一些方法模块,编辑框.ctl、进度条、全局热键钩子、网站服务器、托盘控件、WinSock.ctl、曲线图.ctl、压缩算法-升级版.cls、数组加解密.cls、打开文件属性面板.bas等,其中一个模块的部分代码...
  • 关于VB生成标准DLL文件

    千次阅读 2006-09-19 13:31:00
    工程NewLinker.vbp模块文件NewLinker.basOption ExplicitPublic Sub Main() Dim SpecialLink As Boolean, fCPL As Boolean, fResource As Boolean Dim intPos As Integer Dim strCmd As String Dim strPath

    工程NewLinker.vbp

    模块文件NewLinker.bas

    Option Explicit

    Public Sub Main()
       Dim SpecialLink As Boolean, fCPL As Boolean, fResource As Boolean
       Dim intPos As Integer
       Dim strCmd As String
       Dim strPath As String
       Dim strFileContents As String
       Dim strDefFile As String, strResFile As String
       Dim oFS As New Scripting.FileSystemObject
       Dim fld As Folder
       Dim fil As File
       Dim ts As TextStream, tsDef As TextStream

       strCmd = Command
      
       Set ts = oFS.CreateTextFile(App.Path & "/lnklog.txt")
      
       ts.WriteLine "Beginning execution at " & Date & " " & Time()
       ts.WriteBlankLines 1
       ts.WriteLine "Command line arguments to LINK call:"
       ts.WriteBlankLines 1
       ts.WriteLine "   " & strCmd
       ts.WriteBlankLines 2
      
       ' Determine if .DEF file exists
       '
       ' Extract path from first .obj argument
       intPos = InStr(1, strCmd, ".OBJ", vbTextCompare)
       strPath = Mid(strCmd, 2, intPos + 2)
       intPos = InStrRev(strPath, "/")
       strPath = Left(strPath, intPos - 1)
       ' Open folder
       Set fld = oFS.GetFolder(strPath)
      
       ' Get files in folder
       For Each fil In fld.Files
          If UCase(oFS.GetExtensionName(fil)) = "DEF" Then
             strDefFile = fil
             SpecialLink = True
          End If
          If UCase(oFS.GetExtensionName(fil)) = "RES" Then
             strResFile = fil
             fResource = True
          End If
          If SpecialLink And fResource Then Exit For
       Next
         
       ' Change command line arguments if flag set
       If SpecialLink Then
          ' Determine contents of .DEF file
          Set tsDef = oFS.OpenTextFile(strDefFile)
          strFileContents = tsDef.ReadAll
          If InStr(1, strFileContents, "CplApplet", vbTextCompare) > 0 Then
             fCPL = True
          End If
         
          ' Add module definition before /DLL switch
          intPos = InStr(1, strCmd, "/DLL", vbTextCompare)
          If intPos > 0 Then
             strCmd = Left(strCmd, intPos - 1) & _
                   " /DEF:" & Chr(34) & strDefFile & Chr(34) & " " & _
                   Mid(strCmd, intPos)
          End If
          ' Include .RES file if one exists
          If fResource Then
             intPos = InStr(1, strCmd, "/ENTRY", vbTextCompare)
             strCmd = Left(strCmd, intPos - 1) & Chr(34) & strResFile & _
                      Chr(34) & " " & Mid(strCmd, intPos)
          End If
         
          ' If Control Panel applet, change "DLL" extension to "CPL"
          If fCPL Then
             strCmd = Replace(strCmd, ".dll", ".cpl", 1, , vbTextCompare)
          End If
         
          ' Write linker options to output file
          ts.WriteLine "Command line arguments after modification:"
          ts.WriteBlankLines 1
          ts.WriteLine "   " & strCmd
          ts.WriteBlankLines 2
       End If
      
       ts.WriteLine "Calling LINK.EXE linker"
       Shell "linklnk.exe " & strCmd
       If Err.Number <> 0 Then
          ts.WriteLine "Error in calling linker..."
          Err.Clear
       End If
      
       ts.WriteBlankLines 1
       ts.WriteLine "Returned from linker call"
       ts.Close
    End Sub

    以上生成NewLinker.exe 替代VB中的link.exe

    -------------------------------------------------------------------------

    DLL模块文件,类模块文件

    Option Explicit

    Public Const DLL_PROCESS_DETACH = 0
    Public Const DLL_PROCESS_ATTACH = 1
    Public Const DLL_THREAD_ATTACH = 2
    Public Const DLL_THREAD_DETACH = 3

    Public Function DllMain(hInst As Long, fdwReason As Long, lpvReserved As Long) As Boolean
       Select Case fdwReason
          Case DLL_PROCESS_DETACH
             ' No per-process cleanup needed
          Case DLL_PROCESS_ATTACH
             DllMain = True
          Case DLL_THREAD_ATTACH
             ' No per-thread initialization needed
          Case DLL_THREAD_DETACH
             ' No per-thread cleanup needed
       End Select
    End Function

    ' Return a Fibonacci number.
    Public Function Fibo(ByVal N As Integer) As Long
        If N <= 1 Then
            Fibo = 1
        Else
            Fibo = Fibo(N - 1) + Fibo(N - 2)
        End If
    End Function

    -------------------------------------------------------------------------------

    Fibonacci.def文件

    NAME MathLib
    LIBRARY MathMod
    DESCRIPTION "Add-on Library of Mathematical Routines"
    EXPORTS DllMain @1
                       Fibo @2

    --------------------------------------------------------------------------------

    如果觉得麻烦,还是用PowerBasic,它支持VB语法,函数都是Win32API,无需声明

    能够生成象VC一样的标准DLL,不依赖MSVBVM60.Dll

     

     

    展开全文
  • VB.NET中的类和模块

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

            在三层的例子中,我是仿照这C#中的结构来实现的VB.NET版的三层,但是在这之中出现了一个问题,那就是好像C#中只涉及到了各种类的使用,没有用到模块(module),但是在VB中要调用一个类中的字符串的时候却是出现了不能调用的问题,于是把类改为了模块就可以直接调用了,这又是为什么呢?

    namespace Login.DAL
    {
        class DbUtil
        {
            public static string ConnString = @"Server=sam-pc;Database=Login;User ID=sa;Password=1";
        }
    }
        上为C#中的,调用为     SqlConnection conn = new SqlConnection(DbUtil.ConnString)

        而在VB.NET中的展示和用法:

    Module DbUtil
        Public ConnString As String = "Server=sam-pc;Database=Login;User ID=sa;Password=1"
    End Module
        使用:Dim conn As New SqlConnection(DbUtil.ConnString)

    一、标准模块(Module)

            标准模块是应用程序内其它模块访问的过程和声明的容器。它们可以包含变量、常数、类型、外部过程和全局过程的全局(在整个应用程序范围内有效的)声明或模块级声明。写入标准模块的代码不必绑在特定的应用程序上。这是在vb6中的定义,也适用VB.NET中声明的这个模块(毕竟在声明的代码上是一样的)。

            简单来说模块就是用来声明各种窗体,类都能调用的公共变量用的一个区域,可以有多个,但是空间是一样的,所以进行使用的时候不用声明就可以用(VB.NET中得引用这个模块才能用)。

    二、类(class)

            在建立各个文件结构的时候我就考虑过是建模块呢还是建立类呢?这个问题,由于C#中都是类,所以我也是都用的类才会出现这个问题,那么什么又是类呢?
            类实际上是对某种类型的对象变量和方法的原型,类是从一些具有相同属性或功能的具体实例中抽象出共有的一些属性的,自定义抽象数据类型。

            简单来说就是类是抽象的,需要实例化之后才能用其中的功能和数据,所以在使用之前都要先new一下在使用或者传值,其实这个例子使用类也是可以实现的,但是在VB中还不如用模块来的简单,所以我就使用的是模块。

    三、总结

            既然知道了类和模块的区别,那么我们接下来的使用也就更加的轻松了,如果是带有一定值的变量需要跨窗体或者类去使用,那么就要把他定义在模块中,如果是一个类的属性或者是固有的方法值,就要定义在类中,因为他们是一个有机的整体。




    展开全文
  • VB6标准模块实现微机与单片机间的通信源程序.doc
  • 在form里面申明xx和yy,然后通过form里面的time进行累加,在模块里面用yy读xx的...以下是标准模块内代码: Public Sub module1() yy = xx * 2 End Sub 提示的错误是:未找到方法或数据成员 请帮忙修改下,谢谢!
  • 本文针对目前传统手动标准测试的局限性,提出了组建EMI标准自动测试系统,详细阐述了基于VB和VC++混合编程的EMI标准自动测试系统软件的设计思路及各功能模块的实现原理及过程。本系统的主要优点是可以在实验室实现多种...
  • 请问用vb中文平台编程工具的启动对象,除了标准模块以外,可以单独使用控件来启动么?控件不挂在界面上而是从启动对象启动的方式是什么?
  • vb编程用标准模块代替窗体执行启动事件,因标准模块没有界面,怎么实现控件调用?怎么在sum main过程中调用控件事件?
  • vb中的模块是什么意思?

    千次阅读 2013-02-03 23:02:46
    VB模块也称代码模块: Visual Basic 的代码存储在模块中。模块有三种类型:窗体、标准和类。 简单的应用程序可以只有一个窗体,应用程序的所有代码都驻留在...独立模块应为标准模块。此后可以建立一个包含共享过程的模
  • ·创建具有很强内聚力的模块·创建更加容易调试和维护的过程·创建高度专用的过程·创建松散连接的过程·尽量使过程具有独立性·提高过程的扇入性·降低过程的扇出性·编程原则 ·为过程和模块赋予表义性强的名字 ...
  • Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书 Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java...
  • 怎么在vb中使用标准模块的方式实现直接给界面定制参数的实现?不通过界面vb有办法给界面传参么?
  • vb6.0中文怎么将控件的调用放在标准模块的启动对象过程中,同时触发界面?怎么从界面得到参量返回标准模块
  • VB中提供了三种类型的模块:窗体模块、标准模块和类模块。  简单的应用程序可以只有一个窗体,所用的程序都驻留在窗体模块中,而当应用程序庞大复杂时,就要另外附加窗体。最终可能有几个窗体中有一些共同都要...
  • 怎么在vb6.0中实现仅用标准模块在启动的时候同时显示两个界面?怎么设置多重启动窗体对象?

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,320
精华内容 8,128
关键字:

vb标准模块