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

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  TListBox à choix multiple

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

TListBox à choix multiple

n°1667723
seven2004
Posté le 08-01-2008 à 14:17:50  profilanswer
 

Bonjour,
 
Voila j'ai deux TListBox :
 
- La TListBox1 à choix multiple avec plusieurs Items.
- La TListBox2 qui est vide.
 
Exemple :
 
Je sélectionne plusieurs Items dans la TListBox1.
 
En cliquant sur le TBitBtn1 je voudrais afficher les Items sélectionnés dans la TListBox2.
 
J'ai testé ce code qui ne marche pas vraiment :
 
function Choix(Listbox: TListBox): string;
var
Entier : Integer;
begin
Result := '';
for Entier := 0 to ListBox.SelCount-1 do if (ListBox.Selected[Entier]) then Result := Result+ListBox.Items[Entier]+#13;
end;
 
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
ListBox2.Items.Text := Choix(ListBox1);
end;
 
Merci d'avance pour votre aide.


---------------
Référencement par http://www.logicielreferencement.com
mood
Publicité
Posté le 08-01-2008 à 14:17:50  profilanswer
 

n°1667988
Flagad'awa​re
c pô moi, j'ai pas touché!
Posté le 08-01-2008 à 21:13:09  profilanswer
 

Salut
 
ta boucle dans la fonction choix ne peut pas se contenter de parcourir le nombre d'items sélectionnés
 
si t'a 20 items et que l'item 2 et le 19 sont selectionnés tu ne vas parcourir que l'item 1 et 2 et hop boucle finie sans aller voir si y en a d'autres...pô bien
 
faut parcourir tout les items:
 

for Entier := 0 to ListBox.Items.count-1 do if (ListBox.Selected[Entier]) then Result := Result+ListBox.Items[Entier]+#13;


 
 :)


Message édité par Flagad'aware le 08-01-2008 à 21:14:04
n°1668026
seven2004
Posté le 08-01-2008 à 22:33:58  profilanswer
 

Super merci flagad'aware,
 
Par contre quant je fais :  
 
ListBox2.Items.Add(Choix(ListBox1));
 
 
Dans la ListBox2 sa affiche ceci :
Items1Items2Items3
 
Et enfaîte il faudrait que ce soit à la ligne :
Items1
Items2
Items3
 
Merci d'avance


---------------
Référencement par http://www.logicielreferencement.com
n°1668111
Flagad'awa​re
c pô moi, j'ai pas touché!
Posté le 09-01-2008 à 00:54:17  profilanswer
 

pô d'koué :)
 
heu ce que t'a mis avant ça marchait:


procedure TForm1.BitBtn1Click(Sender: TObject);
begin
ListBox2.Items.Text := Choix(ListBox1);
end;


 
si tu fait ListBox2.Items.Add ça te met le résultat dans un seul item donc à la suite  [:barthaliastoxik]

n°1668155
seven2004
Posté le 09-01-2008 à 09:46:58  profilanswer
 

Oui mais quant je fais :
 
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
ListBox2.Items.Text := Choix(ListBox1);
end;
 
Ça efface toute la TListBox, et moi je veux ajouter le texte à la suite de ce qu'il y a déjà écrit dedans.


---------------
Référencement par http://www.logicielreferencement.com
n°1668174
Flagad'awa​re
c pô moi, j'ai pas touché!
Posté le 09-01-2008 à 10:11:02  profilanswer
 

ah ok
 
bah sois tu te sert de choix comme procédure et au lieux de:
 

Result := Result+ListBox.Items[Entier]+#13;


 
tu fais ton ListBox2.Items.Add;
 
 
sois tu utilise un stringlist que tu remplit dans choix en faisant: StrList.add(ListBox.Items[Entier]); toujours au lieu de result :=...
 
 
et dans ton BitBtn1Click tu boucle sur StrList.Count-1 pour l'ajouter au listbox2
 
c'est toa qui voit

n°1668191
seven2004
Posté le 09-01-2008 à 10:34:57  profilanswer
 

J'ai testé ceci qui ne marche pas :
 

Code :
  1. for Entier := 0 to ListBox.Items.count-1 do if (ListBox.Selected[Entier]) then ListBox2.Items.Add;


 
[DCC Erreur] Unit1.pas(61): E2003 Identificateur non déclaré : 'ListBox2'


---------------
Référencement par http://www.logicielreferencement.com
n°1668583
Flagad'awa​re
c pô moi, j'ai pas touché!
Posté le 09-01-2008 à 20:34:35  profilanswer
 

erheim :sarcastic:  bah listbox2.items.add koi? , faut mettre quelquechose à y ajouter
 

for Entier := 0 to ListBox.Items.count-1 do if (ListBox.Selected[Entier]) then ListBox2.Items.Add(listbox.items[entier]);


 
au passage: attention aux indications du compliateur qui sont pas toujours à prendre au pied de la lettre


Message édité par Flagad'aware le 09-01-2008 à 20:35:21
n°1669132
seven2004
Posté le 10-01-2008 à 16:17:25  profilanswer
 

Merci ca marche :)


---------------
Référencement par http://www.logicielreferencement.com

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  TListBox à choix multiple

 

Sujets relatifs
Choix des couleurs du site par le visiteurMysql - LEFT JOIN Multiple sur une même table
[JS] supprimer des valeurs dans un select multiple[Mysql] Choix interclassement Windows
ouverture multiple d'iexploreComment faire une popup de confirmation et récupérer le choix
empêcher la deselection dans un select multiplecahier des charges choix CMS/gestionnaire contenu
Problème d'héritage multiple[PHP] Form a choix d adresse multiple - probleme
Plus de sujets relatifs à : TListBox à choix multiple


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