Listbox limitée a 3 elements pour 100000 autres elements.

kesm Messages postés 6 Date d'inscription jeudi 24 janvier 2013 Statut Membre Dernière intervention 26 janvier 2006 - 26 janv. 2006 à 13:39
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 - 26 janv. 2006 à 21:28
bonjour,

j'ai un énoncé que voici :

1. Créer un tableau en mémoire de 100 000 chaînes de caractères. Initialiser ce
tableau avec des chaînes de la forme Ch1, Ch2 ….Ch100000.
2. Dans une listbox, on fixe le nombre maximal d’éléments à 3. Réaliser le
programme pour se déplacer par l’intermédiaire d’un ascenseur dans le tableau
de 100 000 éléments.
3. Gérer la sélection par le biais de cet ascenseur.
4. Gérer la suppression de l’élément sélectionné en ajoutant un bouton ‘Supprimer’.

je ne trouve pas le moyen de faire la listbox avec les 3 éléments, enfin le principe grace auquel je pourrais me deplacer dans le tableau.

Si quelqu'un pouvait m'aider, merci

8 réponses

econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
26 janv. 2006 à 14:11
En VB6, tu ne peux pas fixer le nombre maximal d'éléments dans une
ListBox. C'est à toi de gérer, par le code, que tu ne fais pas plus de
3 List1.Additem



En l'état, les trois premières questions donnent ceci :



' tableau de 100000 chaines de caractères

Dim tableau(99999) As String



Private Sub Form1_Load()

initialise_Form

End Sub





Public Sub initialise_Form()

Dim l As Long



' comme on n'affiche 3 elements à la fois, on ne peut

' pas scroller sur les deux derniers.

ScrollBar1.Min = 0

ScrollBar1.Max = 99997



' remplissage du tableau de 100 000 éléments

For l = 0 To 99999

tableau(l) = "Ch" & l

Next l



' on affiche le premier trio de données, celui qui

' qui commence à l'indice 0 du tableau

afficheTriplet 0



End Sub



Private Sub afficheTriplet(l As Long)

' on efface la liste et on inscrit 3 données consécutives.

' ainsi, on est sûr de n'en avoir que 3 dans la liste.

List1.Clear

List1.AddItem tableau(l)

List1.AddItem tableau(l + 1)

List1.AddItem tableau(l + 2)

End Sub



Private Sub ScrollBar1_Change()

' dès qu'on bouge la scrollbar, on affiche un nouveau triplet, commençant

' à l'indice spécifié par la scrollbar [0..99997]

afficheTriplet ScrollBar1.Value

End Sub



Il faut une scrollbar (ici nommée Scrollbar1) et une listbox (ici nommée List1) et un formulaire (ici nommé Form1).





La question 4 est un peu floue puisqu'on ne sait pas si l'élément supprimé de la listbox l'est aussi dans le tableau.


Je rappelle qu'en posant tes questions de TD ou d'exam ici, tu t'exposes à quelque chose de dangereux : l'ignorance.

Ici, sur ce site, on sait le faire. Mais dans ta vie professionnelle,
çà ne te servira à rien de savoir que les autres savent le faire. C'est
à toi de prendre tes responsabilités.




Manu
-------------------------------------------
Une question bien posée, c'est une chance de réponse bien adaptée.
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
26 janv. 2006 à 15:25
Bonjour,

econs, je crois que la ScollBar ne peu pas dépasser 32767 maximum.

jpleroisse
0
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
26 janv. 2006 à 15:51
Aucun problème avec ma scrollbar. Tout fonctionne très bien, même au delà de 33000.

Manu
-------------------------------------------
Une question bien posée, c'est une chance de réponse bien adaptée.
0
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
26 janv. 2006 à 16:00
La limite maximale est 2 147 483 648.



Donc là, avec 100 000, on a de la marge.


Manu
-------------------------------------------
Une question bien posée, c'est une chance de réponse bien adaptée.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
26 janv. 2006 à 16:03
Re,

econs, en ce qui me concerne, je viens d'essayer et au dessus de 32767,
j'ai un message, Dépassement de capacité, que ce soit avec le
HScrollBar où le VScollBar.



jpleroisse
0
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
26 janv. 2006 à 16:18
J'ai effectué mon test en VBA avec Excel 2003.

C'est peut-être différent avec Visual Basic (ce serait étonnant quand même).

Je n'ai pasVB6 au bureau, donc là, je ne peux pas comparer avec toi.




Manu
-------------------------------------------
Une question bien posée, c'est une chance de réponse bien adaptée.
0
kesm Messages postés 6 Date d'inscription jeudi 24 janvier 2013 Statut Membre Dernière intervention 26 janvier 2006
26 janv. 2006 à 21:19
en fait j'en demandais pas tant c'est juste que je comprenais pas trop ce qu'il fallait faire sur la 2 eme question... en tout cas merci de l'aide je regarde ca de plus près
0
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
26 janv. 2006 à 21:28
Dans tous les cas, je confirme, pour la culture générale de tout le
monde, que sous VB6, les scrollbars sont limitées à 32767 éléments.

Alors qu'en VBA Excel, elles sont limitées à environ 2 000 000 000.

Curieux ...

Manu-------------------------------------------[i][orange]Une
question bien posée, c'est une chance de réponse bien
adaptée./orange/i
0
Rejoignez-nous