| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 578 人关注过本帖
标题:对不起,我是新手。能不能帮帮我
只看楼主 加入收藏
小红叶
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2005-10-6
收藏
 问题点数:0 回复次数:7 
对不起,我是新手。能不能帮帮我
Private Sub Timer2_Timer()
Dim s1, s2 As String
Dim i As Integer
s1 = Label2.Caption
i = 1
让字一个一个出来,写:
If i <= Len(s1) Then
        s2 = s2 & Mid(s1, i, 1)
        i = i + 1
Else
    Timer2.Enabled = False
    Timer2.Enabled = True
    Label2.Visible = False
End If
Label2.Caption = s2
End Sub
这样为什么不对?
2005-10-06 13:50
leon2
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:731
专家分:0
注 册:2005-3-18
收藏
得分:0 
因为程序启动后,Timer2 的每次 Timer 事件就会执行下列语句:

s1 = Label2.Caption
i = 1

所以,Label2 的 Caption 没有任何变化。正确做法是将 Timer 事件中的上面两条语句放到 Form_Load 中:

Private Sub Form_Load()
  s1 = Label2.Caption
  i = 1
End Sub

并把前面两条语句: Dim s1, s2 As String 和 Dim i As Integer 放在过程外,成为模块级变量。

然后你再运行试试看。

[此贴子已经被作者于2005-10-6 14:07:27编辑过]


2005-10-06 14:05
leon2
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:731
专家分:0
注 册:2005-3-18
收藏
得分:0 
另外,如果你希望程序能够反复使用的话,可以把 If ... Else ... End If 那一块改成: If i <= Len(s1) Then s2 = s2 & Mid(s1, i, 1) i = i + 1 Else Timer2.Enabled = False Timer2.Enabled = True Label2.Visible = False i = 1 End If

[此贴子已经被作者于2005-10-6 14:11:39编辑过]

2005-10-06 14:11
小红叶
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2005-10-6
收藏
得分:0 
哦!谢谢!!
太感谢了!!
2005-10-06 14:21
250697812
Rank: 1
等 级:新手上路
帖 子:112
专家分:0
注 册:2005-10-5
收藏
得分:0 
能人居多啊

2005-10-06 15:47
幻海流云
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2005-10-6
收藏
得分:0 
看来是自学的
2005-10-06 16:41
shifeng2799
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2005-9-23
收藏
得分:0 
自学者无敌!@!!!!

2005-10-08 01:08
shifeng2799
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2005-9-23
收藏
得分:0 

2005-10-08 01:29
快速回复:对不起,我是新手。能不能帮帮我
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020442 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved