Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[cURL]Sprawdzanie szybkości pobierania pliku

Ostatnio zmodyfikowano 2013-09-24 12:50
Autor Wiadomość
maniek1310
Temat założony przez niniejszego użytkownika
» 2013-09-15 17:58:34
Teraz znowu wyskakują jakieś dziwne liczby 4.16666e-290.

oto kod
C/C++
int progressbar( void * clientp, double dltotal, double dlnow, double ultotal, double ulnow )
{
    clock_t czas2 = clock();
    double roznica;
    if( czas ==( czas2 + 1 ) )
    {
        roznica = dlnow - pobrano;
        roznica /= 1024;
        roznica /= 1024;
    }
    czas = clock();
   
    //double roznica = dlnow - pobrano;
   
    pobrano = dlnow;
    int dltotalcalk =( dlnow * 100 ) / dltotal;
   
    dltotal /= 1024;
    dltotal /= 1024;
    dlnow /= 1024;
    dlnow /= 1024;
   
    std::ostringstream rozmiar( std::ostringstream::ate );
    std::ostringstream sciagnieto( std::ostringstream::ate );
    std::ostringstream ile_procent( std::ostringstream::ate );
    std::ostringstream predkosc( std::ostringstream::ate );
   
    if( dltotal != 0 and dlnow != 0 )
    {
        rozmiar << dltotal;
        sciagnieto << dlnow;
        ile_procent << dltotalcalk;
        predkosc << roznica;
       
        rozmiar << " mb";
        sciagnieto << " mb";
        ile_procent << " %";
    }
    else if( roznica == 0 )
    {
       
    } else {
        rozmiar << "Rozpoczynanie";
        sciagnieto << "Rozpoczynanie";
        ile_procent << "0 %";
    }
   
    SetWindowText( hStatic4, rozmiar.str().c_str() );
    SetWindowText( hStatic6, sciagnieto.str().c_str() );
    SetWindowText( hStatic8, predkosc.str().c_str() );
    SetWindowText( hStatic9, ile_procent.str().c_str() );
   
    SendMessage( hProgressBar, PBM_SETPOS,( WPARAM ) dltotalcalk, 0 );
   
    return 0;
}
P-92180
pekfos
» 2013-09-15 18:07:24
Nie zawsze roznica ma prawidłową wartość i dalej nie dzielisz przez czas.
P-92181
maniek1310
Temat założony przez niniejszego użytkownika
» 2013-09-15 18:15:46
Ale przecież przypisuje do zmiennych ile aktualnie pobrało i ile pobrało przy poprzednim wywołaniu funkcji, następnie odejmuje i sprawdzał ile pobrał w ciągu sekundy.
P-92182
pekfos
» 2013-09-15 18:40:20
clock() nie zwraca czasu w sekundach. Jeśli warunek się nie spełni, wyświetlasz niezdefiniowaną wartość.
P-92183
DejaVu
» 2013-09-24 12:50:53
C/C++
double predkosc_w_KB =( calkowita_liczba_pobranych_bajtow /( aktualny_czas_w_sek - czas_rozpoczecia_pobierania_w_sek ) ) / 1024;
P-92580
1 2 « 3 »
Poprzednia strona Strona 3 z 3