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

URLDownloadToFile + ProgressBar?

Ostatnio zmodyfikowano 2016-04-28 13:37
Autor Wiadomość
mikson
Temat założony przez niniejszego użytkownika
URLDownloadToFile + ProgressBar?
» 2016-04-24 16:26:12
Witam,

Jak wykonać ProgressBara, który będzie nam pokazywał, jaką część pliku funkcja URLDownloadToFile już pobrała?
Z góry dziękuję za jakiś przykład.

Pozdrawiam
P-147611
j23
» 2016-04-24 18:58:04
Musisz zaimplementować interfejs IBindStatusCallback i wskaźnik do jego instancji przekazać funkcji. Implementację tego interfejsu bez problemu powinieneś znaleźć w sieci jeśli przeraża Cię pisanie wszystkiego od zera.
P-147616
mikson
Temat założony przez niniejszego użytkownika
» 2016-04-27 22:43:36
Trzeba robić takie skomplikowane operacje? Ja znam rozmiar swojego pliku i stwierdziłem, że można tylko w innym wątku co chwila sprawdzać, ile waży pobrany odpowiednik i tak aktualizować ProgressBara. Zrobiłem taki kod, jednak coś tu nie działa i funkcja filesize() zwraca cały czas wartość -1. Proszę o pomoc.
C/C++
std::ifstream::pos_type filesize( const char * filename )
{
    std::ifstream in( filename, std::ifstream::ate | std::ifstream::binary );
    return in.tellg();
}

void __cdecl ThreadProcDownload( void * Args )
{
    while( 1 )
    {
        int set = filesize( "test.txt" );
        int procent = set / 2648632;
        SendMessage( hProgressBar, PBM_SETPOS,( WPARAM ) procent, 0 );
        Sleep( 500 );
    }
}
P-147740
j23
» 2016-04-28 10:43:27
Trzeba robić takie skomplikowane operacje?
Trzeba. Twój pomysł jest o tyle kulawy, że URLDownloadToFile najprawdopodobniej ściąga dane do pliku tymczasowego. Dopiero później, gdy wszystko się ściągnie, plik jest kopiowany pod docelową ścieżkę. Jak już pisałem, implementację tego interfejsu spokojnie znajdziesz w sieci. I nie jest to nic skomplikowanego, bo większość metod nie trzeba implementować konkretnym kodem, wystarczy, żeby zwracały wartość E_NOTIMPL.
P-147743
mikson
Temat założony przez niniejszego użytkownika
» 2016-04-28 13:37:20
Ok, dzięki, znalazłem, działa. :D
P-147747
« 1 »
  Strona 1 z 1