首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >下载EST总时间

下载EST总时间
EN

Stack Overflow用户
提问于 2014-04-23 12:47:15
回答 1查看 38关注 0票数 0

使用下面的事件如何显示文件传输所剩的总时间--进度条运行良好--但如果可能的话,我也想显示所剩的时间。

代码语言:javascript
复制
 Private Sub onTransferProgress(ByVal source As String, ByVal destination As String, ByVal transferredBytes As Integer, ByVal totalBytes As Integer, ByVal message As String) Handles transfer.onTransferProgress
    Dim totalbytess As Long = transferredBytes / 1024
    Dim mtotalbytes As Long = totalbytess / 1024
    Dim status As String = ""
    status = status & " Transfering Files - transferred: " & source & " to " & destination


    Me.ProgressBar1.Value = transferredBytes
    status = status & "Transferring.. " & (ProgressBar1.Value / 1024).ToString()

    Me.tbStatus.Text = status
    lblWorking.Text = message
    lblWorking.Visible = True

End Sub
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-23 12:53:01

现在很多进度条都不这样做,因为这些信息并不总是可靠的。过去的表现并不能保证未来的结果。

但是如果您想要,在此方法之外,在下载开始时,您将希望存储当前时间。然后,在此方法中,计算自该时间以来已过的秒数。然后你就会有一些简单的数学。transferredBytes花了X秒,所以totalbytess应该用Y秒。

因此,如果您正在传输10 2MB (10485760字节),并且接收了2MB (2097152字节),20秒之后,您的传输速率为104,857.6字节/秒。剩下8MB ( 8388608 ),所以8388608除以104,857.6是80秒。

代码语言:javascript
复制
Dim remainingBytes = totalbytess - mtotalbytes
Dim currentTransferRate = mtotalbytes / <your time calculation here>
Dim remainingSeconds = remainingBytes / currentTransferRate
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23244739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档