您的位置:程序门 -> vb -> vba



公共变量与函数的问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


公共变量与函数的问题
发表于:2007-05-25 16:46:03 楼主
在程序中,变量有时可以代替function的函数来使用
比如:
已知   md5(str)是一个取md5值的函数,并且是一个模块

因为需要,对str我要取n次md5
 
程序有两种做法:

1、public   function   md5_n(str   as   string)   as   string
          dim   i   as   integer
          for   i   =   1   to   n
                str   =   md5(str)
          next
          md5_n   =   str
      end   function

2、public   md5_n   as   string

      public   sub   smd5_n(str   as   string)
            dim   i   as   integer
            for   i   =   1   to   n
                    str   =   md5(str)
            next
            md5_n   =   str
      end   sub

不知这两种方法何时适用?或者说哪种更好些?
我的理解是:

因公共变量占用内存,函数运行要费时间!所以:

                        当程序运行时,需进行md5的str取值固定,并且需要多次引用,那用第二种方法,因为第一种方法在每一次引用时都得进行n次md5运算,但第二种仅在第一次需要时call   smd5_n,运算一次,以后不再需运算即可立即取得所需值!

                        当程序运行时,需进行md5的str取值不固定,每一次取值仅需要一次引用,那用第一种方法!

                        当程序运行时,需进行md5的str取值不固定,每一次取值都需要多次引用,那用第二种方法!在每一次取值变动时call   smd5_n以更新变量值!

                        当程序运行时,需进行md5的str取值固定,仅需要一次引用,那两种方法无差别!

不知是否如此?求解


快速检索

最新资讯
热门点击