none
Downloadig RRS feed

  • Pergunta

  • Oi galera blz ? Bom eu tive um erro no meu projeto foi enpedido de continuar quero capturar o progresso do download de um arquivo desta forma 6,35 Mega so que meu codigo so capturar assim 6Mega quero capturar os KB e os mega ficando assim 6,35 Mega

    fiz desta forma mais nao funciono 

      Dim s As Long = Convert.ToInt64(Size)

    If s >= 1048576 Then 'maior 1048576 = mega F = "MB" Dim total_bytes As Double = s / 1024 Dim total_converte As Double = s / 1048576 result = Math.Round(total_bytes, 2) + "," + Math.Round(total_converte, 2) End If


    quinta-feira, 29 de outubro de 2015 22:21

Respostas

Todas as Respostas

  • Boa noite.

    Tente:

    result = Format(total_converte, "#0.00") & " MB"


    Att., Rafael Simor

    quinta-feira, 29 de outubro de 2015 22:29
  • Boa Noite amigo eu usei seu codigo infelizmente nao deu certo fico 1 Mega nao 1,36 um mega e 36 kb
    quinta-feira, 29 de outubro de 2015 22:44
  • Olha, testei aqui e deu certo:


    Att., Rafael Simor

    • Marcado como Resposta João Paulo [] sexta-feira, 30 de outubro de 2015 00:09
    quinta-feira, 29 de outubro de 2015 23:02
  • Desculpe amigo sim seu codigo pega perfeitamente mais em meu funcion nao ! Codigo completo a baixo 

    text = download_process(e.BytesReceived)
    
        Public Function download_process(ByVal total As String) As String 
            On Error Resume Next
            Dim s As Double = Convert.ToDouble(total)
            Dim F As String = " Bytes"
            Dim result As Integer
    
            If s >= 1023 Then 'menor que  1023 = Bayt
                F = " Bytes"
                Dim total_Bytes As Double = s / 1023
                result = Math.Round(total_Bytes, 2)
            End If
    
            If s >= 1024 Then 'maior que ou igual 1024 = kb
                F = " KB"
                Dim total_KB As Double = s / 1024
                result = Math.Round(total_KB, 2)
            End If
    
            If s >= 1048576 Then 'maior  1048576 = mega
                F = " MB"
                Dim total_MB As Double = s / 1048576
                result = Format(total_MB, "#0.00")'fiz como vc falo mais nao funfa fica 1 Mega
            End If
    
            If s >= 1073741824 Then 'meior que ou igual 1073741824 = giga
                F = " GB"
                Dim total_GB As Double = s / 1073741824
                result = Math.Round(total_GB, 2)
            End If
    
            If s >= 1099511627776 Then 'maior que ou igual 1099511627776 Terra
                F = " TR"
                Dim total_TR As Double = s / 1099511627776
                result = Math.Round(total_TR, 2)
            End If
    
            Return result & F
        End Function
    
    

    sexta-feira, 30 de outubro de 2015 00:00
  • Tua variável "result" está como Integer.

    Mude para Double que resolve o problema.


    Att., Rafael Simor

    • Sugerido como Resposta SimorC sexta-feira, 30 de outubro de 2015 00:04
    sexta-feira, 30 de outubro de 2015 00:04
  • OI amigo muito obrigado mesmo eu tava meio pirado que nu vi kk desculpe muito obrigado mesmo like pra vc
    sexta-feira, 30 de outubro de 2015 00:08
  • Capaz. :)

    E assim, uma dica:

    De vez em quando, se tu estiveres muito tempo tentando resolver um problema, dá um tempinho...

    Toma um café, um banho, uma caminhada leve...

    Algumas horas precisamos desocupar um pouco a mente pra ver alguns problemas que são relativamente simples...


    Att., Rafael Simor

    sexta-feira, 30 de outubro de 2015 00:13
  • Pio que sim amigo a vista nei noto isso kk obrigado mesmo abraços :)
    sexta-feira, 30 de outubro de 2015 00:23