THREAD ET PROGRESSBAR - EXEMPLE SIMPLE

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 12 nov. 2006 à 11:19
vuduymackhai Messages postés 3 Date d'inscription mardi 20 novembre 2007 Statut Membre Dernière intervention 25 janvier 2017 - 13 janv. 2010 à 16:42
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/40294-thread-et-progressbar-exemple-simple

vuduymackhai Messages postés 3 Date d'inscription mardi 20 novembre 2007 Statut Membre Dernière intervention 25 janvier 2017
13 janv. 2010 à 16:42
Merci pour le code source...
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
17 nov. 2006 à 09:58
Merci :)

le using(IDisposable){ /* code */ } permet d'exécuter automatique la méthode Dispose() des objets instanciés dans la parenthèse lors de la sortie du bloc using. En fait, c'est exactement la meme chose qu'un try/finally (dans lequel tu appelerais la méthode Dispose de tes objets), juste une façon différente de l'écrire (le code IL généré est sensiblement le meme).


A ne pas confondre avec la directive " using namespace; "
cs_fcolo Messages postés 201 Date d'inscription mercredi 8 février 2006 Statut Membre Dernière intervention 20 février 2007 2
17 nov. 2006 à 09:50
Franchement, très bonne source, très claire, bien commenté.
Je vais voir pour modifier le contexte (copie de repertoires/fichiers) en conservant ta structure.

Quel est l'intéré d'utiliser le using:
using (GZipStream gzip = new GZipStream(outputFile, CompressionMode.Compress))
plutot que directement declarer le GZipStream gzip ?

En tout cas, très bonne source, merci :)

f.colo
TMONOD Messages postés 256 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 6 novembre 2009 1
15 nov. 2006 à 00:45
Autant pour moi, On reproche toujours aux gens de ne pas consulter les sources existantes avant de l'ouvrir, et puis on fait la même erreur.
Depuis .net, j'ai du mal avec VB, le sentiment qu'une page doit se tourner mais qu'un paquet de gens s'accrochent désespérément à leurs APIs...
...non pas que je sois contre la bidouille sauvage...

Bonne nuit à tous.

(j'adore les 3 points ...)
cs_Nurgle Messages postés 1642 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 28 avril 2011 4
13 nov. 2006 à 16:53
TMONOD > j'avais déjà postée une source là dessus : http://www.vbfrance.com/code.aspx?ID=38076
(d'accord, c'est du VB... mais bon :p)
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
13 nov. 2006 à 08:41
Merci à tous pour vos commentaires.
"A la demande générale", j'ai modifié le zip et intégré les classes partielles ;)
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
13 nov. 2006 à 06:35
Avec le BackgroundWorker, il y a moyen de faire des choses très sympa ;)
il suffit juste de se souvenir qu'on fait de l'objet :D

Si j'ai le temps, je posterais une petite source qui explique ce que je viens de dire :p
rudhf Messages postés 62 Date d'inscription mercredi 26 avril 2006 Statut Membre Dernière intervention 30 juin 2007 2
13 nov. 2006 à 01:25
merci d'avoir fait cette source suite à ma question
TMONOD Messages postés 256 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 6 novembre 2009 1
12 nov. 2006 à 22:58
Bonsoir,
Monsieur Nurgle, Vous êtes bon pour nous faire un tuto sur les BackgroundWorkers et les .ReportProgress !
cs_Nurgle Messages postés 1642 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 28 avril 2011 4
12 nov. 2006 à 22:42
jolie petite source,
Au moins ça apprend à manipuler correctement les threads :)

Personnellement, j'aurais utilisé un BackgroundWorker, et hop, un petit .ReportProgress avec en paramètre le pourcentage d'avancement de la progressBar et c'était fini. Mais bon, c'est la solution pour flemmard :o)
(et c'est plus limité, c'est vrai...)

par contre, pas de classes partielles... bahhh, ça me rappelles de mauvais souvenirs (.NET 1.x par exemple... :p)
TMONOD Messages postés 256 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 6 novembre 2009 1
12 nov. 2006 à 12:07
Bonjour,
D'abord un vrai "merci", c'est vraiment le genre de sources que l'on souhaite trouver sur ce site.

Au sujet, de l'utilisation des classes partielles, Bidou a raison.
d'autant plus que la tendance est vraiment à la séparation bien .net euh, nette, de l'IHM et du code.
D'ailleurs, dans SharpDevelop (vous savez l'IDE libre qui permet aussi de programmer sous Mono) le template de base utilise une classe partielle.

Salutations
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
12 nov. 2006 à 12:03
Ouai, je pars du principe qu'une classe = un fichier. Surtout pour des petites sources comme ca. J'aime bien que tout soit dans le meme fichier (quitte a utiliser les #region quand ca prend beaucoup de place).
J'utilise les classes partielles surtout pour les classes nested ;)
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
12 nov. 2006 à 11:58
Bonne petite source, cepandant j'ai été surpris de constater que tu n'utilises pas les classes partielles (notemment au niveau design, pour la création des Controls)
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
12 nov. 2006 à 11:19
Plutôt plus que moins d'ailleurs :p
Et surtout il y a vraiment nécessité d'insister sur l'utilisation d'Invoke et non pas le fond de teint CheckForIllegalCrossThreadCalls.
Rejoignez-nous