IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

Comment lancer une application a partir de ma ComboBox ?


Sujet :

C++Builder

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 162
    Points : 62
    Points
    62
    Par défaut Comment lancer une application a partir de ma ComboBox ?
    Salut tout le monde !!
    Voila je cherche à lancer une application(.exe .avi et autre...) depuis un Item de ma ComboBox, étant débutant je ne connais pas la manipulation à suivre

    j'ai essayé : ComboBox1->Items->LoadFromFile(Application->Exename);
    mais cela ne donne pas grand chose,
    donc si vous connaissez une solution je suis preneur
    merci !!

  2. #2
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    Salut Hellgast
    Le chemin est dans le TComboBox un TButton pour lancer le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    ShellExecute (ComboBox1->Handle, "open", ComboBox1->Text.c_str(), 0, 0, SW_SHOW);
    }
    --
    Plutot que d'essayer de réinventer la roue, apprenons à nous en servir

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 162
    Points : 62
    Points
    62
    Par défaut
    merci pour la réponse !!

  4. #4
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    Si cela repond a ta question pense au Tag resolu
    --
    Plutot que d'essayer de réinventer la roue, apprenons à nous en servir

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 162
    Points : 62
    Points
    62
    Par défaut
    heuu je n'arrive pas a appelé mes application
    par exemple lancer Mon_jeu.exe (Mon_jeu étant l'éxécutable de mon jeu)avec ces lignes
    de code ...
    mais sinon cela marche bien pour d'autre come "Firefox" ou "cmd"

  6. #6
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    A tu mis le chemin complet " c:\\monrepertoire\\monprogramme.exe "
    --
    Plutot que d'essayer de réinventer la roue, apprenons à nous en servir

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 162
    Points : 62
    Points
    62
    Par défaut
    y a t'il un moyen pour que mon application Mon_jeu.exe
    soit lancer sans rentrer en dur le chemin du fichier ,
    pour ainsi adapter le code à toutes mes applications ?

    avec system(AnsiString) sa pourrait marcher ?

  8. #8
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2005
    Messages
    401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 401
    Points : 578
    Points
    578
    Par défaut
    y a t'il un moyen pour que mon application Mon_jeu.exe
    soit lancer sans rentrer en dur le chemin du fichier ,
    pour ainsi adapter le code à toutes mes applications ?
    Ca dépend...
    Où vont se trouver les exe que tu dois lancer ?

    Dans le même répertoire que ton appli ? Dans un répertoire indiqué dans le Path sytème? Dans ce cas tu ne devrais pas avoir besoin d'indiquer le chemin.

    Dans un sous-répertoire ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AnsiString cheminExe = ExtractFilePath(Application->ExeName) + "SousRepertoire\\" + ComboBox1->Text;
    Carrément ailleurs ? Tu crées un raccourci vers ton exe, tu indiques le répertoire dans les propriétés du raccourci ("Démarrer dans"), et tu te retrouves dans le 1er cas.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 162
    Points : 62
    Points
    62
    Par défaut
    par exemple: c:\Program Files\Activision\Mon_jeu.exe
    représente le répertoir ou se situe mon application a éxécuter,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    void __fastcall TForm1::ComboBox1Change(TObject *Sender)
    {
    ShellExecute (ComboBox1->Handle, "open", ComboBox1->Text.c_str(), 0, 0, SW_SHOW);
     
    }
    //---------------------------------------------------------------------------
    le code ci dessus me lance "firefox", mais pas "age3" étant le .exe du jeu AgeOfEmpire 3 dont le répertoire est:
    C:\Program Files\Microsoft Games\Age of Empires III



    Ma question est comment faire pour ke l'item "age3" soit éxécuter a la suite d'un clik, sans rentrer en dur le chemin du ficier dans mon code .

    je ne sais pas trop si jsuis claire ...

  10. #10
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2005
    Messages
    401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 401
    Points : 578
    Points
    578
    Par défaut
    Ah ouaih...

    Il va te falloir conserver quelque part la liste de tes exe avec leur chemin, et ne remplir le combo qu'avec la partie du nom qui t'intéresse, genre:

    Dans le constructeur de la fenêtre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    pListe = new TStringList; // TStringList* pListe défini dans le .h
    pListe->Add("c:\\program\\toto.exe");
    pListe->Add("c:\\program\\popol.exe");
     
    ComboBox1->Clear();
    for (int i=0; i<pListe->Count; i++)
      ComboBox1->Items->Add(ChangeFileExt(ExtractFileName(pListe->Strings[i]), ""));
    Plus tard, quand l'item est sélectionné dans le combobox:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AnsiString nomExe = pListe->Strings[ComboBox1->ItemIndex];
    Et tu adaptes le code de blondelle...

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 162
    Points : 62
    Points
    62
    Par défaut
    Donc je suis comme meme obligé de les rentrer en dur le chemin du répertoire.

  12. #12
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2005
    Messages
    401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 401
    Points : 578
    Points
    578
    Par défaut
    Citation Envoyé par Hellgast Voir le message
    Donc je suis comme meme obligé de les rentrer en dur le chemin du répertoire.
    Windows sait faire plein de choses, mais c'est pas encore Gérard Majax

  13. #13
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    Les chemin tu peut les enregistrer dans une base de donnée ou un fichier, plutôt qu'en dur dans le code
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 162
    Points : 62
    Points
    62
    Par défaut
    heu oué sa sré super
    par contre si vous connaissez un tuto qui explique pas a pas la mise en place d'une BDD avec Borland sa me tente ^^
    (jsuis débutant !)

  15. #15
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    Fait une recherche dans le forum, il y as plein de sujet la dessus
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 15/09/2011, 14h38
  2. Réponses: 9
    Dernier message: 24/03/2009, 07h39
  3. Comment lancer une application qui a été développée sous Unix avec le navigateur IE
    Par diamonds dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 26/09/2006, 14h43
  4. Lancer une application à partir du shell
    Par Spacy_green dans le forum Linux
    Réponses: 7
    Dernier message: 29/05/2006, 21h32
  5. Réponses: 11
    Dernier message: 25/05/2006, 11h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo