cs_moustachu
Messages postés1079Date d'inscriptionjeudi 14 novembre 2002StatutMembreDernière intervention 1 janvier 2012
-
20 juin 2005 à 13:08
cs_moustachu
Messages postés1079Date d'inscriptionjeudi 14 novembre 2002StatutMembreDernière intervention 1 janvier 2012
-
28 juin 2005 à 09:47
Bonjour,
Je cherche une fonction delphi (version 7) qui vide un tableau mais je ne parviens pas à mettre la main dessus.
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 20 juin 2005 à 17:10
On doit aussi pouvoir utiliser la fonction FillChar mais seulement pour réinitialiser un tableau :
FillChar(Tableau, SizeOf(Tableau), 0);
C'est plus rapide que de parcourir et réinitialiser chaque élément !
Vider un tableau revient peut-être pour toi au même que de procéder à un redimensionnement :
SetLength(Tableau, 0);
Les mots ont de l'importance...
<HR color=#008000>
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
moldov
Messages postés165Date d'inscriptionmercredi 8 octobre 2003StatutMembreDernière intervention10 novembre 2008 20 juin 2005 à 14:16
Salut,
Si tu fais un tableau de type TBaseArray, tu peux utiliser la méthode Clear pour effacer toutes les lignes du tableau.
Si tu utilise pas le type TBaseArray, je pense pas qu'il existe une
fonction pour tous supprimer, mais je peux pas te l'affirmer car je
connais pas assez pour cela.
cs_moustachu
Messages postés1079Date d'inscriptionjeudi 14 novembre 2002StatutMembreDernière intervention 1 janvier 2012 20 juin 2005 à 17:14
Merci de vos réponses.
J'avais pensé au redimensionnement également mais le tableau en
question est passé en paramètre à une procédure et il m'a semblé lire
que dans ce cas on ne pouvait pas appeler SetLength, mais c'est
certainement un point à creuser.
florenth
Messages postés1023Date d'inscriptiondimanche 1 août 2004StatutMembreDernière intervention17 août 20082 21 juin 2005 à 18:04
Je ne comprend pas ton histoire de parametre passé à une procédure mais tu peux toujours essayer:
Finalize(Tableau);
Extrait de l'aide : " [...] Les tableaux
dynamiques ne peuvent jamais être désalloués à l'aide de la procédure
Dispose, mais vous pouvez les libérer en les transmettant à Finalize.
[...] "
Tout dépent de ce que tu appelle par "vider": ré-initialiser, libérer, détruire, remise à zéro , ...
@ ++
Florent
Si tu ne te plantes pas ......
tu ne poussera jamais
cs_moustachu
Messages postés1079Date d'inscriptionjeudi 14 novembre 2002StatutMembreDernière intervention 1 janvier 2012 28 juin 2005 à 09:47
Bonjour,
J'ai essayé un peu toutes propositions faites. Finalize ne m'a pas vidé
le tableau (peut être une mauvaise utilisation) Quand au SetLength, je
crains que cela ne libère pas convenablement un tableau de TObject (par
exemple)