精华内容
下载资源
问答
  • 内容索引:VB源码,系统相关,文件夹浏览 VB使用两种方式实现文件夹浏览,第一种是使用文件夹名浏览,第二种则使用文件夹的PIDL浏览,使用文件夹的pidl 来预先选择文件夹,释放GetPIDLFromPath调用设置的pidl、释放...
  • VB过程使用的参数分为实参和形参,简单的讲,在过程定义给定的参数是形参,而在过程调用语句给定的参数是实参。...对参数传递方式的正确判别是过程学习的一个难点,也是等级考试的一个考点
  • 不要做A语言代码修改为B语言代码的无用功...即可很方便地让A、B两种语言之间协调工作。 比如: A将请求数据写到文件a.txt,写完后改名为aa.txt B发现aa.txt存在时,读取其内容,调用相应功能,将结果写到文件b.txt,...
    不要做A语言代码修改为B语言代码的无用功。
    也不要做用A语言代码直接调用B语言代码库这样复杂、这样容易出错的傻事。
    只需让A、B语言代码的输入输出重定向到文本文件,或修改A、B语言代码让其通过文本文件输入输出。
    即可很方便地让A、B两种语言之间协调工作。
    比如:
    A将请求数据写到文件a.txt,写完后改名为aa.txt
    B发现aa.txt存在时,读取其内容,调用相应功能,将结果写到文件b.txt,写完后删除aa.txt,改名为bb.txt
    A发现bb.txt存在时,读取其内容,读完后删除bb.txt
    以上A可以替换为任何一种开发语言或开发环境,B可以替换为任何一种与A不同的开发语言或开发环境。
    除非A或B不支持判断文件是否存在、文件读写和文件更名。
    但是谁又能举出不支持判断文件是否存在、文件读写和文件更名的开发语言或开发环境呢?
    可以将临时文件放在RamDisk上提高效率减少磨损磁盘。
    数据的结构很复杂的话,文本文件的格式问题可参考json或xml
    
    共享临时文本文件这种进程之间的通讯方法相比其它方法的优点有很多,下面仅列出我现在能想到的:
    ·进程之间松耦合
    ·进程可在同一台机器上,也可跨机,跨操作系统,跨硬件平台,甚至跨国。
    ·方便调试和监视,只需让第三方或人工查看该临时文本文件即可。
    ·方便在线开关服务,只需删除或创建该临时文本文件即可。
    ·方便实现分布式和负载均衡。
    ·方便队列化提供服务,而且几乎不可能发生队列满的情况(除非硬盘空间满)
    ·……
    
    “跨语言、跨机,跨操作系统,跨硬件平台,跨国,跨*.*的”苦海无边,
    回头是“使用共享纯文本文件进行信息交流”的岸!
    
    展开全文
  • vb中函数的调用与参数传递

    千次阅读 2010-12-14 20:54:00
    <br />形参如果是数组必须加小括号 如:定义过程 sub em( pay() as Single) 调用过程 em(xu()) 按值传递(ByVal):形参和实参占有不同的存储空间,调用过程改变了形参变量的值,实参的值...

    形参如果是数组必须加小括号

    如:定义过程  sub em( pay() as Single)

    调用过程    em(xu())

    按值传递(ByVal:形参和实参占有不同的存储空间,调用过程改变了形参变量的值,实参的值不会受影响。调用结束后,实参还是调用之前的值,

    Private Sub Command1_Click()

    Dim x As Integer

    x = 6

    Print "调用sub过程前x="; x

    Call test(x)

    Print "调用sub过程后x="; x

    End Sub

    Sub test(ByVal m As Integer)

    m = m + 5

    End Sub

     

     


    按地址传递(ByRef,默认的传递方式:调用过程,实参变量的地址传递给形参,使用相同的地址,因此使用相同的数据类型,只有实参是变量或数组时才能按地址传递,如果是常量,实际进行的是按值传递

    Private Sub Command1_Click()

    Dim x As Integer

    x = 6

    Print "调用sub过程前x="; x

    Call test(x)

    Print "调用sub过程后x="; x

    End Sub

    Sub test(ByRef m As Integer)

    m = m + 5

    End Sub

     

    数组做参数时是按地址传递参数的,不能使用关键字“ByVal”修饰形参

    展开全文
  • vb函数参数传递

    万次阅读 2005-06-16 12:18:00
    实际上,形参的完整的语法格式应该为:[[Optional][ByVal|ByRef]|ParamArray] > [()][As 类型>][=缺省值>]ByVal表示该参数按值传递,简称值参。此时形参与实参各占一个独立的存储空间,形参的存储空间是调用时才分配...

    实际上,形参的完整的语法格式应该为:

    [[Optional][ByVal|ByRef]|ParamArray] <变量名> [()][As <类型>][=<缺省值>]

    ByVal表示该参数按值传递,简称值参。此时形参与实参各占一个独立的存储空间,形参的存储空间是调用时才分配的。如果选择值参,则实参与过程体内的运算无关,它仍保留原值。因此,为了保护实参不受过程运算的影响,应选用数值参数。

    ByRef表示该参数按地址传递,称为变量参数,简称变参。此时形参与实参共同占用同一个存储空间,而实参的存储空间是调用前就分配了的。如果选择变参,则实参与过程体内的运算有关,形参的改变会影响变参的值。因此,当被调过程需要向调用方传递两个及两个以上的值时,应选用地址传递。由于变参是VB默认的传值方式,所以在此之前,很多地方我们使用的都是变参。

    需要说明的是:如果实参为常量,就是值参了

    值传递:传递值,传递后形参和变参脱离关系 形参可能变化,但不带给实参,属于“单向传递”。此时,形参一般是变量,实参可以为常数、变量、表达式。调用时为形参分内存。

    值传递:传递值,传递后形参和变参脱离关系 形参可能变化,但不带给实参,属于“单向传递”。此时,形参一般是变量,实参可以为常数、变量、表达式。调用时为形参分内存。

    地址传递:传递地址,形参与实参用的是同一个地址,形参的变化会直接带给实参,属于 “双向传递”。此时,形参、实参一般是变量或数组。

    Option Base 1

    Private Sub Command1_Click()

        Dim a(3) As Single, b(3) As Single, c(3) As Single

        Dim x As Single, y As Single

        Dim i As Integer

        For i = 1 To 3

            a(i) = Val(InputBox("请输入第" & i & "个方程的系数a:", "输入框"))

            b(i) = Val(InputBox("请输入第" & i & "个方程的系数b:", "输入框"))

            c(i) = Val(InputBox("请输入第" & i & "个方程的系数c:", "输入框"))

            Call root(a(i), b(i), c(i), x, y)

            Print "第"; i; "个方程"; a(i); "X^2+"; b(i); "X+"; c(i); "=0的根为:"

        Next i

      Print x, y

    Call oneline

    End Sub

    Public Sub root(ByVal a As Single, _

    ByVal b As Single, ByVal c As Single, _

                 x1 As Single, x2 As Single)//vb默认的是变参

        Dim d As Single

        Dim p As Single, q As Single

        d = b * b - 4 * a * c

        p = -b / 2 / a: q = Sqr(d) / 2 / a

        x1 = p + q: x2 = p - q

    End Sub

    Public Sub oneline()

        Dim k As Integer

        For k = 1 To 40

            Print "=";

        Next k

        Print

    End Sub

     

    说明:

    ⑴a、b、c、x1、x2为形参,a(i)、b(i)、c(i)、x、y为实参。

    ⑵其中a、b、c为值参,x1、x2为变参。
    关于函数传参ByVal与ByRef之间的异同点
    -------------------------------------

    首先,两种方式得到的结果毋庸置疑,肯定是一样的.

    使用ByRef传参会改变量本身的值,而ByVal则不会,因为ByVal仅仅是将变量的副本传递到函数中.

    那么使用这两种方式传参对代码的效率会有什么影响呢?我想,这是大部分程序员所关心的.

    在默认情况下,VB是按ByRef传递参数的,在一般情况下ByVal方式要比ByRef传递参数快,但当你要传递比较大的字符串或数组时,ByRef方式就要比ByVal方式快,因为ByRef仅仅需要传递指向数据的四字节指针,而不是实际的数据.所以,在进行应用的时候,可以考虑实际情况进行处理,以便达到最佳的运行速度.


    题外话:

    长整型变量(Long)是VB中最快的变量类型.
    在做运算的时候,如果不是必须要保留小数,尽量避免使用浮点运算,因为整数运算不需要使用数字协处理器.
    尽量避免使用对象的属性代替常量进行运算,针对于任何对象属性的访问都会影响运算的速度.
    尽量使用动态数组,而避免使用静态数组,因为通过Erase方法可以清空动态数组中不需要的元素并释放出占用的内存,而对于静态数组,只能将数组中元素的内容清空,并不会释放数组元素所使用的内存.

    展开全文
  • 种VB窗体之间简单的参数传递方法

    千次阅读 2008-09-04 14:57:00
    假设有个窗体 form1 和form2,form1打开form2时必须将一个值传递给form2,实现该参数传递的方法如下: 首先在form2定义一个变量,如下 public nt as string 然后在form1给该变量赋值,如下 form2.nt="aaa" ...

     假设有两个窗体 form1 和form2,form1打开form2时必须将一个值传递给form2,实现该参数传递的方法如下:

     

    首先在form2定义一个变量,如下

      public nt as string

     

    然后在form1中给该变量赋值,如下

     

      form2.nt="aaa"

     

      form2.show

     

    如此,即将“aaa”传递给了form2.

    展开全文
  • 动态链接库(dll)的好处就不多说了,这里就把如何在VB中调用VC写的dll函数的方法介绍一下,供有需要的朋友们参考,同时也免得自己以后忘了。 初次接触DLL的用户经常会遇到一个问题:在VC环境下创建的DLL,在VC里...
  • c语言:字符串做为函数参数传递

    千次阅读 2021-05-20 10:57:55
    1、值传递void swap(int x,int y){ int temp = x;x = y;y = temp;}void main(){int a = 10, b = 20;swap(a, b);}执行后,并不会交换。2、引用传递void swap(int &x,int &y){ int temp = x;x = y;y = temp;}...
  • 最近正在用C#编写一个管理程序,由于用到了MFC编写的一个控件,...其中涉及到几个函数,比较典型的一个在MFC(标准C++的引用表示方式)的函数表示如下:bool GetCurItem(int &startHour, int &startMin,int &endHo
  • VB键盘事件shift参数vb*mask

    千次阅读 2016-11-26 12:43:09
    vbctrlmask,vbaltmask前瞻:1.shift参数值表 以及 vb*mask 值表2.ShiftDown=(Shift And vbShiftMask)>0如何理解正文:1.shift参数值表 以及 vb*mask 值表比如这个函数的shift参数Private Sub Form_KeyUp(KeyCode...
  • MATLAB函数的输入参数传递方式探秘

    千次阅读 2019-09-26 01:07:51
    在各种语言,输入参数传递方法(地址传递、值传递)各有不同。如: VB :默认为地址传递,可以指定用值传递 C: 普通方式实现值传递,指针方式实现地址传递 C++:比 C 多了引用传...
  • 按值传递(Byval)和按地址传递(ByRef)---参数传递

    千次阅读 热门讨论 2012-08-08 11:25:21
    在接触了这么多的编程语言后,似乎每个语言都要涉及到参数的传递,而参数传递过程两种传递方式: ①按值传递  ②按地址传递 学到现在了,仔细想想还是很模糊,从开始接触C++参数传递,只知道有...
  • 再看第10行,对于过程B,它的参数传递方式使用了ByVal关键字(即传值) 对于ByVal(传值),参数t和x根本就是不相关的个变量。就如同个人一样(以甲、乙为例),起初甲有个苹果,然后甲告诉乙,你现在也有个...
  • 主程序调用子程序是,往往需要向子程序传递一些参数,同样,子程序运行的时候也需要把一些结果参数传回给主程序,主程序与子程序之间的这种信息传递称为参数传递,我们把主程序传给子存续的参数称为子程序的入口参数...
  • VBA实现FTP上传文件的两种方式:①shell cmd命令②vba调用vb.net(传参并获取返回值) 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以...
  • VB自定义类型参数传递

    千次阅读 2012-07-08 21:12:06
    这里介绍VB自定义类型参数传递,用户自定义类型在VB中是一重要的数据类型,它为编程者提供了很大的灵活性,使开发人员可以根据需要构造自己的数据结构。 AD: 本文向大家介绍VB自定义类型参数...
  • 就是我们为什么要把一个函数的地址作为参数传递给另一个参数。要知道在C语言,一个函数内部是可以直接调用其他函数的,既然可以直接调用,为什么还要用这么麻烦的办法去把函数当做参数来传递呢。下面我举个例子。 ...
  •   vb6存在几个虚幻的值:Null、Missing、Empty、Nothing、vbNullString。除了最后一个之外,每一个值都不能直接用“a=值”来判断。下面分别解释一下这几个值的含义。 1、Null Null指一个不合法的数据,判断一...
  • VB中对EXCEL的各种操作

    万次阅读 多人点赞 2017-02-08 15:20:15
    33) 设置显示方式(分页方式显示) ExcelID.ActiveWindow.View = xlPageBreakPreview 34) 设置显示比例 ExcelID.ActiveWindow.Zoom = 100 35) 让Excel 响应 DDE 请求 Ex.Application....
  • VB中Sub过程与Function过程的区别

    千次阅读 2020-01-14 13:39:58
    VB的通用过程分为两种类型:Sub过程和Function过程。通用过程既可以保存在窗体模块(.Frm),也可以保存在标准模块(.Bas)。通用过程与事件过程不同,它不依附于某一对象,也不是有对象的某一事件驱动或由系统...
  • VB中function的应用

    千次阅读 2014-05-05 12:01:38
    (过程名) [ 实参表] 3, 无参数直接调用。 举例  Function f2  F2=”Flollow me.”  End Function 关于vb function (1)有谁能清楚地介绍vb function过程
  • VB.NET机房重构】数据传递----实体、DataTable、泛型

    千次阅读 热门讨论 2015-06-11 21:17:59
    泛型是程序设计语言的一特性。泛型结合类可以将类型参数用做它所存储的对象的类型的占位符。类型参数作为其字段的类型和其方法的参数类型出现。这样说可能有些抽象,那就从最开始的实体来举例吧。 一直不能理解我...
  • 比如下面两种写法都可以 ThisWorkbook.SaveCopyAs Filename:=ThisWorkbook.Path & "\" & ActiveSheet.Name & ".xlsm" ThisWorkbook.SaveCopyAs (ThisWorkbook.Path & "\" & ActiveSheet.Name & ".xlsm") 也...
  •  今天上午学习vb关于过程的这一章节时,在敲书例子时,由于我的不小心,把其中个代码给敲错了,引发了下面图的问题。  然后,我就去查找相关资料,寻求什么叫ByRef参数类型不符,它代表的含义是什么...
  • 细谈VB中的function程序应用问题!

    万次阅读 热门讨论 2012-06-06 21:14:05
    VB中function 程序如何应用?  Function 过程是由用户定义的独立的函数过程,与Sub字程序类似。Function 函数过程可读取...如果过程需要多次用到某一公式或函数时,VB中有没有可用的参数,此时,Function过程就派
  • java中参数是什么?

    千次阅读 2021-02-12 14:11:39
    java中参数是什么?...java中参数是什么?参数分为实参和形参。...vb中参数是什么vb中参数是在函数(或过程),用于决定流程、或参与计算、或决定样式模式等的量。参数分为虚参和实参。在定义函数的时候,先假设一个参...
  • VB模拟键盘输入的N方法

    千次阅读 2017-10-17 09:01:25
    VB模拟键盘事件的N方法 键盘是我们使用计算机的一个很重要的输入设备了,即使在鼠标大行其道的今天,很多程序依然离不开键盘来操作。但是有时候,一些重复性的,很繁琐的键盘操作总会让人疲惫,于是就有了用...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 18,798
精华内容 7,519
关键字:

vb中参数传递的两种方式