LordALMMa 0 Denunciar post Postado Julho 6, 2008 Pessoal, desculpa pela pergunta mas sou bem novo em C#.net. :unsure: Já li um pouco de threads no C#.net mas ainda sim não consegui fazer funcionar... <_< Acontece assim: Eu possuo uma lista (List<string>) de URLs para baixar. E quero baixar TODAS simultaneamente. Durante o download, eu quero preencher um campo ProgressBar com o valor do percentual total dos downloads. Para fazer os downloads eu possuo uma classe Downloader, que gerencia cada Download. CODE class Downloader { private string url; private System.Windows.Forms.ProgressBar progresso; public void setUrl(string url) { this.url = url; } public void setProgresso(System.Windows.Forms.ProgressBar progresso) { this.progresso = progresso; } public void baixar() { char[] partir = { ' ' }; int BUFFER = 1024; System.Net.WebClient Client = new System.Net.WebClient(); Stream strm = Client.OpenRead(url); StreamReader sr = new StreamReader(strm); int index = 0; int leitura; char[] dados = new char[bUFFER]; do { leitura = sr.Read(dados, index, BUFFER); //progresso.Value = progresso.Value + 1; } while (leitura != 0); strm.Close(); } } A classe principal possui um método assim: CODE private void baixarArquivos(List<string> arquivosFaltantes) { char[] partir = { ' ' }; Downloader d = new Downloader(); d.setProgresso(this.progresso); ThreadStart ts = new ThreadStart(d.baixar); for (int i = 0; i < arquivosFaltantes.Count; i++) { // Na posicao 0 -> numero do download (para verificar se ha atualizacao) // Na posicao 1 -> tipo de download (para controle interno) // Na posicao 2 -> nome do arquivo para download (apenas o nome do arquivo) d.setUrl("http://www.url_teste.com.br/" + (arquivosFaltantes.Split(partir))[2]); Thread t = new Thread(ts); t.IsBackground = true; t.Start(); } } Mas estou com dois problemas: http://forum.imasters.com.br/public/style_emoticons/default/excl.gif - Como saber o tamanho do arquivo a ser baixado, no servidor, para calcular os percentuais? http://forum.imasters.com.br/public/style_emoticons/default/excl.gif - Como ir preenchendo o ProgressBar na thread principal, a partir das outras Threads? Agradeço desde já, qualquer ajuda. >.< Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Julho 7, 2008 Movido Plataforma .NET http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Plataforma .NET » Windows Applications De uma olhada nesses exemplos: http://www.albahari.com/threading/part3.html http://www.dreamincode.net/forums/blog/mar...p?showentry=680 Abraços... Compartilhar este post Link para o post Compartilhar em outros sites