begin process at 2010 02 10 10:55:47
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Delphi

 > 

Archives

 > 

J'AI BESOIN D'AIDE !!!! :O

 > 

ListBox : liste hors limite


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

ListBox : liste hors limite

jeudi 4 août 2005 à 11:58:23 | ListBox : liste hors limite

hesnogood

Bonjour,

Ayant trop de lignes dans un listBox, à chaque manipulation j'ai le message d'erreur 'Indice de liste hors limites' apparait.
Comment supprimer ce message d'erreur.. ou comment faire pour que l'erreur
ne se produise pas ?
Je suis sur Delphi 6.
Merci de votre aide
jeudi 4 août 2005 à 14:21:22 | Re : ListBox : liste hors limite

florenth

Membre Club
Qu'entends-tu par "trop de lignes" ?
A mon avis, c'est sûrement dû à un problème dans la procedure qui le manipule.
Du type:

for i := 0 to ListBox1.Items.Count do // Ici il manque un -1 après Count

{ Ou alors, lors d'une utilisation de ItemIndex lorsqu'il fait -1. Comme :}
ShowMessage(Listbox.Items.Strings[Listbox.ItemIndex]); // Erreur si ItemIndex < 0.

Ou tout simplement une confusion entre le Listbox1 et le Listbox2. Penses donc à renommer tes composants explicitement
Postes un bout de code, cela pourra nous aider.

@ ++
Florent

Si tu ne te plantes pas ......
tu ne poussera jamais
jeudi 4 août 2005 à 14:26:27 | Re : ListBox : liste hors limite

gildeplomb

Réponse acceptée !
Bonjour

Les limite de Listbox vont de 0 a ListBox1.Items.Count-1

Faut verifier si la manip de depasse pas ces limites

Exemple pour une boucle

For i:= 0 to Listbox1.items.count-1 do

( et non pas i:= 1 to Listbox.items.count )

Bye

jeudi 4 août 2005 à 14:48:11 | Re : ListBox : liste hors limite

hesnogood

En fait, je sélectionne des lignes et les supprime en même temps.
Je pense que la recordcount est inférieur..
jeudi 4 août 2005 à 15:00:50 | Re : ListBox : liste hors limite

Delphiprog

Administrateur CodeS-SourceS
Réponse acceptée !
Au fur et à mesure que tu supprimes des lignes, la propriété ItemIndex est réactualisée.
Ce qui fait que si tu parcours ta ligne du premier au dernier élément, quand tu supprimes l'élément d'indice 0, l'élément qui avait l'indice 1 devient l'élément d'indice 0 et ainsi de suite.
Quand ensuite tu supprimes l'élément d'indice 1, en réalité tu supprimes l'élément qui avait l'indice 2 au départ, etc, etc.
Donc, en résumé, quand on supprime les éléments d'une liste, il y 2 (bonnes) manières de procéder :
1/- supprimer l'élément d'indice 0 autant de fois qu'il y a d'éléments dans la liste :
for i := 1 to Liste.Items.Count do
  Liste.Items.Delete(0);

2/- supprimer les éléments en partant de la fin de la liste :
for i := Liste.Items.Count - 1 downto 0 do
  Liste.Items.Delete(i);

L'erreur vient du fait que beaucoup croient que la valeur de la propriété Count est réactualisée à chaque tour de boucle. En réalité il n'en est rien.
Donc, si tu essaies de détruire le 5e élément alors qu'il n'en reste plus que 4, tu déclenches cette magnifique exception.


Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
jeudi 4 août 2005 à 21:37:34 | Re : ListBox : liste hors limite

hesnogood

Merci de m'avoir oté cette épine du pied..




Cette discussion est classée dans : message, erreur, listbox, liste, limite


Répondre à ce message

Sujets en rapport avec ce message

erreur bde [ par jakouz ] bonjour,quand j' execute une appl. delphi j'ai le message d' erreur suivant,"probleme sur BDEEngineError : Nom Dupliqué dans ce contexte"mais je ne sa MESSAGE D'ERREUR [ par vinzdu95 ] je n'arrive pas à déboguer mon programme qui est pourtant assez simple. J'utilise dans celui-ci une chaîne de caractère constitué uniquement de 0 et d Erreur : Violation d'accès à l'adresse 00482976 [ par titi29 ] Je vous énonce mon problème.Lors de l'ouverture d'un menu, un message d'erreur s'affiche environ 4 fois avant une exécution normale de tout le logicie Erreur : Violation d'accès à l'adresse 00482976 [ par titi29 ] Je vous énonce mon problème.Lors de l'ouverture d'un menu, un message d'erreur s'affiche environ 4 fois avant une exécution normale de tout le logicie Erreur : Violation d'accès à l'adresse 00482976 [ par titi29 ] Je vous énonce mon problème.Lors de l'ouverture d'un menu, un message d'erreur s'affiche environ 4 fois avant une exécution normale de tout le logicie Message d'erreur "floating point.." sur certain pc [ par kristof708 ] slt a tousvoila, qui peut m'aider a conprendre ce qui deconneje recupere 2 valeurs ds un edit avec une virguleje dois additionner ces 2 valeurs par ex imprimer le contenu d'une listbox [ par vdljeremie ] Bonjour, je suis en train de créer un ptit pgm qui gère une liste de personne mais je ne sais pas ct imprimer la liste(que j'ai mis ds une listbox).M a l'aide!! pour la comprehension d'un message [ par jane20002 ] bonjour,une application qui utilise le moteur BDE fonctionne sur certain ordi avec Windows XP Pro comme OS et pas sur d'autres ordis , l'application d Navigateur [ par delphigenial ] Bonjour a tous.J'essaye d'apprendre à programmer sur delphi 7, j' ai 20 ans et comme je suis novice je recontre quelques problemes,puvez vous m'aider desactiver erreur [ par Smeito79 ] Slt,je voudrai desactiver le message d'erreur qui s'affiche lorceke le composant IdFTP n'arrive pas a ce connecter au serveur(si celui-ci est offline)


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,952 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales