ListBox: encore et encore [Résolu]

Signaler
Messages postés
68
Date d'inscription
jeudi 19 septembre 2002
Statut
Membre
Dernière intervention
22 février 2008
-
Messages postés
2
Date d'inscription
mardi 30 mars 2004
Statut
Membre
Dernière intervention
9 juin 2004
-
Bon, voilà !! Je galère encore avec les listbox ! J'ai fais le tour de l'aide, du forum, et tenter divers trucs, et rien ne fonctionne. Alors voilà, je joue ma dernière carte grâce à vous...

J'aimerais, connaître la dernière ligne d'une listbox, pour ensuiter simuler une sélection de cette ligne automatique. En fait, faire comme si, l'utilisateur sélectionner la dernière ligne de la listbox, puis la supprimer... Pour cela, mon dernier test, qui me paraissait clair était celui ci, mais rien n'y fais:

index:=ListBox8.Items.Count-1;
Listbox8.Selected[index];
ListBox8.DeleteSelected;

Que faire ??? Merci beaucoup !!

Dernière question, moins importante ! Est il possible d'inverser l'affichage des Listbox. En décodé, actuellement, quand on ajoute une ligne à 1 listbox, celle ci s'ajoute à la suite de la précédente. Du haut vers le bas, koi, normal !! Et bien, je souheterais faire l'inverse. Je souhaiterais que la dernière ajouté soit en haut ! Est ce possible ???

Merci encore pour votre aide !!!

Bonne journée :big)

Ne me frappez pas, je suis novice.... =)

5 réponses

Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
31
Tu progresses vite, dis donc ! :)

Réponse à la deuxième question : au lieu d'ajouter en utilisant la méthode Add ou la méthode Append, utilise la méthode Insert.
ListBox8.Items.Insert(0, 'ta chaine' );

Ainsi, toutes les lignes ajoutées viendront se mettre en tête les unes après les autres au lieu de venir allonger la liste par le bas.
May Delphi be with you
Messages postés
68
Date d'inscription
jeudi 19 septembre 2002
Statut
Membre
Dernière intervention
22 février 2008

Bon, j'ai fais ma blonde, et forcément j'avais pas tout compris au sytème de Listbox.Selected mais en fait, il attend un boolean, pour fonctionner !!!

Donc pour ceux, qui souhaitait comme moi, effacer la dernière ligne, il vous suffit d'écrire le code suivant:

index:=ListBox8.Items.Count-1;
Listbox8.Selected[index]:=true;
ListBox8.DeleteSelected;

ou index est une variable integer (je précise, car y'a surement des plus débutants que moi :D )
Bref, question reglée !!

Par contre, si qlq est capable de répondre aux autres questions:
- Simuler une sélection pour arriver à la dernière ligne
OU
- Inverser l'ajout de ligne dans la listbox !

Merci

Ne me frappez pas, je suis novice.... =)
Messages postés
68
Date d'inscription
jeudi 19 septembre 2002
Statut
Membre
Dernière intervention
22 février 2008

Niark, Niark ! T'es génial, ca marche !!! Je vais aller me flageler, car j'aurais du y penser à l'insertion... Mais quand on est devant un problème, on utilise toujours le même type de réflexion... Et non, petit scarabé, il te faut t'éloigner du mur, pour voir s'il n'est pas trop haut !!! Je progresse et en plus, je fais de la philo de pilier de bar !! Elle est pas belle la jeunesse ?? :big)

Merci encore pour tes précieuses connaissances, ;)

Bon Week end,

Ne me frappez pas, je suis novice.... =)
Messages postés
2
Date d'inscription
mardi 30 mars 2004
Statut
Membre
Dernière intervention
9 juin 2004

ben je suis en 1ère a l'unif et j'ai du utilisé des listobox donc je te donne quelque tuyaux

listbox1.Items.Add(Format('%-10s %-50s %-20s',[tes record]));

sinon tu peux aussi rafraichir ta listbox : listbox1.clear;
tu sais aussi selectionné plusieur items puis les effacés

dans les propriétes tu as la fonction multiselect que tu dois mettre a true
Messages postés
2
Date d'inscription
mardi 30 mars 2004
Statut
Membre
Dernière intervention
9 juin 2004

ben je suis en 1ère a l'unif et j'ai du utilisé des listobox donc je te donne quelque tuyaux

listbox1.Items.Add(Format('%-10s %-50s %-20s',[tes record]));

sinon tu peux aussi rafraichir ta listbox : listbox1.clear;
tu sais aussi selectionné plusieur items puis les effacés

dans les propriétes tu as la fonction multiselect que tu dois mettre a true