IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Comment visualiser la progression d'un téléchargement ?


Sujet :

Windows Forms

  1. #21
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2006
    Messages : 70
    Points : 32
    Points
    32
    Par défaut
    oui mais alors après j'utilise la fonction qui est dans la dll et si je fais pas mon truc bizarre ben il me dit qu'elle est pas déclarée.

    Comment tu fait en fait pour appeler une fontion qui est dans la dll après ?

    ou alors c'est ma dll qui est pas bonne

  2. #22
    Rédacteur

    Avatar de Jérôme Lambert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2003
    Messages
    4 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 451
    Points : 14 357
    Points
    14 357
    Par défaut
    Faut écrire l'import en haut de ton fichier .vb où tu veux utiliser la fonction en question. (comme l'a dit marcusien)
    Jérôme Lambert
    Développeur, Architecte, Rédacteur & Fan technologies Microsoft
    Ma boite informatique | Mon profil LinkedIn

  3. #23
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    351
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 351
    Points : 321
    Points
    321
    Par défaut
    eh bien une fois que tu as fait ton Import,
    tu dois instancier un objet (donc ta classe)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Imports nom_de_la_dll.nom_de_ta_classe
    [...]
    Dim instanceNumberOne As New nom_de_la_CLASSE
    instanceNumberOne.nom_de_ta_méthode()
    Comme quand tu instancies n'importe quel objet

    sinon tu n'es pas obliger de faire le imports, mais tu peux te contenter de faire comme cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim instanceNumberOne As New nom_de_la_dll.nom_de_ta_CLASSE
    instanceNumberOne.nom_de_ta_méthode
    Cela revient exactement au même, mais si tu utilises beaucoup de fois des méthodes de ta classe, c'est plus lisible de faire un Imports (et il me semble que tu gagnes en optimisation)

  4. #24
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2006
    Messages : 70
    Points : 32
    Points
    32
    Par défaut
    ok je teste

  5. #25
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2006
    Messages : 70
    Points : 32
    Points
    32
    Par défaut
    ca y est c'est bon ca marche !
    en fait j'avais pas mit "public" dans la déclaration de ma méthode dans la dll c'est pour ca je crois.

    En tout cas merci beaucoup j'ai testé avec une dll bidon qui faisait une addition mais maintenant je vais le faire avec la bonne dll ca devrait aller.

    merci encore

    PS: juste un conseil, dans vos programmes vous déléguez tout ou presque tout dans des dll ou vous laissez quand même une bonne partie du code dans le exe ?

  6. #26
    Membre expérimenté Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Points : 1 443
    Points
    1 443
    Par défaut
    tu t es vachement compliqué la vie!!!

    http://msdn2.microsoft.com/fr-fr/lib...nt(VS.80).aspx
    il vaut mieux prendre son pied que de se prendre la tête!!

    http://bossun.noxblog.com

  7. #27
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    351
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 351
    Points : 321
    Points
    321
    Par défaut
    Ben ta question...on va dire que la réponse est :
    On ESSAYE de mettre le plus de choses possible dans des classes, des dll & co.
    Ca permet un débogage plus facile, un code plus propre, une meilleure optimisation, et ca permet également la récupération du code que tu as écrit et la future possible réutilisation de ton code dans d'autres programmes/projet/formulaire...

    Il vaut mieux en effet externaliser le plus de code possible pour cela ^^ (mais c'est pas toujours évident)

  8. #28
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2006
    Messages : 70
    Points : 32
    Points
    32
    Par défaut
    Citation Envoyé par bossun
    tu t es vachement compliqué la vie!!!

    http://msdn2.microsoft.com/fr-fr/lib...nt(VS.80).aspx

    oui mais moi je veux voir l'état du téléchargement au fur et à mesure et avec downloadFile on peut pas.


    Ben ta question...on va dire que la réponse est :
    On ESSAYE de mettre le plus de choses possible dans des classes, des dll & co.
    Ca permet un débogage plus facile, un code plus propre, une meilleure optimisation, et ca permet également la récupération du code que tu as écrit et la future possible réutilisation de ton code dans d'autres programmes/projet/formulaire...

    Il vaut mieux en effet externaliser le plus de code possible pour cela ^^ (mais c'est pas toujours évident)
    ok ben merci pour le conseil

  9. #29
    Membre expérimenté Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Points : 1 443
    Points
    1 443
    Par défaut
    alors, l'appel de cette méthode

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WebClient.DownloadFileAsync, méthode (Uri, String)
    déclanche l'evenement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WebClient.DownloadProgressChanged

    et là t as tout ce qu'il te faut....

    ça prend pas plus de 10 lignes (en exagérant un peu) pour faire ce que tu veux..

    http://msdn2.microsoft.com/fr-fr/lib...ed(VS.80).aspx
    il vaut mieux prendre son pied que de se prendre la tête!!

    http://bossun.noxblog.com

  10. #30
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2006
    Messages : 70
    Points : 32
    Points
    32
    Par défaut
    ok ben merci je vais regarder parce que depuis la dll je peux pas renvoyer l'état du téléchargement tout le temps...

  11. #31
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2006
    Messages : 70
    Points : 32
    Points
    32
    Par défaut
    j'ai fait avec WebClient ca marche mais je sais pas comment faire pour voir la progression du téléchargement.
    En fait j'ai fait ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim Client As New WebClient
            Dim handler As DownloadProgressChangedEventHandler
            AddHandler Client.DownloadProgressChanged, handler
     
            Dim clienturl As System.Uri = New System.Uri(Url)
            Client.DownloadFileAsync(clienturl, Chemin)
    mais je sais pas comment utiliser le handler pour mettre à jour ma progressbar au fur et à mesure ?

    EDIT : Sinon on peux pas faire en sorte que le code dans une dll renvoie une valeur au programme principal mais sans utiliser return parce que sinon ca quitte de suite la méthode en cours ?

    EDIT 2 : J'ai réussi en transformant ce code en VB.NET et en le trafiquant un peu mais si ta méthode est plus simple et plus rapide pourquoi pas...

  12. #32
    Membre expérimenté Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Points : 1 443
    Points
    1 443
    Par défaut
    as tu crée la methode qui s'execute lors de l evenement DownloadProgressChanged??


    dans cette methode tu as le parametre "e" qui te permet d'avoir ces informations

    il a un parametre Percent

    utilise une barre de progression avec 1 comme valeur min et 100 comme valeur max...

    dans DownloadProgressChanged tu fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    progressbar.value = e.percent
    il vaut mieux prendre son pied que de se prendre la tête!!

    http://bossun.noxblog.com

  13. #33
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2006
    Messages : 70
    Points : 32
    Points
    32
    Par défaut
    Citation Envoyé par bossun
    as tu crée la methode qui s'execute lors de l evenement DownloadProgressChanged??
    Comment est-ce qu'on fait ca ?

  14. #34
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2006
    Messages : 70
    Points : 32
    Points
    32
    Par défaut
    Alors personne peut m'aider ?

    Je voulais savoir aussi si on pouvait faire plusieurs téléchargement en même temps de cette manière ?

  15. #35
    Membre expérimenté Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Points : 1 443
    Points
    1 443
    Par défaut
    oui tu peux... tu peux faire tes telechargements soit en paralelle soit les uns à la suit des autres...

    pour les paralelles, tu dois les exécuter dans des threads séparés
    il vaut mieux prendre son pied que de se prendre la tête!!

    http://bossun.noxblog.com

  16. #36
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2006
    Messages : 70
    Points : 32
    Points
    32
    Par défaut
    ok merci et tu veux pa me dire comment on fait pour créer cette méthode ?


    as tu crée la methode qui s'execute lors de l evenement DownloadProgressChanged??

  17. #37
    Membre expérimenté Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Points : 1 443
    Points
    1 443
    Par défaut
    je vais pas faire le programme à ta place.. j'ai autre chose à faire


    tu as tout sur MSDN.. apprends à utiliser les délégés et tout sera joué..

    tout est là

    http://msdn2.microsoft.com/fr-fr/lib...ed(VS.80).aspx

    Si avec ce que je t'ai donné tu n'arrives pas à te débrouiller faut te poser des questions
    il vaut mieux prendre son pied que de se prendre la tête!!

    http://bossun.noxblog.com

Discussions similaires

  1. [RAVE] Comment visualiser un texte enrichi ?
    Par ARDILLER dans le forum Composants VCL
    Réponses: 4
    Dernier message: 14/03/2006, 15h54
  2. Réponses: 7
    Dernier message: 22/02/2006, 17h07
  3. Réponses: 2
    Dernier message: 07/11/2005, 20h17
  4. [SWiSHMax] Comment visualiser un preloader en local
    Par 3psilOn dans le forum Flash
    Réponses: 1
    Dernier message: 22/07/2005, 15h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo