Tlist pour stocker des integers

Soyez le premier à donner votre avis sur cette source.

Vue 7 648 fois - Téléchargée 552 fois

Description

C'est un petit code sans prétention pour les débutants.

TList ne stocke que des pointeurs. Mais Pointer et Integer sont tous deux codés sur 32 bits. D'où l'idée d'utiliser la classe TList pour stocker des Integers.

L'avantage, par rapport à un tableau, et de pouvoir utiliser les Méthodes de TList pour manipuler plus facilement les données. C'est particulièrement intéressant pour les tris, par exemple.

Conclusion :


Dans l'exemple qui sert de démonstration, on scanne un Bitmap pour trier les couleurs présentes dans l'ordre décroissant de leur surfaces.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
286
Date d'inscription
vendredi 5 décembre 2003
Statut
Membre
Dernière intervention
22 avril 2012
2
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.
Messages postés
2527
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
16 octobre 2019
18
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...
Messages postés
286
Date d'inscription
vendredi 5 décembre 2003
Statut
Membre
Dernière intervention
22 avril 2012
2
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.
Messages postés
286
Date d'inscription
vendredi 5 décembre 2003
Statut
Membre
Dernière intervention
22 avril 2012
2
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 !
Messages postés
400
Date d'inscription
samedi 6 août 2005
Statut
Membre
Dernière intervention
11 février 2016
1
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.

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.

@+
Afficher les 8 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.