begin process at 2008 08 20 15:27:34
1 228 895 membres
260 nouveaux aujourd'hui
14 259 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Delphi, ListBox [ Divers / Débutant(e) ] (d4M13N)

Delphi, ListBox le 07/03/2008 20:10:12

d4M13N
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!

Re : Delphi, ListBox le 07/03/2008 21:40:37

Guillemouze
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.

Re : Delphi, ListBox le 07/03/2008 22:21:17

d4M13N
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.!

Re : Delphi, ListBox le 07/03/2008 22:51:25

BernieNoel68
Réponse acceptée !
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é!


Re : Delphi, ListBox le 07/03/2008 22:58:22

BernieNoel68
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)

Re : Delphi, ListBox le 07/03/2008 23:41:24

d4M13N
Merci BernieNoel68 ca marche super!!
 il y avait une parathèse qui manqué dans ton code sinon ca marche bien!!

Re : Delphi, ListBox le 08/03/2008 14:55:41

d4M13N
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.

Re : Delphi, ListBox le 08/03/2008 15:41:15

BernieNoel68
Si tu regarde l'aide de ShellExecute tu verra que le 4ème paramètre de la fonction sert justement à çelà

Bonne Prog' !

Re : Delphi, ListBox le 08/03/2008 16:03:38

d4M13N
Ok merci, enfet j'ai creer carement des launchers de l'exe de base


Classé sous : listbox, delphi, listbox1

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS