Wolniej wyświetla niż działa

0

Napisałem program, który pobiera kilka plików HTML z sieci.
Problem w tym, że gdy każę mu pobierać te pliki to on najpierw je pobiera a później dokumentuje fakt pobierania, mimo że polecenia wyświetlenia w pętli są umieszczone przed poleceniem pobierania.

                clear();
                Interfejs::rysujWidokTrwaAktualizacja(); // tu jest rysowanie okna (nie widac efektow)
                Pobieranie pobieranie;
                string nazwaPliku;
                for(int i=0; i<22; i++)
                {
                    nazwaPliku = "htmls/"+string(Kina::nazwa[i])+".htm";
                    pobieranie.ustawNazwePliku(nazwaPliku.c_str());
                    pobieranie.ustawUrl(Kina::url[i]);
                    mvprintw(11+i,40,"* %s...",Kina::nazwa[i]); // tu wyswietla kolejne pobrane pozycje - przez blad nie wyswietla
                    pobieranie.zapis(); // tu nastepuje pobieranie
                }
                mvprintw(33,26,"Repertuar zostal pobrany i udostepniony w programie.");

Co zrobić w tej sytuacji?

1

Nie do końca rozumiem twój problem, ale zgaduje że wynika on z:

  • brak odświeżania tego gdzie wypisujesz wiadomości
  • wszystkie operacje w tym samym wątku w którym działa GUI, w efekcie operacje "zawieszają" GUI i odświeża się ono dopiero jak skończysz ściągać
0

Zrozumiałeś doskonale ;) Wystarczyło dodać refresh(); za drugą linijką i za mvprintw(..) i wszystko zaczęło śmigać. Dzięki :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1