VB中如何为事件设进度条显示?
PrivateSubCommand1_Click()DimAAsDoubleDimBAsDoubleDimCAsDoubleDimDForA=1To1000000ForB...
Private Sub Command1_Click()
Dim A As Double
Dim B As Double
Dim C As Double
Dim D
For A = 1 To 1000000
For B = 1 To 10000000
C = B + A
Next B
Next A
MsgBox C
End Sub
上面这段程序,
我怎么通过设进度条的进度显示代码??????
设进度条显示代码运行进度?
希望各位热心的朋友提供答案,不胜感激啊!!!! 展开
Dim A As Double
Dim B As Double
Dim C As Double
Dim D
For A = 1 To 1000000
For B = 1 To 10000000
C = B + A
Next B
Next A
MsgBox C
End Sub
上面这段程序,
我怎么通过设进度条的进度显示代码??????
设进度条显示代码运行进度?
希望各位热心的朋友提供答案,不胜感激啊!!!! 展开
展开全部
1、点击系统菜单“工具”->“选项”,调出选项对话匡后选择“控件”页,再选择ActiveX控件,选定列表栏里的Microsoft ProgressBar Control控件,一般里面有两个版本的,分别是V5.0(SP2)和v6.0。建议用V5.0(SP2)版的,这个控件的风格可以根据WIN的主题风格的变化而变化,而V6.0是固定的一个格子一个格子的跳。
选定后,前面的小匡内会有个‘X’,点确定。
Private Sub Command1_Click()
Dim A As Double
Dim B As Double
Dim C As Double
Dim D
Dim p As Single
ProgressBar1.Min = 0
ProgressBar1.Max = 1000
ProgressBar1.Value = ProgressBar1.Min
ProgressBar1.Scrolling = ccScrollingSmooth
' 定义 进度条 最小值,最大值,当前进度 和样式
Dim Mx As Long
Mx = 1000000
For A = 1 To Mx
For B = 1 To 10000000
C = B + A
Next B
If A Mod (Mx / ProgressBar1.Max) = 1 Then
' 不需要每次都做, 只要进行到某个时候做一次就好了.
' 计算出当前进度
ProgressBar1.Value = A * ProgressBar1.Max \ Mx
DoEvents
End If
Next A
ProgressBar1.Value = ProgressBar1.Max
' 最后, 进度=进度条最大值.
MsgBox C
End Sub
你试运行的循环数量大 程序可能会有点慢, 要等他一下才看到效果,
或者把内循环设置成 100 效果会好一点
选定后,前面的小匡内会有个‘X’,点确定。
Private Sub Command1_Click()
Dim A As Double
Dim B As Double
Dim C As Double
Dim D
Dim p As Single
ProgressBar1.Min = 0
ProgressBar1.Max = 1000
ProgressBar1.Value = ProgressBar1.Min
ProgressBar1.Scrolling = ccScrollingSmooth
' 定义 进度条 最小值,最大值,当前进度 和样式
Dim Mx As Long
Mx = 1000000
For A = 1 To Mx
For B = 1 To 10000000
C = B + A
Next B
If A Mod (Mx / ProgressBar1.Max) = 1 Then
' 不需要每次都做, 只要进行到某个时候做一次就好了.
' 计算出当前进度
ProgressBar1.Value = A * ProgressBar1.Max \ Mx
DoEvents
End If
Next A
ProgressBar1.Value = ProgressBar1.Max
' 最后, 进度=进度条最大值.
MsgBox C
End Sub
你试运行的循环数量大 程序可能会有点慢, 要等他一下才看到效果,
或者把内循环设置成 100 效果会好一点
展开全部
D = Format(1000000 * 1000000 / (a * b) / 100, "0.0") & "%"
DoEvents
这是计算进度的 但是会溢出~~~你把数值改小点就可以了
DoEvents
这是计算进度的 但是会溢出~~~你把数值改小点就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、点击系统菜单“工具”->“选项”,调出选项对话匡后选择“控件”页,再选择ActiveX控件,选定列表栏里的Microsoft ProgressBar Control控件,一般里面有两个版本的,分别是V5.0(SP2)和v6.0。建议用V5.0(SP2)版的,这个控件的风格可以根据WIN的主题风格的变化而变化,而V6.0是固定的一个格子一个格子的跳。
选定后,前面的小匡内会有个‘X’,点确定。
2、新建一个表单,在数据环境里添加一个表,假如是个有138条记录的成绩库,要求从第一条记录开始一条一条的计算总分,科目只有三科语、数、外。(当然,这个目的一条replace all命令就可以解决了)
3、在表单设计器内点“查看类”即第二个按钮,在弹出的菜单栏里选择“ActiveX控件”,表单设计器的控件栏内就有了进度条的控件
4、在表单内添加这个进度条控件,暂命名为“Ole1”,注意调整进度条的长和宽。该控件的VISIBLE属性选择.F.,即运行表单后,未计算总分时,进度条是不可见的。
5、在表单内添加一个命令按钮,用这个按钮激活程序计算总分和进度条的实时显示
6、命令按钮的Click事件里添加以下代码
go top
if reccount()>0 //如果表不为空执行
thisform.ole1.visible=.T. // 显示进度条
thisform.ole1.max=reccount() // 进度条的最大值为表的记录数
else
return //如果表无记录返回
endif
do while !eof()
thisform.ole1.value=recno() // 进度条的数值根据当前记录号变化
replace 总分 with 语+数+外 // 计算当前记录的总分
skip // 当前记录下移一条
enddo
thisform.ole1.visible=.F.
thisform.ole1.value=0
7、保存运行表单
选定后,前面的小匡内会有个‘X’,点确定。
2、新建一个表单,在数据环境里添加一个表,假如是个有138条记录的成绩库,要求从第一条记录开始一条一条的计算总分,科目只有三科语、数、外。(当然,这个目的一条replace all命令就可以解决了)
3、在表单设计器内点“查看类”即第二个按钮,在弹出的菜单栏里选择“ActiveX控件”,表单设计器的控件栏内就有了进度条的控件
4、在表单内添加这个进度条控件,暂命名为“Ole1”,注意调整进度条的长和宽。该控件的VISIBLE属性选择.F.,即运行表单后,未计算总分时,进度条是不可见的。
5、在表单内添加一个命令按钮,用这个按钮激活程序计算总分和进度条的实时显示
6、命令按钮的Click事件里添加以下代码
go top
if reccount()>0 //如果表不为空执行
thisform.ole1.visible=.T. // 显示进度条
thisform.ole1.max=reccount() // 进度条的最大值为表的记录数
else
return //如果表无记录返回
endif
do while !eof()
thisform.ole1.value=recno() // 进度条的数值根据当前记录号变化
replace 总分 with 语+数+外 // 计算当前记录的总分
skip // 当前记录下移一条
enddo
thisform.ole1.visible=.F.
thisform.ole1.value=0
7、保存运行表单
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询