精华内容
下载资源
问答
  • VB参数传递方式判别与解题应用[汇编].pdf
  • VB过程中使用的参数分为实参和形参,简单的讲,在过程定义中给定的参数是形参,而在过程调用语句中给定的参数是实参。...对参数传递方式的正确判别是过程学习中的一个难点,也是等级考试中的一个考点
  • 委托调用多线程传递参数vb.net vb.net多线程通过Deletgrate委托调用传递参数 实现多线程调用中变量和参数的传入和传出。 原创代码,亲测有效!
  • vb.net多线程传递参数,通过class类。可以实现超线程调用sub时,参数和变量的传递 vb.net多线程传递参数,通过class类。可以实现超线程调用sub时,参数和变量的传递
  • VB几种函数参数传递方法,Variant,数组,Optional,ParamArray一) 过程的参数被缺省为具有 Variant 数据类型。1)ByRef按 地址传递参数在 VB 中是缺省的按地址传递参数后,过程返回的也是地址,函数中改变了的变量值...

    VB几种函数参数传递方法,Variant,数组,Optional,ParamArray

    一) 过程的参数被缺省为具有 Variant 数据类型。

    1)ByRef按 地址传递参数在 VB 中是缺省的

    按地址传递参数后,过程返回的也是地址,函数中改变了的变量值也将带回来。

    2)ByVal 关键字指出参数是按值来传递的

    按值传递参数时,传递的只是变量的副本。如果过程改变了这个值,则所作变动只影响副本而不会影响变量本身。

    二)使用不定数量的参数 ParamArray

    一般说来,过程调用中的参数个数应等于过程说明的参数个数。可用 ParamArray 关键字指明,过程将接受任意个数的参数。于是可以这样来编写计算总和的 Sum 函数:

    Dim x As Integer,y As Integer,intSum As Integer

    Sub Sum (ParamArray intNums ())

    For Each x In intNums

    y = y + x

    Next x

    intSum = y

    End Sub

    调用方法 Sum 1, 3, 5, 7, 8

    三)Optional 关键字,使用可选的参数

    Optional 关键字,就可以指定过程的参数为可选的。如果指定了可选参数,则参数表中此参数后面的其它参数也必是可选的,并且要用 Optional 关键字来声明。

    Dim strName As String,varAddress As Variant

    Sub ListText (x As String, Optional y As Variant)

    List1.AddItem x

    If Not IsMissing (y) Then

    List1.AddItem y

    End If

    End Sub

    调用1: Call ListText("yourname")'未提供第二个参数。

    2: Call ListText("yourname",12345)

    在未提供某个可选参数时,实际上将该参数作为具有 Empty 值的变体来赋值。

    上例说明如何用 IsMissing 函数测试丢失的可选参数。

    四)Optional 声明arr()数组与Variant 方法

    通常用Optional arr() as TypeName 为非法

    此时可声明函数变量为 Optional arr as Variant

    调用时可使用Fun(arr())

    此时函数中可用LBound(arr)的UBound(arr)确定数组边界

    【Python学习】函数参数传递方法四种(位置,关键字,默认值,包裹位置,包裹关键字传递)

    1. 位置传递: #--coding:utf-8-- def send(name,address): return 'package is sent to %s, located in %s' %(n ...

    Typescript 常见的几种函数重载方法详解与应用示例

    所谓的重载,其实就是使用相同的函数名,传入不同数量的参数或不同类型的参数,以此创建出多个方法或产生不同结果. 1. 最常见的,也就是根据定义傻瓜式地判断参数类型与数量 function showPer ...

    VB中DateDiff 函数解释

    VB中DateDiff 函数使用方法 DateDiff (interval, Date1 , Date2[,firstweekofyear[,firstweekofyear]])  返回一个Varia ...

    python中函数参数传递的几种方法

    转自  http://www.douban.com/note/13413855/ Python中函数参数的传递是通过“赋值”来传递的.但这条规则只回答了函数参数传递的“战略问题”,并没有回答“战术问题 ...

    5种 JavaScript 调用函数的方法

    一次又一次的,我发现,那些有bug的Javascript代码是由于没有真正理解Javascript函数是如何工作而导致的(顺便说一下,许多那样的代码是我写的).JavaScript拥有函数式编程的特性 ...

    C语言 数组做函数参数不传数组个数的遍历方法

    //数组做函数参数不传数组个数的遍历方法 #include #include #include void ...

    C语言学习笔记 (005) - 二维数组作为函数参数传递剖析

    前言 很多文章不外乎告诉你下面这几种标准的形式,你如果按照它们来用,准没错: //对于一个2行13列int元素的二维数组 //函数f的形参形式 f(int daytab[2][13]) {...} / ...

    随机推荐

    oracle 12541,12560,00511无监听程序, 协议适配器错误问题分析及解决方案

    oracle 12541,12560,00511无监听程序, 协议适配器错误问题分析及解决方案   问题描述: 1. lsnrctl start.stop.非常慢,出现卡顿现象: 2. 执行lsnrc ...

    ECSHOP验证码背景图修改教程

    ECSHOP验证码背景图修改教程 ECSHOP教程/ ecshop教程网(www.ecshop119.com) 2013-11-18   ECSHOP验证码背景图修改教程: ECSHOP前后台的某些地 ...

    Linux常用命令(持续更新中)

    cd 目录名 :进入某个目录 ls :列出当前目录的内容 locate 文件名/目录名:寻找文件.目录 find 目录名1 -name 文件名/目录名2 :在目录1中寻找目录2 whereis  文件 ...

    application:didFinishLaunchingWithOptions:详解

    iOS 程序启动时总会调用application:didFinishLaunchingWithOptions:,其中第二个参数launchOptions为NSDictionary类型的对象,里面存储有 ...

    【CSS3】Advanced4:Advanced Colors

    1.rgba(red,green,blue,alpha(不透明度0.0(完全透明)与 1.0(完全不透明)) 2.HSLa(hue(色调 0red 120green 240blue),saturati ...

    iOS 自定义一个常规的TabBar

    #import "WJWBaseTabBarViewController.h" #import "WJWTabBarButton.h" #import &quo ...

    JAVA8 Stream集合操作:中间方法和完结方法

    StreamLambda为java8带了闭包,这一特性在集合操作中尤为重要:java8中支持对集合对象的stream进行函数式操作,此外,stream api也被集成进了collection api, ...

    IDEA运行android项目一直是同一个apk

    1.IDEA运行android项目时不像eclipse和android studio那样直接运行,IDEA需要设置Artifacts,这样每次运行的时候它才能重新编译,以下附上步骤! 这样就可以了.

    Oracle层次查询和分析函数在号段选取中的应用

    转自:http://www.itpub.net/thread-719692-1-1.html 摘要一组连续的数,去掉中间一些数,如何求出剩下的数的区间(即号段)?知道号段的起止,如何求出该号段内所有的 ...

    展开全文
  • VB参数传递(传值ByVal与传址ByRef)[整理].pdf
  • VB 6.0 数组参数调用实例:  Dim A1(), B1(), C1() '声明数组  Private Sub Form_Load()  Dim i As Integer '给数组赋初值  Show  A1 = Array(2, 4, 6, 8, 10) '用Array函数赋值  B1 = Array(1, 3, 5, 7, 9, ...
  • 2018年计算机二级考试VB基础知识:参数传递参数传递1.形参与实参的概念形参:指出现在Sub 和Function过程形参表中的变量名、数组名,过程被调用前,没有分配内存,其作用是说明自变量的类型和形态以及在过程中的...

    2018年3月计算机等级考试即将开始,小编在这里为考生们整理了2018年计算机二级考试VB基础知识,希望能帮到大家,想了解更多资讯,请关注出国留学网的及时更新哦。

    2018年计算机二级考试VB基础知识:参数的传递

    参数的传递

    1.形参与实参的概念

    形参:指出现在Sub 和Function过程形参表中的变量名、数组名,过程被调用前,没有分配内存,其作用是说明自变量的类型和形态以及在过程中的角色。形参可以是:

    1)除定长字符串变量之外的合法变量名;

    2)后面跟()括号的数组名。

    实参:是在调用Sub 和Function过程时,传送给相应过程的变量名、数组名、常数或表达式。在过程调用传递参数时,形参与实参是按位置结合的,形参表和实参表中对应的变量名可以不必相同,但位置必须对应起来。

    形参与实参的关系:形参如同公式中的符号,实参就是符号具体的值;调用过程:即实现形参与实参的结合,也就是把值代入公式进行计算。

    2. 按值传递参数(定义时加ByVal)

    按值传递参数(Passed By Value)时,是将实参变量的值复制一个到临时存储单元中,如果在调用过程中改变了形参的值,不会影响实参变量本身,即实参变量保持调用前的值不变。

    3.按地址传递参数(定义时没有修饰词或带关键字ByRef)

    按地址传递参数时,把实参变量的地址传送给被调用过程,形参和实参共用内存的同一地址。在被调用过程中,形参的值一旦改变,相应实参的值也跟着改变。如果实参是一个常数或表达式,VB会按“传值”方式来处理。

    4.数组参数

    VB允许把数组作为形参出现在形参表中,语法: 形参数组名() [As 数据类型]

    形参数组只能按地址传递参数,对应的实参也必须是数组,且数据类型相同。调用过程时,把要传递的数组名放在实参表中,数组名后面不跟圆括号。在过程中不可以用Dim语句对形参数组进行声明,否则会产生“重复声明”的错误。但在使用动态数组时,可以用ReDim语句改变形参数组的维界,重新定义数组的大小。

    5. 对象参数

    VB中可以向过程传递对象,在形参表中,把形参变量的类型声明为“Control”,可以向过程传递控件;若声明为“Form”,则可向过程传递窗体。对象的传递只能按地址传递。

    推荐阅读:

    出国留学网计算机等级考试栏目推荐:

    展开全文
  • VB和VC 结构体Dll参数传递VB中的结构体作为参数,传递VC中的结构体dll
  • 之前我们看到用VB.NET调用Excel VBA的例子比较多,本次是使用VB.NET向Word VBA传递参数,并调用Word VBA生成Word报告或PDF文档。 在Word VBA中,可访问数据库,获得自己想展示的数据,灵活度比较高。 运行环境:VS...
  • vb传递二维数组作为参数

    千次阅读 2018-01-03 09:55:00
    中一个二维数组给一个函数作为参数,您可以参考以下代码: Private Sub Command1_Click () Dim abc ( 1 , 2 ) As Integer abc ( 0 , 0 ) = 1 abc ( 0 , 1 ) = 2 abc ( 0 , 2 ) = 3 abc ( 1 , 0...

    关于在VB中一个二维数组给一个函数作为参数,您可以参考以下代码:

    Private Sub Command1_Click()

    Dim abc(1, 2) As Integer

    abc(0, 0) = 1

    abc(0, 1) = 2

    abc(0, 2) = 3

    abc(1, 0) = 4

    abc(1, 1) = 5

    abc(1, 2) = 6

    Test abc

    End Sub

    Sub Test(iarray() As Integer)

    Dim i As Integer, j As Integer

    For i = LBound(iarray, 1) To UBound(iarray, 1)

    For j = LBound(iarray, 2) To UBound(iarray, 2)

    MsgBox (iarray(i, j))

    Next

    Next

    End Sub

    - 微软亚洲技术中心 VB技术支持

    本贴子仅供CSDN的用户作为参考信息使用。其内容不具备任何法律保障。您需要考虑到并承担使用此信息可能带来的风险。具体事项可参见使用条款 (http://www.csdn.net/microsoft/terms.shtm)

    转载于:https://my.oschina.net/fenglinwansu/blog/1600978

    展开全文
  • 如:VB :默认为地址传递,可以指定用值传递C: 普通方式实现值传递,指针方式实现地址传递C++:比 C 多了引用传递,本质上是地址传递Fortran: 默认为地址传递,可以指定使用值传递两种传递方式的区别:1....

    转载一篇好文章,小修改了下,2011年新写的,强大~

    在各种语言中,输入参数传递方法(地址传递、值传递)各有不同。如:

    VB :默认为地址传递,可以指定用值传递

    C: 普通方式实现值传递,指针方式实现地址传递

    C++:比 C 多了引用传递,本质上是地址传递

    Fortran: 默认为地址传递,可以指定使用值传递

    两种传递方式的区别:

    1. 用地址传递方式可以在函数内部修改传入的参数值,而值传递不可以。

    2. 值传递需要对输入的参数进行拷贝,复杂的数据结构值传递时会降低程序执行的效率。

    那么MATLAB的函数参数究竟用哪一种方式呢?

    查看帮助文档得到结果:如果函数内部试图修改输入参数的值则为值传递,如果没有修改则为地址传递。

    采用这一处理方式的目的是:

    1. 不允许函数内部修改输入参数的值

    2. 兼顾执行效率(地址传递不需要将输入参数拷贝一份)

    那么我们可不可以去验证一下呢?

    首先我们需要借助一个mex函数,该函数的功能就是改变输入参数的数值,由于该函数是借助mex方式实现的,所以MATLAB无法检测到我们修改了输入参数的值。

    以下是该mex函数的代码:mexChangeValue.cpp

    #include "mex.h"

    void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])

    {

    if(nrhs != 1)

    {

    mexErrMsgTxt("需要一个输入参数!");

    }

    if(mxIsEmpty(prhs[0]) || !mxIsDouble(prhs[0]))

    {

    mexErrMsgTxt("输入参数必须为非空 Double 类型!");

    }

    double *pValue = mxGetPr(prhs[0]);

    pValue[0] = 1.2;

    }

    然后开始做实验:

    function ArgTest

    clc

    a = 0;

    fun1(a);

    disp(a);

    b = 0;

    fun2(b);

    disp(b);

    function fun1(a)

    % 更改输入参数的值为 3,此时MATLAB做一份外部输入参数的拷贝

    a = 3;

    % 用mex方式将输入参数的值改为 1.2,因为做了一份拷贝,所以并没有更改外部参数的值

    mexChangeValue(a);

    function fun2(b)

    % 用mex方式将输入参数的值改为 1.2,还没有做拷贝,更改了外部参数的值

    mexChangeValue(b);

    % 此时做了外部参数的一份拷贝,但为时已晚,外部参数的值已经被更改了

    b = 3;

    我们可以看到输出结果为:

    0

    1.2000

    a 的值没有改变,而 b 的值被改变了,说明在 fun1 中 "a = 3;" 之后,对输入参数 a 做了一份拷贝,变为“值传递”,而在 fun2 中刚开始进入函数时是“地址传递”的。

    结论:

    1. 在改变输入参数的值之前是“地址传递”的,在改变输入参数的值之后变为“值传递”。

    2. 我们在编写函数时,尽量不要对输入参数重新赋值,尤其是对复杂的数据,这样会降低执行效率。

    展开全文
  • VB 如何把一个listbox作为参数传递

    千次阅读 2016-12-02 12:09:18
    方法二:更好,但是还没完全看懂,网上搜了一下,都是有关VB.NET的编程 Public Class Form1 'Listbox之间项目拖动示例,左键移动,右键复制 Private Sub Form1_Load(ByVal sender As System.Object, ...
  • VB编程:利用Object变量传递参数-21

    千次阅读 2016-11-21 15:14:39
    运行效果: 程序代码: Private Sub Command1_Click()  Dim i As Object  Set i = Text1  i.Text = "传递参数" End Sub
  • KIS 旗舰版 VB6.0调用C#可执行程序,并传递参数 调用C#可执行程序部分代码 Dim FID As String Dim FBillNo As String Dim CtlIndex As Integer Dim Cnnstring As String Dim path As String FID = m_...
  • 关于VB的指针以及VB和C/C++间的参数传递

    千次阅读 多人点赞 2012-10-14 14:57:06
    首先,我们使用C/C++创建一个WIN32 DLL,这样VB才可以使用C/C++的代码。 此前我对DLL导出函数已有专文讲述,这里就不再赘述,当然为了各位能够去验证,我还是把步骤截图上来: 打开VC6,新建一个Win32 DLL工程...
  • VB传递数组参数

    千次阅读 2008-01-10 01:08:00
    Public Sub 第一个工程() MsgBox "这是我的第一个过程" Dim arrND(0 To 1, 0 To 1) As Variant arrND(0, 0) = "Sample.vsd" arrND(0, 1) = "111" arrND(1, 0) = "222" arrND(1, 1) = "333" CreateDrawing (ar
  • 按值传递(ByVal):形参和实参占有不同的存储空间,调用过程改变了形参变量的值,实参的值不会受影响。调用结束后,实参还是调用之前的值, Private Sub Command1_Click() Dim x As Integer x =
  • vb函数参数传递

    万次阅读 2005-06-16 12:18:00
    实际上,形参的完整的语法格式应该为:[[Optional][ByVal|ByRef]|ParamArray] > [()][As 类型>][=缺省值>]ByVal表示该参数按值传递,简称值参。此时形参与实参各占一个独立的存储空间,形参的存储空间是调用时才分配...
  • 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;}...
  • 世风日下。 说起来这是个非常非常小众的需求,实现方式也是多种多样,
  • VB调用VC 生成的dll里面的参数传递为结构体。
  • vb.net读取快捷方式

    2012-03-25 10:49:44
    在textbox1中输入快捷方式lnk文件路径,点击按钮,textbox2中将显示该快捷方式指向的文件路径
  • 有多种方法可以在窗口之间传递数据,比如: 1、在模块文件(Module)中声明一个全局公共变量,然后在其他窗体中就可以通过这个变量来存取数据了,如: 在模块文件中声明变量a Public a as string 在Form1中给a赋值 a...
  • VB EXE程序传递参数

    千次阅读 2008-02-16 15:11:00
    在CMD里输入 abc.exe /s 那么VB6中的全局变量 Command$里的值就是:/s试试以下代码你就明白了: Private Sub Form_Load() MsgBox Command$ End Sub 
  • 内容索引:VB源码,系统相关,文件夹浏览 VB使用两种方式实现文件夹浏览,第一种是使用文件夹名浏览,第二种则使用文件夹的PIDL浏览,使用文件夹的pidl 来预先选择文件夹,释放GetPIDLFromPath调用中设置的pidl、释放...
  • 至于返回值,可以在类中定义一个带参数的事件,在处理参数中触发事件,并把我们所需要的返回值做为参数传递出去。 在构建多线程时,先 Private WithEvents MyFirstClass as new MyClass(Arg1,Arg2....)其中Arg1...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 25,554
精华内容 10,221
关键字:

vb参数传递方式