Chainlists, liste chainée

Soyez le premier à donner votre avis sur cette source.

Vue 4 358 fois - Téléchargée 373 fois


Description

ChainLists est une unité lambda qui permet la manipulation et la création de listes chainées.

types :
pCLItemData : pointeur vers donnée de base d'un item
TCLItemData : donnée de base d'un item
TCLIDataArray : tableau de données des items
pCLItem : pointeur vers item de la liste chainée
TCLItem : item de la liste chainée

constantes :
SizeOfTCLItemData : taille de la donnée de base d'un item
SizeOfTCLItem : taille totale d'un item

classes :
TListHelper (delphi 2009 ou superieur) : helper pour TList
EChainListsItemsNotFree : exception sur liberation des item de liste chainée

fonctions :
CLItemCreate : crée un item
CLItemDestroy : libère un item
CLItemDestroyAll : libére tout les item
CLItemCopy : copy un seul item de la liste
CLItemExtract : extrait un item de la liste
CLItemExchange : echange un item de la liste avec un autre
CLItemExchangePos : echange la position de deux item
CLItemExchangeData : echange les données de deux item
CLItemInsertAfter : insere un item aprés l'item reference
CLItemInsertBefore : insere un item avant l'item reference
CLItemInsertAsFirst : insere l'item au debut de liste
CLItemInsertAsLast : insere l'item en fin de liste
CLItemCountAll : compte tout les items
CLItemCountBefore : compte tout les items avant l'item refenrence (inclus)
CLItemCountAfter : comptre tout les items aprés l'item reference (inclus)
CLItemGetFirst : renvois le premier item de la liste
CLItemGetLast : renvois le dernier item de la liste
CLItemToArray : transfère les données vers un tableau
CLItemAssignToList : transfère les données vers TList
CLItemCompare : pour List.Sort(), compare deux items

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

amiga68
Messages postés
55
Date d'inscription
dimanche 23 février 2003
Statut
Membre
Dernière intervention
21 décembre 2009
-
cela a l'air sympathique, mais ne fonctionne pas sur mon pauvre delphi7 perso ?
papyvore
Messages postés
175
Date d'inscription
samedi 15 novembre 2003
Statut
Membre
Dernière intervention
12 mai 2019
5 -
bonjour
pour d7 dans le dpr supprimer la ligne
// Application.MainFormOnTaskbar := True;

ajouter le chemin de unit ChainLists ou copier la dans le rep d7.

dans unit ChainLists
supprimer la procédure suivante et chez moi ça marche en d7.

{procedure TListHelper.AssignFromChainList(const AItem: pCLItem);
begin
CLItemAssignToList(AItem, Self);
end;}
amiga68
Messages postés
55
Date d'inscription
dimanche 23 février 2003
Statut
Membre
Dernière intervention
21 décembre 2009
-
ça marche avec tes modifs...
Je regarde ?
Cirec
Messages postés
4233
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
3 juillet 2019
32 -
vous êtes des spécialistes les gars !!

il y a un projet démo pour Delphi7
et un projet démo pour Delphi2009

il suffit de charger le bon projet et d'ignorer les propriétés inconnues
au lancement et c'est tout ... il n'y a rien à modifier ... le code compile du premier coup !!
f0xi
Messages postés
4307
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
2 janvier 2019
26 -
tu t'es levé du pieds gauche cirec :) lol

j'ai modifier le code en consequence depuis ces messages ;)

j'avais omis de poser des directives dans l'unité pour ne pas compiler la class helper sous les anciennes version de Delphi.
voila voila.

sinon j'aimerais assé avoir du commentaire sur l'unité en elle même, avoir un retour sur l'utilisation, les possible ameliorations a faire ...
haaaa Florenth, comme tu me manque!

huhuhu.

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.