florenth
-
1 mai 2007 à 17:45
cs_exar
Messages postés286Date d'inscriptionvendredi 5 décembre 2003StatutMembreDernière intervention22 avril 2012
-
2 mai 2007 à 11:43
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_exar
Messages postés286Date d'inscriptionvendredi 5 décembre 2003StatutMembreDernière intervention22 avril 20121 2 mai 2007 à 11:43
Oui, c'est certain, Caribensila, mais la POO permet de régler ce problème: créer au départ une classe abstraite. Ainsi, tu peux même la spécialiser pour tout ce que tu veux !
Je ne sais pas trop non plus s'il y a moyen d'utiliser des templates comme en C++, mais cela peut également être une solution.
Caribensila
Messages postés2527Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention16 octobre 201918 2 mai 2007 à 11:34
Merci à tous. :)
@EXAR: Bein, j'aurais pas eu l'air con si TIntegerList avait existé ! lol
Quant à créer une nouvelle classe... Je ne l'ai pas fait car la principale vertue de ce code est son aspect pédagogique pour les débutants auxquels je suis très attaché ( et dont j'ai bcp de mal à m'en détacher aussi, d'ailleurs ;) Je n'ai donc pas voulu trop compliquer le truc.
D'autre part, il faut être très prudent avec ce genre d'astuce. En effet, faire des paris sur un format interne est dangereux dans la mesure où ça peut changer à l'avenir. Il faut se souvenir que Integer a longtemps représenté des entiers 16 bits. Ca peut donc encore évoluer. Et localiser un tel bug ne serait pas de la tarte, je pense...
cs_exar
Messages postés286Date d'inscriptionvendredi 5 décembre 2003StatutMembreDernière intervention22 avril 20121 2 mai 2007 à 11:01
Maintenant que j'ai regardé la source (je ne l'avais pas encore fait aux deux précédents messages et ceux-ci ne s'appliquaient d'ailleurs pas à cela), voici mes commentaires à son propos:
+:
concis
commentaires ni trop ni trop peu fournis
-:
n'aurait-il pas été judicieux de créer une nouvelle classe TIntegerList descendant de TList et de lui inclure la méthode sort ? Ceci, bien entendu dans le but de pouvoir la réutiliser si besoin est et de pouvoir la spécialiser ou l'adapter plus facilement.
Voilà, j'espère n'avoir pas été trop méchant afin de ne pas m'attirer une nouvelle fois des propos incendiaires.
cs_exar
Messages postés286Date d'inscriptionvendredi 5 décembre 2003StatutMembreDernière intervention22 avril 20121 2 mai 2007 à 10:50
Francky23012301:
Il ne s'agissait pas d'un commentaire dont le but était de dénigrer la source, mais une simple question ! En fait, actuellement, Delphi n'est plus installé sur ma machine, car je ne l'utilise plus vraiment, je me suis plutôt mis au C++. Mais il me semblait qu'une telle classe existait déjà ! Pourquoi réinventer la roue ? Je ne trouvais pas spécialement opportun de perdre mon temps à aller sur un moteur de recherche pour vérifier, j'ai alors posé la question, par curiosité et pour ajouter de l'eau au moulin, puisqu'il y aura bien quelqu'un qui connaitra la réponse à une question aussi simple !
Maintenant, pourrais-tu m'indiquer ce qui était dénigrant dans mon commentaire ?
Sur ce, bonne continuation !
Francky23012301
Messages postés400Date d'inscriptionsamedi 6 août 2005StatutMembreDernière intervention11 février 20161 2 mai 2007 à 10:33
Exar :
Avant de poser une question dans le but de dénigrer un source, fait au moins un semblant de recherche sur google, ca t'évitera quelques foudres bien justifiées.
Ce genre de question devrait etre posée en MP voir dans le forum mais surement pas dans la partie sources.
@+
cs_exar
Messages postés286Date d'inscriptionvendredi 5 décembre 2003StatutMembreDernière intervention22 avril 20121 2 mai 2007 à 09:32
Euh, je me trompe, ou il existe dans Delphi une classe TIntegerList ?
Francky23012301
Messages postés400Date d'inscriptionsamedi 6 août 2005StatutMembreDernière intervention11 février 20161 1 mai 2007 à 19:04
Ah ben voila le Flo qui me coupe l'herbe sous le pied.
Voila encore un source riche d'enseignements maniant beauté et efficacité. C'est une petite astuce pas si facile que ca à coder en apparence : je te tire mon chapeau mon grand car c'est bien trouvé : je met ss dans mon dossier spécial bon source car il a bien sa place.
Très bonne astuce de Caribensila !
Franchement, je n'en ai jamais eu besoin mais je sais pas si j'y aurais pensé !
Alors merci pour cette source très didactique malgré sa simplicité.
Un détail cependant: je sais bien que c'est juste pour l'exemple, mais il existe une autre méthode pour compter les pixels: utiliser un structure "record" comme par exemple :
TCoul = record
Color: TColor;
Num: Cardinal;
end;
Et avec ça, tu pouvais utiliser la méthode Sort() du TList ... mais ça complique un peu je te l'accorde.
2 mai 2007 à 11:43
Je ne sais pas trop non plus s'il y a moyen d'utiliser des templates comme en C++, mais cela peut également être une solution.
2 mai 2007 à 11:34
@EXAR: Bein, j'aurais pas eu l'air con si TIntegerList avait existé ! lol
Quant à créer une nouvelle classe... Je ne l'ai pas fait car la principale vertue de ce code est son aspect pédagogique pour les débutants auxquels je suis très attaché ( et dont j'ai bcp de mal à m'en détacher aussi, d'ailleurs ;) Je n'ai donc pas voulu trop compliquer le truc.
D'autre part, il faut être très prudent avec ce genre d'astuce. En effet, faire des paris sur un format interne est dangereux dans la mesure où ça peut changer à l'avenir. Il faut se souvenir que Integer a longtemps représenté des entiers 16 bits. Ca peut donc encore évoluer. Et localiser un tel bug ne serait pas de la tarte, je pense...
2 mai 2007 à 11:01
+:
concis
commentaires ni trop ni trop peu fournis
-:
n'aurait-il pas été judicieux de créer une nouvelle classe TIntegerList descendant de TList et de lui inclure la méthode sort ? Ceci, bien entendu dans le but de pouvoir la réutiliser si besoin est et de pouvoir la spécialiser ou l'adapter plus facilement.
Voilà, j'espère n'avoir pas été trop méchant afin de ne pas m'attirer une nouvelle fois des propos incendiaires.
2 mai 2007 à 10:50
Il ne s'agissait pas d'un commentaire dont le but était de dénigrer la source, mais une simple question ! En fait, actuellement, Delphi n'est plus installé sur ma machine, car je ne l'utilise plus vraiment, je me suis plutôt mis au C++. Mais il me semblait qu'une telle classe existait déjà ! Pourquoi réinventer la roue ? Je ne trouvais pas spécialement opportun de perdre mon temps à aller sur un moteur de recherche pour vérifier, j'ai alors posé la question, par curiosité et pour ajouter de l'eau au moulin, puisqu'il y aura bien quelqu'un qui connaitra la réponse à une question aussi simple !
Maintenant, pourrais-tu m'indiquer ce qui était dénigrant dans mon commentaire ?
Sur ce, bonne continuation !
2 mai 2007 à 10:33
Avant de poser une question dans le but de dénigrer un source, fait au moins un semblant de recherche sur google, ca t'évitera quelques foudres bien justifiées.
http://www.developpez.net/forums/archive/index.php/t-86624.html
Ce genre de question devrait etre posée en MP voir dans le forum mais surement pas dans la partie sources.
@+
2 mai 2007 à 09:32
1 mai 2007 à 19:04
Voila encore un source riche d'enseignements maniant beauté et efficacité. C'est une petite astuce pas si facile que ca à coder en apparence : je te tire mon chapeau mon grand car c'est bien trouvé : je met ss dans mon dossier spécial bon source car il a bien sa place.
Merci Cari
1 mai 2007 à 17:45
Franchement, je n'en ai jamais eu besoin mais je sais pas si j'y aurais pensé !
Alors merci pour cette source très didactique malgré sa simplicité.
Un détail cependant: je sais bien que c'est juste pour l'exemple, mais il existe une autre méthode pour compter les pixels: utiliser un structure "record" comme par exemple :
TCoul = record
Color: TColor;
Num: Cardinal;
end;
Et avec ça, tu pouvais utiliser la méthode Sort() du TList ... mais ça complique un peu je te l'accorde.