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

Delphi Discussion :

passer un argument en ligne de commande


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 210
    Par défaut passer un argument en ligne de commande
    bonjour,

    je voudrais passer un argument en ligne de commande. Par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    monfichier arg1
    et recuperer mon argument dans mon code. C'est la fonction ShellExecute c'est ca?

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Par défaut
    Cela a déjà fait l'objet d'une discussion :
    http://www.developpez.net/forums/sho...d.php?t=322712
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 210
    Par défaut
    alors je change ma question: Comment utiliser ShellExecute, et quel interet?

  4. #4
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 089
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ShellExecute(0, 'open', PChar(ExeName), PChar(Params), PChar(ExtractFileDir(Application.ExeName)), SW_HIDE);
    Ce appel le programme nommé par la string ExeName (monfichier) avec les paramètres dans Params (arg1)

    Ensuite, ExeName correspond à ParamStr(0) ou à Application.ExeName, et arg1 est dans ParamStr(1);

    Sinon, à part Shell_execute, tu as CreateProcess voir ICI
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  5. #5
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Par défaut
    On peut l'utiliser par exemple pour lancer depuis une appli-Delphi n'importe quel autre exe présent sur le disque :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    procedure TForm1.Button1Click(Sender: TObject); 
    begin        ShellExecute(Handle,'open',PChar('c:\autreAppli.exe'),nil,nil,SW_SHOW);
    end;
    ... ou encore pour ouvrir un site Internet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    procedure TForm1.Label7Click(Sender: TObject);
    begin        
    shellexecute( 0,'open','http://dev-zone.com/faq/delphi/fqdph_index.php', nil, nil, SW_SHOWMAXIMIZED);
    end;
    ... pour plus de détails voir l'Aide intégrée à Delphi.
    P.S : tiens ShaiLeTroll m'a pris de vitesse : bonjour.
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 210
    Par défaut
    ShaiLeTroll, je la place ou dans mon code mon ShellExecute?

  7. #7
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 089
    Par défaut
    Tout dépend ce que tu veux faire

    App1 lance App2...

    tu es l'auteur de App1, ben pour le ShellExecute, à toi de le mettre ou ta fonctionnalité l'exige, dans un bouton, un timer, à l'ouverture, à la fermeture ...

    tu es l'auteur de App2, ben c'est pas ton problème, seul ParamStr/ParamCount te servira ...
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 08/04/2009, 14h30
  2. passer un argument en ligne de commande
    Par genie_programmeur dans le forum Windows
    Réponses: 2
    Dernier message: 15/09/2008, 21h38
  3. Comment passer des arguments en ligne de commande?
    Par Razgriz dans le forum NetBeans
    Réponses: 1
    Dernier message: 11/04/2007, 11h11
  4. taille max des arguments en ligne de commande
    Par clepape dans le forum Langage
    Réponses: 2
    Dernier message: 08/10/2005, 13h18
  5. Réponses: 3
    Dernier message: 07/04/2003, 20h06

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