rsDepartment是一个对象或数据结构或类 在引用它的不止一个属性或方法的时候用WITH END WITH 可以加快程序的执行 举个例子就明白了, 假设有个标签名为LABEL1,我们要改变它的内容,底色和位置一般的写法是: LABEL1.CAPTION="HELLO WORLD" LABEL1.BACKCOLOR=vbBLACK LABEL1.LEFT=10 LABEL1.TOP=20 这样,在运行的时候LABEL1控件需要被载入4次而改为: WITH LABEL1 .CAPTION="HELLO WORLD" .BACKCOLOR=vbBLACK .LEFT=10 .TOP=20 END WITH 这时LABEL1只要被载入一次就可以了,不但减少了输入量也加快了程序运行的速度 (如果上述的语句要进一步优化则最后两句改变位置的语句可以用一句语句完成: .move 10,20 这里只是随便举个例子说明WITH的用法,各位通人不必深究)
With 语句 在一个单一对象或一个用户定义类型上执行一系列的语句。语法With object [statements]End WithWith 语句的语法具有以下几个部分:部分 描述 object 必要参数。一个对象或用户自定义类型的名称。 statements 可选参数。要执行在 object 上的一条或多条语句。 说明With 语句可以对某个对象执行一系列的语句,而不用重复指出对象的名称。例如,要改变一个对象的多个属性,可以在 With 控制结构中加上属性的赋值语句,这时候只是引用对象一次而不是在每个属性赋值时都要引用它。下面的例子显示了如何使用 With 语句来给同一个对象的几个属性赋值。With MyLabel .Height = 2000 .Width = 2000 .Caption = "This is MyLabel" End With注意 当程序一旦进入 With 块,object 就不能改变。因此不能用一个 With 语句来设置多个不同的对象。可以将一个 With 块放在另一个之中,而产生嵌套的 With 语句。但是,由于外层 With 块成员会在内层的 With 块中被屏蔽住,所以必须在内层的 With 块中,使用完整的对象引用来指出在外层的 With 块中的对象成员。重点 一般来说,建议您不要跳入或跳出 With 块。如果在 With 块中的语句被执行,但是 With 或 End With 语句并没有执行,则一个包含对该对象引用的临时变量将保留在内存中,直到您退出该过程。。
With说简单点,就是对象限定符号,表示With...End With中的代码可以省略操作对象。比如 With Form1 '这里表明下面可以省略Form1对象名 .Caption="Form1" '等价于Form1.Caption="Form1" .Top=0 '等价于Form1.Top=0 End With '限定结束:)
在引用它的不止一个属性或方法的时候用WITH END WITH 可以加快程序的执行
举个例子就明白了,
假设有个标签名为LABEL1,我们要改变它的内容,底色和位置一般的写法是:
LABEL1.CAPTION="HELLO WORLD"
LABEL1.BACKCOLOR=vbBLACK
LABEL1.LEFT=10
LABEL1.TOP=20
这样,在运行的时候LABEL1控件需要被载入4次而改为:
WITH LABEL1
.CAPTION="HELLO WORLD"
.BACKCOLOR=vbBLACK
.LEFT=10
.TOP=20
END WITH
这时LABEL1只要被载入一次就可以了,不但减少了输入量也加快了程序运行的速度
(如果上述的语句要进一步优化则最后两句改变位置的语句可以用一句语句完成: .move 10,20
这里只是随便举个例子说明WITH的用法,各位通人不必深究)
在一个单一对象或一个用户定义类型上执行一系列的语句。语法With object
[statements]End WithWith 语句的语法具有以下几个部分:部分 描述
object 必要参数。一个对象或用户自定义类型的名称。
statements 可选参数。要执行在 object 上的一条或多条语句。
说明With 语句可以对某个对象执行一系列的语句,而不用重复指出对象的名称。例如,要改变一个对象的多个属性,可以在 With 控制结构中加上属性的赋值语句,这时候只是引用对象一次而不是在每个属性赋值时都要引用它。下面的例子显示了如何使用 With 语句来给同一个对象的几个属性赋值。With MyLabel
.Height = 2000
.Width = 2000
.Caption = "This is MyLabel"
End With注意 当程序一旦进入 With 块,object 就不能改变。因此不能用一个 With 语句来设置多个不同的对象。可以将一个 With 块放在另一个之中,而产生嵌套的 With 语句。但是,由于外层 With 块成员会在内层的 With 块中被屏蔽住,所以必须在内层的 With 块中,使用完整的对象引用来指出在外层的 With 块中的对象成员。重点 一般来说,建议您不要跳入或跳出 With 块。如果在 With 块中的语句被执行,但是 With 或 End With 语句并没有执行,则一个包含对该对象引用的临时变量将保留在内存中,直到您退出该过程。。
With Form1 '这里表明下面可以省略Form1对象名
.Caption="Form1" '等价于Form1.Caption="Form1"
.Top=0 '等价于Form1.Top=0
End With '限定结束:)