Problème de sélection sur ListBox

Résolu
Sceyllia Messages postés 8 Date d'inscription mercredi 8 août 2007 Statut Membre Dernière intervention 21 mars 2013 - 14 mars 2011 à 10:50
cs_mourad555 Messages postés 12 Date d'inscription jeudi 25 décembre 2008 Statut Membre Dernière intervention 22 février 2020 - 3 avril 2011 à 14:32
Bonjour à tous,

Je me décide de solliciter un coup de main, car je n'arrive pas a trouver une solution a mon problème.

Voilà, j'ai une ListBox dans laquelle j'aimerais sélectionner l'ouverture/fermeture de mes lecteurs CD/DVD.

Le soucis est que seul mon premier lecteur "réagit" a cette "commande" alors que j'aimerais pouvoir l'effectuer

sur le lecteur de mon choix, je ne sais pas si ma question est claire...

Voici mon code :

procedure TForm1.FormCreate(Sender: TObject);
var
Drive: char;
begin
for Drive := 'A' to 'Z' do
begin
if (GetDriveType(PChar(Drive + ':\')) = DRIVE_CDROM) then ListBox1.Items.Add(Drive + ':');
end;
ListBox1.ItemIndex := 1;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
CloseDoor(ListBox1.Items.Text);
end;

procedure TForm1.Quitter1Click(Sender: TObject);
begin
Close;
end;

end.

je remercie à l'avance celui ou celle qui voudra bien m'aider.

Merci.
A voir également:

11 réponses

Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
14 mars 2011 à 14:28
Salut,

peu importe si le code se trouve dans dans l'évènement d'un TButton ou d'un OnChange ...
il faut modifier le code comme suit:

[b]begin
  with /bListBox1 [b]do
    if /bItemIndex > -1 [b]then
      /bCloseDoor(Items[ItemIndex]);
end;

ceci devrait résoudre ton problème.

en effet ListBox1.Items.Text te renvoi le contenu de la liste ... pas l'élément sélectionné.
Pour t'en convaincre il te suffit de faire:
ShowMessage(ListBox1.Items.Text);


[hr]@+Cirec
[hr]
3