ListBox: encore et encore

Résolu
Encore1ben Messages postés 68 Date d'inscription jeudi 19 septembre 2002 Statut Membre Dernière intervention 22 février 2008 - 10 déc. 2003 à 15:34
flam_solari Messages postés 2 Date d'inscription mardi 30 mars 2004 Statut Membre Dernière intervention 9 juin 2004 - 9 juin 2004 à 08:41
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

cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
10 déc. 2003 à 22:24
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
3
Encore1ben Messages postés 68 Date d'inscription jeudi 19 septembre 2002 Statut Membre Dernière intervention 22 février 2008
10 déc. 2003 à 15:51
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.... =)
0
Encore1ben Messages postés 68 Date d'inscription jeudi 19 septembre 2002 Statut Membre Dernière intervention 22 février 2008
11 déc. 2003 à 17:28
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.... =)
0
flam_solari Messages postés 2 Date d'inscription mardi 30 mars 2004 Statut Membre Dernière intervention 9 juin 2004
9 juin 2004 à 08:41
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
0

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

Posez votre question
flam_solari Messages postés 2 Date d'inscription mardi 30 mars 2004 Statut Membre Dernière intervention 9 juin 2004
9 juin 2004 à 08:41
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
0
Rejoignez-nous