Oppure

Loading
07/05/09 19:59
jaco94++
salve a tt

volevo chiedere se in c# si può scaricare un file da internet e metterlo in una cartella predefinita... tutto ciò però deve essere segnalato da due progress bar 1 che visualizza lo stato di download e l'altra che visualizza lo stato della copia su disco come faccio ?
aaa
07/05/09 21:12
theprogrammer
Fai una ricerca su internet e ne trovi a centinaia ...

Per le progressbar, che senso ha averne una per il download e una per la scrittura su disco? Indicheranno la stessa cosa ...
aaa
08/05/09 18:02
jaco94++
Trovato e provato questo codice ma ehm nn va nn scarica un tubo e nn si vede nulla nella progressbar

try
{
upgrade = Environment.GetFolderPath (Environment.SpecialFolder.ProgramFiles) + @programname;
Uri url = new Uri(updateinfo_dec);
System.Net.WebClient client = new System.Net.WebClient();
client.DownloadFileAsync(url, upgrade);
client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged);

button1.Text = ("Fine";);
}
catch
{
MessageBox.Show("Errore nello scaricamento file", "CronoUpdater";);
}
}
}

private void ProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
progressBar1.Value = e.ProgressPercentage;
}
aaa
09/05/09 0:40
theprogrammer
A me funziona perfettamente ...

Ovviamente controlla la URL e il nome del file locale assegnato nel programma quando lo avvii ...
aaa
09/05/09 13:52
Il Totem
Forse perchè client è una variabile locale, e viene distrutta all'uscita dal metodo?
aaa
09/05/09 18:33
jaco94++
non riesco proprio nn va ... vi allego una copia del prog e tt i sorgenti è un programma che serve ad aggiornare le applicazioni fatte da me e da un mio amico ... l'indirizzo web del download e crittografato (si il programma lo decrittografa correttamente gia controllato) e lo legge da un file di testo mentre l'altro file di testo serve ad aggiornare il programma che si trova in program files di nome processkillers cmq capirete tt una volta aperto il progetto ... spero riusciate a risolvere il problema ...
grz
aaa
09/05/09 18:51
theprogrammer
Il problema e' dovuto al fatto che il nome del file locale non viene formato correttamente.

Se in questa linea inserisci (per fare una prova)

GetFolderPath(Environment.SpecialFolder.ProgramFiles) + "\prova.exe";

allora funziona tutto correttamente e il file viene scaricato con il nome di prova.exe
aaa
09/05/09 19:39
jaco94++
ok ora riesco a scaricare ma ora c'è un problema piuttosto redicolo scarica solo se scrivo
upgrade = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) + @"\processkillers\processkillers.exe";
e sostituisce il file e quindi ok va ma se scrivo
upgrade = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) + @programname;
e dentro al txt c'è scritto esattamente lo stesso percorso non va come è possibile ?? sono la stessa cosa
Ultima modifica effettuata da jaco94++ 09/05/09 19:40
aaa