begin process at 2012 02 11 16:40:22
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Delphi

 > 

Divers

 > 

Débutant(e)

 > 

selection dans listbox ne se fait pas


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

selection dans listbox ne se fait pas

mercredi 28 juillet 2010 à 11:41:33 | selection dans listbox ne se fait pas

juliens81

Bonjour,

je fais un deplacement dans une listbox puis j essaye de reselectionner les elements qui l etaient precedemment. Mais ca ne fonctionne pas. Le chanement a bien lieu mais pas la selection.

j ai cherche un peu partout et il est dit sur internet que pour faire une selection on doit faire un selected[index]:=true dans le cas d un multiselect sinon un itemindex:=index.
Mon code est le suivant


for i:=0 to form2.ListBox1.Items.Count-1 do begin
if i<liste_image.Count then begin
for j:=0 to image_selectionnee.Count-1 do begin
if liste_image[i]=image_selectionnee[j] then begin
if form2.ListBox1.MultiSelect then
form2.ListBox1.Selected[i]:=true
else
form2.ListBox1.ItemIndex:=i;
break;
end;
end;
end;
end;

merci d avance
mercredi 28 juillet 2010 à 12:02:27 | Re : selection dans listbox ne se fait pas

cirec

Membre Club Administrateur CodeS-SourceS
Salut,

commence par indenter ton code correctement ... ça te permettra d'y voir plus clair:

Code Delphi :

for i := 0 to form2.ListBox1.Items.Count - 1 do
begin
  if 
i < liste_image.Count then
  begin
    for 
j := 0 to image_selectionnee.Count - 1 do
    begin
      if 
liste_image[i] = image_selectionnee[j] then
      begin
        if 
form2.ListBox1.MultiSelect then
          
form2.ListBox1.Selected[i] := true
        else
        begin
          
form2.ListBox1.ItemIndex := i;
          break;
        end;
      end;
    end;
  end;
end;



quoi qu'il arrive "MultiSelect" où pas la boucle était interrompue par le "Break"



@+Cirec
mercredi 28 juillet 2010 à 12:07:35 | Re : selection dans listbox ne se fait pas

cirec

Membre Club Administrateur CodeS-SourceS
ps: on pouvait aussi éclaircir le code

celui-ci devrait faire la même chose:
Code Delphi :

for i := 0 to form2.ListBox1.Items.Count - 1 do
  if 
i < liste_image.Count then
    for 
j := 0 to image_selectionnee.Count - 1 do
      if 
liste_image[i] = image_selectionnee[j] then
        if 
form2.ListBox1.MultiSelect then
          
form2.ListBox1.Selected[i] := true
        else
        begin
          
form2.ListBox1.ItemIndex := i;
          break;
        end;





@+Cirec
mercredi 28 juillet 2010 à 13:19:02 | Re : selection dans listbox ne se fait pas

Guillemouze

et meme
Code Delphi :
for i := 0 to Min(liste_image.Count, form2.ListBox1.Items.Count) - 1 do 
  for j := 0 to image_selectionnee.Count - 1 do 
    if liste_image[i] = image_selectionnee[j] then 
      if form2.ListBox1.MultiSelect then 
        form2.ListBox1.Selected[i] := true 
      else 
      begin 
        form2.ListBox1.ItemIndex := i; 
        break; 
      end; 

Attention, tu ne remet pas le selected a false, ce qui pourrait etre fait par :

Code Delphi :
for i := 0 to Min(liste_image.Count, form2.ListBox1.Items.Count) - 1 do 
  for j := 0 to image_selectionnee.Count - 1 do 
    if form2.ListBox1.MultiSelect then      
        form2.ListBox1.Selected[i] := (liste_image[i] = image_selectionnee[j])
    else if liste_image[i] = image_selectionnee[j] then
    begin 
      form2.ListBox1.ItemIndex := i; 
      break; 
    end; 

mercredi 28 juillet 2010 à 14:23:38 | Re : selection dans listbox ne se fait pas

juliens81

Bonjour

merci de votre interet.
pour ce qui est de l indentation je suis desole elle n est pas passer au copier/coller et je n y avais pas prete attention.

pour ce qui est de mes begin .. end a tout va je prefere comme ca (meme si je sais qu ils sont inutiles la plupart du temps ils me rassurent)

par contre je ne sais toujours pas pourquoi quand je passe mon selected a vrai, rien n est selectionne dans ma liste (j ai verifier en debug et je passe bien par la ligne)



mercredi 28 juillet 2010 à 14:50:44 | Re : selection dans listbox ne se fait pas

cirec

Membre Club Administrateur CodeS-SourceS
bien vu Guillemouze

si déjà tu vas jusque là il serait peut être mieux de récupérer le résultat de la fonction Min dans une variable ce qui évitera un appel à chaque itération

Code Delphi :
var
  Nbr: Integer;

Nbr := Min(liste_image.Count, form2.ListBox1.Items.Count) - 1;

pour la mise à False des sélections précédentes il y a :
ListBox1.ClearSelection;


Sinon j'ai testé chez moi, vite fait, et les sélections s'affichent très bien !!

as tu testé un des codes modifié ?



@+Cirec
mercredi 28 juillet 2010 à 14:55:56 | Re : selection dans listbox ne se fait pas

juliens81

Rebonjour,

j avais juste place mon code au mauvais endroit
j effacais completement mon listbox avant de le reremplir et j avais mis juste avant cette etape

merci a tous pour vos reponses





Cette discussion est classée dans : image, form2, selection, begin, listbox1


Répondre à ce message

Sujets en rapport avec ce message

Image [ par trollnumber1 ] Trollj'ai plusieur Timage ex: image1 ,image2 jusqua 260je veux savoir comment on fait pour remplacer le chiffre par une variable pour que je puise all Selectionner plusieur Chaines [ par louiwahl ] Bjr Dans mon programe j'ai une fonction qui cherche des Chaine et les change de couleur quand il les trouve mais si dans mon text il y a plusieur foi Show form [ par marc660 ] Voila dans mon projet donc j’ai 2 formes, Form1 et Form2 la Form1 J’ai ajouter un bouton dans la form1 pour démarrer la form2, mais ça ne marche pas v declaration de section [ par daysara21 ] salut j'ai un probleme dans mon application et je suis une pauvre debutante si vous pouvez m'aider les procedure sont les suivantes procedure TForm2 pb parcourir les composants d'une fiche [ par templeofboom ] Bonjour, g un pti soucis car je suis un débutant en delphi si vous pouvez m'éclairer .... dans mon appli je créé dynamiquement des TTabSheet  contena selection multiple listbox [ par TouTSpeed ] bonjour, je sais sélectionner un item dans une listbox: listbox1.itemindex:= i ; // i=0 par exemple ce qui sélectionne l'élément 1 ! je voudrais faire Repeat-Function problem [ par sarssor ] Salut je suis débutant en Delphi je voudrais avec cet code chercher toutes les Strings dans toutes les Ligne de Listbox mais le code peut trouver max Pb Dessin sur Image [ par Jean_Jean ] Bonsoir, J'ai l'impression que je ne place pas le code où il faut. L'évènement o Pb de case à cocher avec un TCheckListBox [ par FredY68 ] Bonjour à tous J'ai un problème de reconnaissance de case cochée ou non cochée dans un checklistbox.les informations du checklistbox sont stockées dan


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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,702 sec (4)

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