Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2166 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VB6] Tableaux dynamiques, effacer un element.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VB6] Tableaux dynamiques, effacer un element.

n°562234
_maximus_
Goret ptit con ^_^
Posté le 08-11-2003 à 12:46:39  profilanswer
 

Bonjour.
 
J'ai une classe : "clsMaClasse".
 
Et dans mon prog je fais un tableau dynamique avec cette classe :
 
Public MonTableau() As New clsMaClasse
 
bref j'ajoute plein d'element dans ce tableau aucun prob...
Mais je bloque au moment de devoir effacer un élément de ce tableau. Je ne trouve pas de fct dans VB qui permettent cela.
 
QUel est la methode la plus simple pour effacer un element?
 
Dois-je vraiment recopier chaque propriété de chaque element dans un nouveau tableau ?  
 
j'ai bien essayé une fonction trouvée sur VBfrance :  
 

Code :
  1. Public Sub Delete(ByRef tableau As Variant, element As Variant)
  2.   Dim i As Integer
  3.   For i = element To UBound(tableau) - 1
  4.     tableau(i) = tableau(i + 1)
  5.   Next
  6.   ReDim Preserve tableau(UBound(tableau) - 1)
  7. End Sub


 
Que j'aurais pu creer moi meme en fait, mais ca ne marche pas avec les tableau de classe. Ca marche uniquement avec un tableau de String ou Int etc...
 
Bref avant de pondre un algo de ouf, je voudrais savoir si y a pas une methode simple, que je ne trouve pas sur google ni rien.
 
Merci d'avance.  :hello:


Message édité par _maximus_ le 08-11-2003 à 12:46:52

---------------
Ptit con de goret je t'emmerde ^_^
mood
Publicité
Posté le 08-11-2003 à 12:46:39  profilanswer
 

n°562247
Carbon_14
Posté le 08-11-2003 à 13:06:05  profilanswer
 

Pour "schrinker" un tableau, je ne pense pas qu'il y ait d'autre moyen qu'une recopie écrasant l'objet devenu non désiré, un décalage en bloc en somme.
Sinon, on peut aussi avoir, à côté, un autre tableau de "drapeaux" qui dit quels indices sont valables ou invalidés. Au lieu d'écraser par les suivants dans tableau primaire, on met juste le drapeau à 0 à l'indice voulu.
 
Méfiance avec les For i = element To UBound(tableau) - 1
car y des langages où il effectue le premier passage même si UBound(tableau) - 1 < element (!!). Vaut mieux tester avant, des fois que ce soit le dernier élément qu'il faille "supprimer".

n°562256
_maximus_
Goret ptit con ^_^
Posté le 08-11-2003 à 13:26:11  profilanswer
 

Ok j'avais pensé a ça mais je voulais savoir si y avait pas un moyen bcp plus simple pour pas prog n'importe quoi...  
Merci :)


---------------
Ptit con de goret je t'emmerde ^_^

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VB6] Tableaux dynamiques, effacer un element.

 

Sujets relatifs
taille de bordure sur tableauxChoisir élément aléatoire?
[c] afficher un élément d'une structure complexe de type hostentDetruire un element d'un InnerHtml
Comment sont gérés les sites dynamiques par les moteurs de recherche?Vba Excel et élément de menu personnalisé
[PHP] Algo : trouver les éléments pas commun à deux tableauxtableaux avec réorganisation par colonnes suivant divers paramétres !
coment effacer un fichier ??[VB6]DownCast
Plus de sujets relatifs à : [VB6] Tableaux dynamiques, effacer un element.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR