begin process at 2013 06 20 04:45:24
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Réseau & Internet

 > 

Internet

 > 

telechargement d'image


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

telechargement d'image

jeudi 13 septembre 2012 à 01:13:03 | telechargement d'image

Rapakooti


Bonjour,
Pour mon programme je telecharge des photos depuis une boucle via un thread.

Code C# :
Thread t = new Thread(new ParameterizedThreadStart(Lance_Telechargement));

           t.Start(emplacementinfofilm + "\\"); 



je l'ai mis dans un thread car j'ai pas mal d'image a telecharger, en fait je parcours un datagried avec des photos a prendre sur internet.


Jusque la tous marche si je laisse le programme telecharger toute les images, sinon les fichiers sont cree mais illisible.

Comment puis je faire pour que le telechargement se fasse et que le programme attend sans fige mais peut etre avec une progresse barre ou autre . Merci


voici le thread

Code C# :
// telechargement du fichier
        private void Lance_Telechargement(object para)
{


    try
    {
        
        WebClient client = new WebClient();
        client.DownloadFile(vignette2.Text, para + "poster.jpg");
    }
    
    catch 
    {
           MessageBox.Show("Le fichier suivant "+para + "poster.jpg n'a pas pu etre téléchargé");
    }
    }


R A P A K O O T I
jeudi 13 septembre 2012 à 09:25:04 | Re : telechargement d'image

L0ci

Bonjour,

Ou est ta boucle dans ton code actuellement? Si tu veux faire du multi threading avec des boucles tu peux voir du côté de Parallel.foreach ici.
Pour la progress bar c'est une bonne idée mais tu dois connaitre le nombre d'éléments que tu va télécharger ou le nombre de thread que tu va lancer pour pouvoir l'utiliser (pour connaitre le pas ou la valeur max).
jeudi 13 septembre 2012 à 10:17:42 | Re : telechargement d'image

Rapakooti



J ai pas mit la boucle car en elle même elle fonctionne . Je parcours juste tous les lignes d une datagriedview contenant l emplacement de fichier nfo et donc à chaque ligne je récupére différent element dont l adresse d une image en fait faudrait que je bloque la fermeture du programme avec une progressbarre tant que toute les images ne sont pas télécharger
R A P A K O O T I
jeudi 13 septembre 2012 à 10:21:20 | Re : telechargement d'image

L0ci

Ah d'accord. Tu peux alors mettre ta boucle dans un background worker.
- ça empêchera ton programme de se bloquer
- tu peux enregistrer les évènements de modification(pour la progressbar)
- tu peux enregistrer l’évènement de fin pour savoir quand le programme a fini son boulot.
jeudi 13 septembre 2012 à 10:27:48 | Re : telechargement d'image

Rapakooti

Le souci est que je maîtrise pas le background worker :-( en fait faut que j arrive à détecte la fin du thread comme ça quand ils sont tous fini je débloque la fermeture du programme :-)


R A P A K O O T I
jeudi 13 septembre 2012 à 10:34:58 | Re : telechargement d'image

L0ci

Alors voila comment faire:
Code C# :
//on crée le background worker
BackgroundWorker bwDl = new BackgroundWorker();

//on défini la fonction appelée
bwDl.DoWork += new DoWorkEventHandler(_bw_DoWork);

//on défini la fonction appelée quand le boulot est fini
bwDl.RunWorkerCompleted += new RunWorkerCompletedEventHandler(_bw_RunWorkerCompleted);

//on démarre le job
bwDl.RunWorkerAsync();

//fonction qui fait les téléchargements
void bwDl_DoWork(object sender, DoWorkEventArgs e)
{
    //mets ta boucle comme elle éxiste déjà.
    //rien à changer normalement
}  

//évènement de fin de boulot
void _bw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
    //message, notification...
 }
jeudi 13 septembre 2012 à 10:48:13 | Re : telechargement d'image

Rapakooti


Merci beaucoup je test se soir

R A P A K O O T I
vendredi 14 septembre 2012 à 19:01:46 | Re : telechargement d'image

Rapakooti



merci encore , mais je recupere comment mon parametre ? pour lance le telecharment?

R A P A K O O T I
vendredi 14 septembre 2012 à 21:18:59 | Re : telechargement d'image

L0ci

Re,

Désolé j'avais pas vu que tu avais un paramètre .
Tu peux faire comme ca :
Code C# :
bwDl.RunWorkerAsync(parametre);

void bwDl_DoWork(object sender, DoWorkEventArgs e)
{
    //le paramètre est récupéré via sender :)
    //mets ta boucle comme elle éxiste déjà.
    //rien à changer normalement
}

j'espère que ca marchera pour toi comme ca.
lundi 17 septembre 2012 à 22:37:46 | Re : telechargement d'image

Rapakooti



Il doit y avoir une erreur j'ai une
Erreur 1 Le nom '_bw_DoWork' n'existe pas dans le contexte actuel E:\Dropbox\Programmation Csharp\Premier programme\Lister film\deuxieme sauvegarde Filmeur 25072012\Filmeur\Form1.cs 380 63 Filmeur

et
Erreur 2 Le nom '_bw_RunWorkerCompleted' n'existe pas dans le contexte actuel E:\Dropbox\Programmation Csharp\Premier programme\Lister film\deuxieme sauvegarde Filmeur 25072012\Filmeur\Form1.cs 383 87 Filmeur


POur pallier ca j'ai tenté de mettre le composant backgrounder mais je peux pas le lance plusieurs fois au telechargement d'image



R A P A K O O T I


Cette discussion est classée dans : programme, code, image, thread, telechargement


Répondre à ce message

Sujets en rapport avec ce message

Programme freeze, aide ajouter thread [ par deli2025 ] Bonjour, je suis nouveau dans le domaine de c# et j'apprends sur le tas^^ Je viens de créer un petit programme qui hash du texte en sha1 ou md5 et ma utilisation d'un thread pour afficher l'état d'avancement d'un programme [ par Karibot ] bonjour, j'ai un petit problème: j'ai un programme en windows form qui fonctionne correctement sauf qu'il est trop lent et j'aimerai qu'il m'affiche l Simulation d'image [ par idrissiilias ] Bonjour, J'ai une question , en fait je dois faire un programme qui détecte les LEDs éteintes Donc je dispose d'une camera HD Microsoft je prend en p Image dans un userControl qui hérite d'un bouton [ par madkeyboard ] Bonjour ! Je vais vous exposer un problème dont je pressens que la solution est simple ^^ J'ai créé un userControl qui hérite de la classe Button, a comment dessiner des objets graphiques sur une image [ par ami7 ] bonsoir, j'utilise un code c# qui permet de dessiner des objets ghraphiques (rectangle , ellipse, ligne...) le question c'est que je veut tout d'abord Compiler un programme avec du code [ par Hermios ] Salut à tous, Alors de ce que j'ai pu lire, c'Est un sujet récurrent, mais malgré toutes les infos, je suis perdu, donc : A la base, je voudrai compil Récupérer une image d'un PowerPoint [ par Christophe59193 ] Bonjour tout le monde, Alors aujourd'hui, je viens vous voir car je suis légèrement bloqué (pour ne pas dire complètement) Je travaille actuellement ImageList à remplir par code [ par mecyber25 ] Bonjour, pourquoi Visual Studio 2010 m'affiche un message d'erreur [^^sad1]("Exception non gérée...") quand je veux remplir ainsi l'imagelist ? Tan Lancer plusieurs Threads à la fois [ par Karibot ] Bonjour, j'essaye de lancer plusieurs threads à la fois et j'ai l'impression que il n'y en as qu'un seul qui part... et donc pas de parallelisme effec execution d'un programme code source [ par tintin4048 ] J'ai telecharger un programme. Celui ci comporte un exe. Commet ouvrir à partir de cet exe qui n'est pas reconnu ? Je suis debutant et ma question n'a


Nos sponsors


Sondage...

CalendriCode

Juin 2013
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,576 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales