Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

TLIST POUR STOCKER DES INTEGERS


Information sur la source

Catégorie :Trucs & Astuces Classé sous : tableau, tlist, pointer, pointeur, integer Niveau : Débutant Date de création : 01/05/2007 Vu / téléchargé: 3 720 / 359

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note


Description

Cliquez pour voir la capture en taille normale
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.

 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de Francky23012301 le 01/05/2007 19:04: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.

Merci Cari

signaler à un administrateur
Commentaire de exar le 02/05/2007 09:32:53

Euh, je me trompe, ou il existe dans Delphi une classe TIntegerList ?

signaler à un administrateur
Commentaire de Francky23012301 le 02/05/2007 10:33:38

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.

@+

signaler à un administrateur
Commentaire de exar le 02/05/2007 10:50:31

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 !

signaler à un administrateur
Commentaire de exar le 02/05/2007 11:01:37

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.

signaler à un administrateur
Commentaire de Caribensila le 02/05/2007 11:34:50

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...

signaler à un administrateur
Commentaire de exar le 02/05/2007 11:43:48

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.

signaler à un administrateur
Commentaire de Fred_Ca_Pulse le 07/05/2007 10:01:24

Bonjour Caribensila

La lecture de ton code m'a rappelé la classe inspirée de TList que j'ai écrite
pour stocker des entiers triés avec un objet associé.

Comme je pense que çà peut intéresser quelqu'un,
je vous donne donc le lien sur cette source que je viens de poster.
http://www.delphifr.com/codes/LISTE-TRIEE-ENTIERS-AVEC-OBJETS-ASSOCIES_42597.aspx

signaler à un administrateur
Commentaire de khemi le 07/05/2007 18:18:29

idem

http://www.delphifr.com/codes/TINTEGERLIST_12503.aspx

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Tableau et pointeur [ par zezet ] MickaëlBonjour J'ai créer un tableau que je retourne avec une fonction sous forme d'adresse et je souhaite le récupérer et récupérer les données stock passer un tableau de variant à un paramètre Integer [ par manudel ] Je déclare un tableau de Variant : tab := VarArrayCreate([0,100],varVariant);que j'alimente.quand il est alimenté, il a cette forme :1,2,3,4,5,6,7,8, Instanciation pointeur [ par Darknemo74 ] Bonjour, je suis débutant sous delphi ( je travaille normalement en C/C++)Je cherche à instancier un pointeur pour pouvoir récuperer la donnée sur laq tableau dynamique à deux dimensions dans une classe [ par Koraluv ] Salut à tous!Je suis débutante en delphi et je voudrai créer une classe qui ai comme attribut un tableau dynamique à deux dim Socket data et connection[] [ par mickeydisn ] Voila Deux petit question.. tout d'abor quand pour utiliser le pointer socket.datapour un entier socket.data := pointer(i); tableau a 3 dimension [ par justevero ] Bonjour, je sais parcourir un tableau a 2 dimensions mais a 3 je ne sais pas lorsque je ne connais pas la taille à l'avance en faitj 'aimerais fa problèmes entre tableau de int et int??? [ par Nargzul ] J'ai un tableau de int (type   mtab= Array[1..9, 1..9, 1..9, 1..9] of Integer;) et je lui met donc un chiffre dedans val[1][1]:=strtoint(form1. Problème de classe dans delphi [ par Ishizaki ] Hello tout le monde, voilà, j'ai un gros problème qui m'a foutu mon oral en l'air ce matin. En fait, j'ai fait un ptit programme sous delphi qui s'oc Utiliser un pointer dans une autre classe [ par christophedlr ] Bonsoir,Voila, dans mon programme j'ai besoin d'un pointeur sur un TRichEdit pour m'en servir dans une classe que je suis entrain de créer.Cela me per Transmettre un tableau ou un integer [ par Francky23012301 ] Salut à tous Comment transmettre une variable d'un serveur à un client. Je m'explique. Le serveur envoye au client un integer i ayant pour valeur 10


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,686 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.