【初三信息技术】请教VB高手,如何确定变量必须是全局变量或局部变量,请帮助下面的疑问,先谢谢了!

已查看 3 次
跳至第一个未读帖子

liping xiao

未读,
2011年2月17日 21:05:462011/2/17
收件人 教育大发现、淄博信息技术教师自生长社区论坛、肖立萍、王飞(高青)
以下是教学VB过程中的简单程序设计,经测试能成功。
    Dim dtmbegintime As Date, dtmendtime As Date         '定义开始时间变量和结束时间变量   本程序是一个VB打字测试程序
--------------------------------------------------------------------------------

Private Sub cmdEnd_Click()
    Dim intTimeCost As Integer, intWordCount As Integer    '定义打字时间花费的变量和字数统计的变量
    dtmendtime = Time()                                                   '定义结束时间的变量
    intTimeCost = DateDiff("s", dtmbegintime, dtmendtime)  '统计打字用时间
    intWordCount = Len(txtInput.Text)                                '统计字符个数
    txtSpeed.Text = intWordCount / (intTimeCost / 60)        '计算每分钟打字速度

End Sub
---------------------------------------------------------------------------------------------

Private Sub cmdStart_Click()
dtmbegintime = Time()                                                    '记录打字开始时间
End Sub

 
问题:=======================================================================================================
    Dim dtmbegintime As Date, dtmendtime As Date         '定义开始时间变量和结束时间变量   本程序是一个VB打字测试程序
--------------------------------------------------------------------------------
我也知道全局变量与局部变量的含义,以上的程序设计中的为什么只能在单击“通用”对象后定义,为什么不能在子过程中定义,我如果设计为下面的程序段就不执行,请教VB高手,这是为什么?我无法理解。
 
 

Private Sub cmdEnd_Click()
    Dim intTimeCost As Integer, intWordCount As Integer    '定义打字时间花费的变量和字数统计的变量
    dtmendtime As Date                                                   '定义结束时间变量 

    dtmendtime = Time()                                                   '定义结束时间的变量
    intTimeCost = DateDiff("s", dtmbegintime, dtmendtime)  '统计打字用时间
    intWordCount = Len(txtInput.Text)                                '统计字符个数
    txtSpeed.Text = intWordCount / (intTimeCost / 60)        '计算每分钟打字速度

End Sub
---------------------------------------------------------------------------------------------

Private Sub cmdStart_Click()

 Dim dtmbegintime As Date                                            '定义开始时间变量

dtmbegintime = Time()                                                    '记录打字开始时间
End Sub

 

liping xiao

未读,
2011年2月18日 19:09:142011/2/18
收件人 教育大发现、淄博信息技术教师自生长社区论坛、肖立萍、王飞(高青)

我就是想知道什么情况下,定义变量必须为全局变量,不能在子过程中定义。

LiAndy

未读,
2011年2月19日 00:23:392011/2/19
收件人 sociall...@googlegroups.com
On 02/19/2011 08:09 AM, liping xiao wrote:
>
> �Ҿ�����֪��ʲô����£������������Ϊȫ�ֱ������������ӹ���ж��塣 --
> �ʼ����� `SLL`��SocialLearnLab��"�������"�ʼ��б�
> ����: https://groups.google.com.bz/group/sociallearnlab
> �˶�: sociallearnla...@googlegroups.com
> ����: http://sociallearnlab.org/ ��: http://sociallearnlab.org/wiki/
VB���ֿ��ܲ��ǣ���ϡ�ǵã�ȫ�ֱ�����ģ��仹������ɵ��û�������ģ���
�����ӹ���ж��壬��������˺ܲ���⡣

--
-----------------------------------------------
http://www.liandy.com
http://t.sina.com.cn/liiandy
���������Ϊ�� ��ѧһ��
-----------------------------------------------

万力之

未读,
2011年2月19日 09:34:142011/2/19
收件人 sociall...@googlegroups.com

Private Sub cmdStart_Click()

 Dim dtmbegintime As Date                                            '定义开始时间变量

dtmbegintime = Time()                                                    '记录打字开始时间
End Sub

在这一段中定义,其生命周期仅在这一段有效,在该函数的结尾时,就将此变量的内存位置回收了。

当cmdEnd_Click()函数中,要用到dtmbegintime时,在cmdEnd_Click()函数中与全局中均无此变量,自然就出错了。


在 2011年2月19日 下午1:23,LiAndy <rrn...@gmail.com>写道:
On 02/19/2011 08:09 AM, liping xiao wrote:
>
> 我就是想知道什么情况下,定义变量必须为全局变量,不能在子过程中定义。 --
> 邮件来自 `SLL`(SocialLearnLab)"教育大发现"邮件列表
> 详情: https://groups.google.com.bz/group/sociallearnlab
> 退订: sociallearnla...@googlegroups.com
> 官网: http://sociallearnlab.org/ 维基: http://sociallearnlab.org/wiki/
VB高手可能不是,依稀记得,全局变量是模块间还是类库间可调用或者其他的,如
果在子过程中定义,代码会让人很不理解。

--
-----------------------------------------------
http://www.liandy.com
http://t.sina.com.cn/liiandy
国道民儒中为经   三学一动
-----------------------------------------------

--
邮件来自 `SLL`(SocialLearnLab)"教育大发现"邮件列表
详情: https://groups.google.com.bz/group/sociallearnlab
退订: sociallearnla...@googlegroups.com
官网: http://sociallearnlab.org/  维基: http://sociallearnlab.org/wiki/

liping xiao

未读,
2011年2月20日 01:01:092011/2/20
收件人 sociall...@googlegroups.com
谢谢万力之  LiAndy 老师
      感谢老师们的指导,我终于明白全局变量设定的要求及条件了,非常感谢!
                                                                肖立萍  2011.2.20
回复全部
回复作者
转发
0 个新帖子