blq
Messages postés97Date d'inscriptionvendredi 22 octobre 1999StatutMembreDernière intervention13 juin 20161 11 nov. 2010 à 17:21
Excellente contribution, simple et efficace
nazavb
Messages postés1Date d'inscriptionmardi 22 janvier 2008StatutMembreDernière intervention22 janvier 2008 22 janv. 2008 à 14:28
ok
cs_dragon
Messages postés2336Date d'inscriptionsamedi 14 juillet 2001StatutMembreDernière intervention 5 mai 20096 17 oct. 2006 à 23:44
merci, ça fait plaisir d'aider
cs_lucgod1
Messages postés10Date d'inscriptiondimanche 17 septembre 2006StatutMembreDernière intervention24 janvier 2007 17 oct. 2006 à 14:02
Bravo DRAGON pour cette source bien utile ET qui fonctionne parfaitement.
BYE.
cs_dragon
Messages postés2336Date d'inscriptionsamedi 14 juillet 2001StatutMembreDernière intervention 5 mai 20096 25 janv. 2006 à 13:29
c'est juste que c'est hors sujet.
j'ai fait une siource, juste sur l'itérateur, la conversation devrait plutot être là et non ici.
j'ai rien contre les commentaires, sauf quand c'est hors sujet et quand le niveau des commentaire est de loin le niveau de la source. ça fait fuir les débutant ce genre de commentaire
sebmafate
Messages postés4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 février 201437 25 janv. 2006 à 09:48
faut pas prendre la mouche comme cela... mes remarques ne se veulent pas désobligeantes.
Il est intéressant de pouvoir comparer les différentes façons de travailler.
continue à poster des choses intéressantes...
cs_FraGag
Messages postés81Date d'inscriptionjeudi 19 février 2004StatutMembreDernière intervention18 avril 2008 25 janv. 2006 à 07:57
Moi non plus, j'aime pas ces discussions qui dérapent... et quand c'est moi qui les commence... :(
Bon, j'avais rien dit sur la source, mais c'est très bien. Tiens, un petit 10/10 ;) !
Désolé pour le dérangement...
cs_dragon
Messages postés2336Date d'inscriptionsamedi 14 juillet 2001StatutMembreDernière intervention 5 mai 20096 25 janv. 2006 à 07:38
un for eatch est un iterateur déguisé premièrement
ça parcour une collection, mais ça défini pas les termes, sauf si la collection est défini, comme en java 1.5, ou que c'est un tableau défini.
Les collections sont beaucoup plus rapide qu'un tableau. Si on compare le for eatch et un itérateur en vitesse, le résultat est totallement identique.
Pour W3C, renseigne toi un peu. Les premier à avoir défini des patrons ont été les GoF. ensuite c,est devenu populaire. Mais maintenant, c'est W3C qui est rendu a faire la gestion et la validation des nouveaux patrons ... ou IBM, c'est pas clair rendu là. (http://www.google.ca/search?hl=fr&q=site%3Ahttp%3A%2F%2Fwww.w3.org+pattern&meta=)
Et arrêter donc avec ça, ça a aucun rapport avec la source. Le but de la source est l'utilisation des radiobutton sur plusieurs panel, pas de rester accrocher sur une partie qui va absolument rien changer au final. là vous faite juste mèler les débutants.
Cette source, je l'ai classé débutant, puisqu'il y a rien de compliquer dessus, sauf là, un débutant qui va se mettre à lire les commentaires, va rien comprendre et va abandonner la source. Si j'avais mis la source intermédiare, je comprendrais qu'il faudrais se poser ce genre de question, mais pas débutante. ce n'est pas un algo de trie, encription, compression où tout doit-être parfait et le moindre petit gain est appréciable.
Ça fini par devenir fatigant de voir du monde poster ce genre de commentaires sur une source qui parle pas dutout de ça. Faudrait pas que j'aille commencer chaque ligne de code de chacun de vos programme, vous aussi vous finiriez par trouver ça lassant à la fin. sur mes 4 dernières sources, il y en a 3 que j'ai pas arrêter de recevoir ce genre de commentaire, à cause d'un programmeur qui a pas la même philosophie qu'un autre programmeur.
si ça continu, je vais garder pour moi mes code source et je vais arrêter d'aider le monde
sebmafate
Messages postés4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 février 201437 25 janv. 2006 à 06:20
je ne vois pas ce que vient faire le W3C dans l'histoire... mais bref.
L'instruction For Each permet de parcourir une collection d'objets (en fait tout ce qui est itérable). On retrouve aujourd'hui dans la plupart des langages (objet ou non) : vb6, vb.net, C#, java, php, javascript, python... je ne vois donc pas l'intérêt de la contourner... à la rigueur l'utilisation du For..Next est justifié pour des raisons de performances.
cs_dragon
Messages postés2336Date d'inscriptionsamedi 14 juillet 2001StatutMembreDernière intervention 5 mai 20096 24 janv. 2006 à 23:57
Les patron de GoF ou de Grasp sont des patron haut niveau qui ont été inventer pour résoudre des problème défini dans n'importe quel language
j,ai fait 5 tutoriaux sur les premier patron. Puisque j'avais pas de réaction,sauf sur le singleton j'ai arrêté
P.S.: J'.ai été vite, mais ma source utilise une collection et toi un tableau. Une collection est de type object, donc même avec ton for each, tu vas avoir un type object et non radiobutton
cs_Kelpan
Messages postés70Date d'inscriptionmercredi 24 avril 2002StatutMembreDernière intervention17 septembre 2006 24 janv. 2006 à 20:12
Le fait que cela soit impossible que cela ne soit pas un CheckBox (Ou RadioButton) ne veut pas dire que tu ne peux pas te tromper sur la synthaxe du mot Checked (Ce que je te montre dans mon exemple). En cas d'erreur le compilateur ne voit rien.
Comme tu le dis (moi aussi dans mon post) à la limite, il faudrais caster en RadioButton.
Quand tu dis "moins de code, ne veut pas dire plus propre.", je suis entièrement d'accord, mais si tu as la possibilité de faire quelque chose de propre avec moins de ligne, je ne vois que des avantages...
Patrons GoF definis par WC3 !!?? Tu peux m'éclairer ? Je ne connais pas.
Pour info :
Le "For Each" n'est pas spécifique qu'à VB
Par exemple, on le retrouve aussi sous Java :
for(<Objet récupérant l'occurance suivante de la collection> : <Collection d'objets>){
instruction(s)
}
cs_dragon
Messages postés2336Date d'inscriptionsamedi 14 juillet 2001StatutMembreDernière intervention 5 mai 20096 24 janv. 2006 à 00:37
sauf dans ma class, c'est totallament impossible que ça soit pas un checkbox. à la limite, il faudrait ajouter un ctype(iterator.Current,RadioButton).
mais bon
moins de code, veut pas dire plus propre.
mais là, c'est vraiment une question de goût. Moi je préfère suivre les patrons GoF qui a été défini par W3C que les normes définis par Microsoft
cs_Kelpan
Messages postés70Date d'inscriptionmercredi 24 avril 2002StatutMembreDernière intervention17 septembre 2006 23 janv. 2006 à 21:28
Le For Each permet de caster directement l'objet RadioButton et permet de detecter plus facilement des bugs non voulu
Dans le cas de l'iterateur, current renvoi un object et la propriété Checked n'est pas une propriété de la classe object.
Fais la comparaison entre ces 2 cas
Cas 1 :
Dim CtlRadio As RadioButton
For each CtlRadio in Collection
ctlRadio.Cheked = False ' Le c de Checked a été volontairement oublié
Next
Cas 2 :
Dim iterator As System.Collections.IEnumerator = Collection.GetEnumerator
While iterator.MoveNext
iterator.Current.cheked = False ' Le c de Checked a été volontairement oublié
End While
Dans le cas 1, l'erreur est detecté à la compilation, mais pas dans le cas 2.
Pour résoudre le problème dans le cas 2, il faudrait caster iterator.Current en RadioButton pour que ce soit plus propre.
Il en va de même pour l'objet "sender"...
Conclusion :
Le cas 1 demande moins de code que le cas 2 pour être plus propre.
cs_dragon
Messages postés2336Date d'inscriptionsamedi 14 juillet 2001StatutMembreDernière intervention 5 mai 20096 20 janv. 2006 à 02:51
sauf que l'itérateur est considéré comme une meilleur programmation qu'un "for each"
en plus, ma class pourrait t'être adapter pour n'importe quel language et pas le "for each" qui est spécifique à VB.
je préfère toujours utiliser certain standart qu'utiliser des fonction spécifique et non transportable.
c'est come pourquoi mettre: add, remove et removeAll au lieu du français. C'est tout simplement pour garder les standarts appliqué à la programmation. C'est comme "get" et "set"
cs_FraGag
Messages postés81Date d'inscriptionjeudi 19 février 2004StatutMembreDernière intervention18 avril 2008 19 janv. 2006 à 23:55
Dans la procédure modification(), pourquoi utiliser l'itérateur au lieu de For Each ... Next ? Y a-t-il une raison qui empêche son utilisation ? À ce que je sache, For Each ... Next fait exactement la même chose. On aurait donc :
Private Sub modification(...)
For Each CheckBox As CheckBox In Collection
CheckBox.Checked = False
Next
sender.Checked = True
End Sub
cs_dragon
Messages postés2336Date d'inscriptionsamedi 14 juillet 2001StatutMembreDernière intervention 5 mai 20096 19 janv. 2006 à 17:25
enlève le removeEvent et tu vas voir que les évênements sont gardé et pourtant, il est plus dans la collections, mais l'objet garde une référence d'un event dans cette class
le bug viens soit du remove, soit du clear, mais les 2 ne fond pas la même chose avec le event
sebmafate
Messages postés4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 février 201437 19 janv. 2006 à 16:56
'On supprime tout les radioButtons
'Les évênements sont géré automatiquement
'C'est en quelques sorte un bug de .net,
'puisque les évênements auraient du être conservé
Public Sub removeAll()
Collection.Clear()
End Sub
non ce n'est pas un bug de .net... on ne garde pas un évènement d'un objet détruit !
c'est comme si tu gardais une assurance pour une voiture que tu n'as plus.
11 nov. 2010 à 17:21
22 janv. 2008 à 14:28
17 oct. 2006 à 23:44
17 oct. 2006 à 14:02
BYE.
25 janv. 2006 à 13:29
j'ai fait une siource, juste sur l'itérateur, la conversation devrait plutot être là et non ici.
j'ai rien contre les commentaires, sauf quand c'est hors sujet et quand le niveau des commentaire est de loin le niveau de la source. ça fait fuir les débutant ce genre de commentaire
25 janv. 2006 à 09:48
Il est intéressant de pouvoir comparer les différentes façons de travailler.
continue à poster des choses intéressantes...
25 janv. 2006 à 07:57
Bon, j'avais rien dit sur la source, mais c'est très bien. Tiens, un petit 10/10 ;) !
Désolé pour le dérangement...
25 janv. 2006 à 07:38
ça parcour une collection, mais ça défini pas les termes, sauf si la collection est défini, comme en java 1.5, ou que c'est un tableau défini.
Les collections sont beaucoup plus rapide qu'un tableau. Si on compare le for eatch et un itérateur en vitesse, le résultat est totallement identique.
Pour W3C, renseigne toi un peu. Les premier à avoir défini des patrons ont été les GoF. ensuite c,est devenu populaire. Mais maintenant, c'est W3C qui est rendu a faire la gestion et la validation des nouveaux patrons ... ou IBM, c'est pas clair rendu là. (http://www.google.ca/search?hl=fr&q=site%3Ahttp%3A%2F%2Fwww.w3.org+pattern&meta=)
Et arrêter donc avec ça, ça a aucun rapport avec la source. Le but de la source est l'utilisation des radiobutton sur plusieurs panel, pas de rester accrocher sur une partie qui va absolument rien changer au final. là vous faite juste mèler les débutants.
Cette source, je l'ai classé débutant, puisqu'il y a rien de compliquer dessus, sauf là, un débutant qui va se mettre à lire les commentaires, va rien comprendre et va abandonner la source. Si j'avais mis la source intermédiare, je comprendrais qu'il faudrais se poser ce genre de question, mais pas débutante. ce n'est pas un algo de trie, encription, compression où tout doit-être parfait et le moindre petit gain est appréciable.
Ça fini par devenir fatigant de voir du monde poster ce genre de commentaires sur une source qui parle pas dutout de ça. Faudrait pas que j'aille commencer chaque ligne de code de chacun de vos programme, vous aussi vous finiriez par trouver ça lassant à la fin. sur mes 4 dernières sources, il y en a 3 que j'ai pas arrêter de recevoir ce genre de commentaire, à cause d'un programmeur qui a pas la même philosophie qu'un autre programmeur.
si ça continu, je vais garder pour moi mes code source et je vais arrêter d'aider le monde
25 janv. 2006 à 06:20
L'instruction For Each permet de parcourir une collection d'objets (en fait tout ce qui est itérable). On retrouve aujourd'hui dans la plupart des langages (objet ou non) : vb6, vb.net, C#, java, php, javascript, python... je ne vois donc pas l'intérêt de la contourner... à la rigueur l'utilisation du For..Next est justifié pour des raisons de performances.
24 janv. 2006 à 23:57
j,ai fait 5 tutoriaux sur les premier patron. Puisque j'avais pas de réaction,sauf sur le singleton j'ai arrêté
P.S.: J'.ai été vite, mais ma source utilise une collection et toi un tableau. Une collection est de type object, donc même avec ton for each, tu vas avoir un type object et non radiobutton
24 janv. 2006 à 20:12
Comme tu le dis (moi aussi dans mon post) à la limite, il faudrais caster en RadioButton.
Quand tu dis "moins de code, ne veut pas dire plus propre.", je suis entièrement d'accord, mais si tu as la possibilité de faire quelque chose de propre avec moins de ligne, je ne vois que des avantages...
Patrons GoF definis par WC3 !!?? Tu peux m'éclairer ? Je ne connais pas.
Pour info :
Le "For Each" n'est pas spécifique qu'à VB
Par exemple, on le retrouve aussi sous Java :
for(<Objet récupérant l'occurance suivante de la collection> : <Collection d'objets>){
instruction(s)
}
24 janv. 2006 à 00:37
mais bon
moins de code, veut pas dire plus propre.
mais là, c'est vraiment une question de goût. Moi je préfère suivre les patrons GoF qui a été défini par W3C que les normes définis par Microsoft
23 janv. 2006 à 21:28
Dans le cas de l'iterateur, current renvoi un object et la propriété Checked n'est pas une propriété de la classe object.
Fais la comparaison entre ces 2 cas
Cas 1 :
Dim CtlRadio As RadioButton
For each CtlRadio in Collection
ctlRadio.Cheked = False ' Le c de Checked a été volontairement oublié
Next
Cas 2 :
Dim iterator As System.Collections.IEnumerator = Collection.GetEnumerator
While iterator.MoveNext
iterator.Current.cheked = False ' Le c de Checked a été volontairement oublié
End While
Dans le cas 1, l'erreur est detecté à la compilation, mais pas dans le cas 2.
Pour résoudre le problème dans le cas 2, il faudrait caster iterator.Current en RadioButton pour que ce soit plus propre.
Il en va de même pour l'objet "sender"...
Conclusion :
Le cas 1 demande moins de code que le cas 2 pour être plus propre.
20 janv. 2006 à 02:51
en plus, ma class pourrait t'être adapter pour n'importe quel language et pas le "for each" qui est spécifique à VB.
je préfère toujours utiliser certain standart qu'utiliser des fonction spécifique et non transportable.
c'est come pourquoi mettre: add, remove et removeAll au lieu du français. C'est tout simplement pour garder les standarts appliqué à la programmation. C'est comme "get" et "set"
19 janv. 2006 à 23:55
Private Sub modification(...)
For Each CheckBox As CheckBox In Collection
CheckBox.Checked = False
Next
sender.Checked = True
End Sub
19 janv. 2006 à 17:25
le bug viens soit du remove, soit du clear, mais les 2 ne fond pas la même chose avec le event
19 janv. 2006 à 16:56
'Les évênements sont géré automatiquement
'C'est en quelques sorte un bug de .net,
'puisque les évênements auraient du être conservé
Public Sub removeAll()
Collection.Clear()
End Sub
non ce n'est pas un bug de .net... on ne garde pas un évènement d'un objet détruit !
c'est comme si tu gardais une assurance pour une voiture que tu n'as plus.