a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 51|回复: 0

[Visual Basic] 全国计算机等级二级VB分章节考试要点(9)

[复制链接]
发表于 2012-7-31 22:10:12 | 显示全部楼层 |阅读模式
  第九章
/ R3 M5 t, S6 B: u& d5 Y$ L  一、Sub过程2 B! N1 a4 |% M4 ?+ Z3 Y" o
  (一)建立Sub过程
- v  R' w" J2 Y& H  通用Sub过程的结构与前面多次见过的事件过程的结构类似。一般格式如下:[Static][Private][Public]Sub过程名[(参数表列)]$ y4 L  M: Y6 C
  语句块- l0 F, ~: M7 \& w/ w% m7 n4 }' u
  [Exit Sub]2 p5 q9 \" @, n- @- ?% m2 ?
  [语句块]% V5 _5 G) N5 [9 }
  End Sub* z  W4 N- e  g
  (二)调用Sub过程
& {' P* C: ]6 b" T" K) g5 A/ A  调用引起过程的执行。也就是说,要执行一个过程,必须调用该过程。
- U- [7 H" F/ w# v. I) O  Sub过程的调用有两种方式,一种是把过程的名字放在一个Call语句中,一种是把过程名作为一个语句来使用。" y. J- e& ^6 P1 _. Y: A
  1.用Call语句调用Sub过程
4 ?+ X) }8 }3 K; ^) `9 ~& [) W  格式:Call过程名[(实际参数)]
; Z3 N! z2 X, Z& A; L  2.把过程名作为一个语句来使用. {3 W' X, ^4 C0 J# ]4 ?1 N
  在调用Sub过程时,如果省略关键字Call,就成为调用Sub过程的第二种方式。与第一种方式相比,它有两点不同:
8 p2 B0 Y( S- ^7 \/ E# ~  (1)去掉关键字Call;0 H. n3 r# C& v
  (2)去掉“实际参数”的括号。+ Y' s4 D, w1 S, k* z9 Z: ^5 |0 L
  (三)通用过程与事件过程
7 Q5 c; }5 q- B. E* p* g# V4 f  [Private|Public]Sub控件名事件名(参数表) 语句组End Sub0 ~3 y2 a/ r. m  h1 c  Q$ A
  窗体事件过程的一般格式为:
! K. L. [, X. P+ Z  [Private|Public]Sub Form事件名(参数表) 语句组End Sub. {& t1 H" B/ m
  二、Function过程7 w2 L0 Q0 n, a
  (一)建立Function过程; M) M! x' X7 O
  Function过程定义的格式如下:[Static][Private][Public]Function过程名[(参数表列)][As类型] [语句块]
5 ]2 m; t0 g8 e: B1 w  [过程名=表达式] [Exit Function] [语句块] End Function
" {! O5 {6 T4 Y/ z) u6 ~) v: d  (二)调用Function过程" V6 R3 ~( J! Q. }
  Function过程的调用比较简单,因为可以像使用Visual Basic内部函数一样来调用Function过程。实际上,由于Function过程能返回一个值,因此完全可以把它看成是一个函数,它与内部函数(如Sqr、Str$、Chr$等)没有什么区别,只不过内部函数由语言系统提供,而Function过程由用户自己定义。
; R& V* Y! |& O  A/ B( y9 ?; S  三、参数传送
* \" e1 H1 f5 D! y) P  Q  在Visual Basic中,通常把形式参数叫做“参数”,而把实际参数叫做“自变量”。
5 e, O( L$ v8 B1 D) }4 q3 O  (一)形参与实参& D2 ]! ?# H( a; @: h
  提示: 形参是在Sub、Function过程的定义中出现的变量名,实参则是在调用Sub或Function过程时传送给Sub或Function过程的常数、变量、表达式或数组。在Visual Basic中,可以通过两种方式传送参数,即按位置传送和指名传送。' O/ [1 S1 |- Q6 c5 g
  (二)引用$ x% W7 r7 ?0 M: [  Q0 Q3 I( t1 @
  在Visual Basic中,参数通过两种方式传送,即传地址和传值,其中传地址习惯上称为引用。在默认情况下,变量(简单变量、数组或数组元素以及记录)都是通过“引用”传送给Sub或Function过程。在这种情况下,可以通过改变过程中相应的参数来改变该变量的值。这意味着,当通过引用来传送实参时,可以改变传送给过程的变量的值。3 U, d+ a2 H4 z4 i
  (三)传值( J) C; O- j& O- r" P
  传值就是通过值传送实际参数,即传送实参的值而不是传送它的地址。在这种情况下,系统把需要传送的变量复制到一个临时单元中,然后把该临时单元的地址传送给被调用的通用过程。由于通用过程没有访问变量(实参)的原始地址,因而不会改变原来变量的值,所有的变化都是在变量的副本上进行的。
/ @# l7 C' C3 @% S$ h  在Visual Basic中,传值方式通过关键字ByVal来实现。也就是说,在定义通用过程时,如果形参前面的关键字ByVal,则该参数用传值方式传送,否则用引用(即传地址)方式传送。- Y3 a  |0 X3 K; T1 C
  (四)数组参数的传送
- c: ?) A& G3 \3 [  Visual Basic允许把数组作为实参传送到过程中。
% i% x5 I. t- q' f' d+ o2 g* b  用数组作为过程的参数时,应在数组名的后面加上一对括号,以免与普通变量相混淆。
2 i4 J% c' t, Z  四、可选参数与可变参数0 L" m0 [2 C' s8 _. I0 g
  Visual Basic6.0提供了十分灵活和安全的参数传送方式,允许使用可选参数和可变参数。在调用一个过程时,可以向过程传送可选的参数或者任意数量的参数。* Y( Q# R$ S2 t
  五、对象参数' n# r( N" C; P
  提示: 对象作为参数与用其他数据类型作为参数的过程没有什么区别,其格式为:Sub过程名(形参表) 语句块 [Exit Sub] ……End Sub; X4 O. h7 p: x( K! U% g0 Y/ `
  “形参表”中形参的类型通常为Control或Form。注意,在调用含有对象的过程时,对象只能通过传地址方式传送。因此在定义过程时,不能在其参数前加关键字ByVal。$ H; G4 T- P2 t( y6 b9 a
  六、局部内存分配
# X4 R# j2 X2 e+ L( L/ e  有时候,在过程结束时,可能不希望失去保存在局部变量中的值。如果把变量声明为全局变量或模块级变量,则可解决这个问题。但如果声明的变量只在一个过程中使用,则这种方法并不好。为此,Visual Basic提供了一个Static语句,其格式如下:  |: f/ r( ^+ Y  a+ _' l" W  d" R
  Static变量表
6 k: k2 L+ ~1 v% F: E) H  其中“变量表”的格式如下:
& j- f, d! }7 E! x& b5 n  变量[()][As类型][,变量[()][As类型]]……
2 ]# I0 N1 X4 V. h- ?4 T" [2 M1 w/ A  七、Shell函数% a. J: g3 N5 H2 m1 V
  Shell函数的格式如下:
! J3 `) l: B! P) f* V  Shell(命令字符串[,窗口类型])
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-18 09:08 , Processed in 0.315485 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表