Delphi, ListBox

Résolu
cs_d4M13N Messages postés 27 Date d'inscription dimanche 19 août 2007 Statut Membre Dernière intervention 13 juillet 2009 - 7 mars 2008 à 20:10
cs_d4M13N Messages postés 27 Date d'inscription dimanche 19 août 2007 Statut Membre Dernière intervention 13 juillet 2009 - 8 mars 2008 à 16:03
Bonjour,

C'est mon 1er post sur CodeS-sourceS, donc désolé si c'est pas ici qui faut poster!!
Je cherche comment programmer les lignes de ma listbox1, de manière à lancer une application en double cliquant sur une ligne, j'ai trouvé listbox1.ItemIndex mais je sais pas si c'est ca!

merci pour vos réponses prochaines!

8 réponses

BernieNoel68 Messages postés 92 Date d'inscription vendredi 12 octobre 2007 Statut Membre Dernière intervention 20 novembre 2009 1
7 mars 2008 à 22:51
D'après ce que j'ai compris, ta ListBox ne contient pas des noms d'executable. Dans un premier temps, il faut stocker tous les executables dans l'ordre.

Tu peux par exemple utiliser un TStringList pour stocker le chemin de tes executable:

---------------------------------------------------------
var exeList : TStringList ;

exeList := TStringList.Create ;
exeList.Add('C:\MonDossier\machin1.exe');
exeList.Add('C:\MonDossier\machin2.exe');
exeList.Add('C:\MonDossier\machin3.exe');
[...]

if ((listbox1.itemindex >=0 ) and (listbox1.itemindex < exeList.count ) then
  ShellExecute(handle, 'open', PChar( exeList.Strings[ listbox1.itemindex ]), nil, nil, SW_SHOW);

//ne pas oublier de libere la TStringList
exeList.Destroy;
---------------------------------------------------------

En esperant que j'ai bien compris la question, et que je n'ai pas repondu a coté!
3
Guillemouze Messages postés 991 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 29 août 2013 6
7 mars 2008 à 21:40
Deja, bienvenue sur le forum.

ta question est pas tres precise, mais si ce que tu veux c'est executer le fichier ecrit dans ta listbox, tu peux faire, sur le OnDblClick de ta listbox
ShellExecute(handle, 'open', PChar(listbox1.items[listbox1.itemindex]), nil, nil, SW_SHOW);
en verifiant que itemindex ne vaut pas -1

PS: shellexecute se trouve dans l'unite ShellAPI.
0
cs_d4M13N Messages postés 27 Date d'inscription dimanche 19 août 2007 Statut Membre Dernière intervention 13 juillet 2009
7 mars 2008 à 22:21
Merci pour ta réponse

Je sais pas trop comment expliquer.

Je ne veux pas executer le fichier ecrit mais juste attribuer à chaque ligne de ma listbox une action telle que pour la ligne 1 par exemple ca lance avec shellexecute un fichier exe.
Si je double clique sur la ligne 1 ca lance machin1.exe
Si je double clique sur la ligne 2 ca lance machin2.exe
                               ......
Voila j'espère avoir été claire.!
0
BernieNoel68 Messages postés 92 Date d'inscription vendredi 12 octobre 2007 Statut Membre Dernière intervention 20 novembre 2009 1
7 mars 2008 à 22:58
A noter que plutot que d'affecter tous tes exe 1 par 1 dans la code, tu peux les charger depuis un fichier:

exeList.LoadFromFile('C:\chemin\MaListeExe.txt') ;

(ton fichier texte contient sur chaque ligne un executable)
0

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

Posez votre question
cs_d4M13N Messages postés 27 Date d'inscription dimanche 19 août 2007 Statut Membre Dernière intervention 13 juillet 2009
7 mars 2008 à 23:41
Merci BernieNoel68 ca marche super!!
 il y avait une parathèse qui manqué dans ton code sinon ca marche bien!!
0
cs_d4M13N Messages postés 27 Date d'inscription dimanche 19 août 2007 Statut Membre Dernière intervention 13 juillet 2009
8 mars 2008 à 14:55
C'est encore moi !
Si je veux lancer mes applications avec des options de lancement je fait comment?
exeList.Add('C:\MonDossier\machin1.exe -machin truc');
Comme ca ca marche pas.
0
BernieNoel68 Messages postés 92 Date d'inscription vendredi 12 octobre 2007 Statut Membre Dernière intervention 20 novembre 2009 1
8 mars 2008 à 15:41
Si tu regarde l'aide de ShellExecute tu verra que le 4ème paramètre de la fonction sert justement à çelà

Bonne Prog' !
0
cs_d4M13N Messages postés 27 Date d'inscription dimanche 19 août 2007 Statut Membre Dernière intervention 13 juillet 2009
8 mars 2008 à 16:03
Ok merci, enfet j'ai creer carement des launchers de l'exe de base
0
Rejoignez-nous