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

Langage Delphi Discussion :

Passage de paramètres


Sujet :

Langage Delphi

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 34
    Points : 26
    Points
    26
    Par défaut Passage de paramètres
    Salut a tous, voila mon soucis : J'ai deux applications qui doivent s'ouvrir l'une vers l'autre en se passant des paramètres, je sais comment recupérer les paramètres avec paramstr mais comment faire pour passer les paramètres d'une application à une autre. Merci d'avance.

  2. #2
    Membre actif

    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2003
    Messages
    286
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 286
    Points : 255
    Points
    255
    Par défaut
    Si tu lance une application via delphi, tu peux lui passer des paramètres. Regarde dans la FAQ developpez les fonctions shellexecute et autres ...
    .: La cosse : il n'y a que ça de vrai :.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 34
    Points : 26
    Points
    26
    Par défaut
    Citation Envoyé par basnifo
    Si tu lance une application via delphi, tu peux lui passer des paramètres. Regarde dans la FAQ developpez les fonctions shellexecute et autres ...
    c'est parce que moi j'utilise le createProcess... donc je ne sais pas comment faire...

  4. #4
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 911
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 911
    Points : 6 032
    Points
    6 032
    Par défaut
    D'après le MSDN, http://msdn.microsoft.com/library/de...ateprocess.asp
    le paramètre
    LPTSTR lpCommandLine,
    permet de fournir les fameux paramètres...
    "Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
    -----------------------
    Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
    Usus magister est optimus

  5. #5
    Membre émérite
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 503
    Points : 2 773
    Points
    2 773
    Billets dans le blog
    10
    Par défaut
    Voici une procédure qui marche, tu peux remplir la variable StParam1 avec les paramètres de ton choix.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
     
    unit Unit1;
    interface
    uses
    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
    StdCtrls;
    type
    TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    private
    { Déclarations privées }
    public
    { Déclarations publiques }
    end;
    var
    Form1: TForm1;
    PI1 : TProcessInformation ;
    implementation
    {$R *.DFM}
    function ExecuteApp(StAppl1 : string): TProcessInformation ;
    var
    StParam1,StRepTrav1,St1 : string ;
    zst1, zst2: array[0..MAX_PATH] of Char ;
    StartupInfo1 : TSTARTUPINFO ;
    ProcessInfo1 : TProcessInformation ;
    begin
    st1 := UpperCase(ExtractFileExt (StAppl1)) ;
    Fillchar (ProcessInfo1,SizeOf(ProcessInfo1),0) ; // Initialisations
    StParam1 := '' ;
    StRepTrav1 := '' ;
    if StRepTrav1 = '' then
    StRepTrav1 := ExtractFilePath(StAppl1);
    fillchar (StartupInfo1, SizeOf(StartupInfo1), #0);
    fillchar (ProcessInfo1, SizeOf(ProcessInfo1), #0);
    StartupInfo1.cb := sizeof(StartupInfo1);
    StartupInfo1.dwflags := STARTF_FORCEONFEEDBACK OR StartF_UseShowWindow;
    StartupInfo1.wShowWindow := SW_SHOWDEFAULT; // SW_SHOWMAXIMIZED ; // SW_SHOWDEFAULT;
    if StParam1 <> '' then StAppl1 := StAppl1+' '+StParam1 ;
    if CreateProcess(nil,StrPCopy(zst1,StAppl1),
    nil,nil,False, 
    0,Nil,StrPCopy(zst2,StRepTrav1),StartupInfo1,ProcessInfo1) then
    WaitForInputIDLE (ProcessInfo1.Hprocess,INFINITE) // attendre que le processus ait démarré
    else
    MessageDlg(SysErrorMessage(GetLastError),mtError,[mbOk],0) ;
    Result := ProcessInfo1 ;
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    PI1 := ExecuteApp ('C:\WINDOWS\system32\calc.exe') ;
    end;
    procedure TForm1.Button2Click(Sender: TObject);
    var
    LW1,LW2,LW3,lw4 : LongWord ;
    begin
    LW3 := PI1.dwProcessId ;
    Lw1 := OpenProcess(PROCESS_TERMINATE,false,LW3) ;
    GetExitCodeProcess(lw1,lw2);
    TerminateProcess(lw1,lw2);
    end;
    end.

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

Discussions similaires

  1. [Forms]Passage de paramètre entre Forms et Reports
    Par jack554 dans le forum Reports
    Réponses: 4
    Dernier message: 30/03/2004, 13h58
  2. probleme lors du passage de paramètre
    Par maxmj dans le forum ASP
    Réponses: 4
    Dernier message: 18/11/2003, 00h15
  3. [XSL] Passage de paramètres à un template
    Par pantin dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 27/06/2003, 13h28
  4. passage de paramètres
    Par pram dans le forum XMLRAD
    Réponses: 5
    Dernier message: 18/02/2003, 17h28
  5. passage en paramètre d'un array dynamique 2D
    Par Guigui_ dans le forum Langage
    Réponses: 4
    Dernier message: 27/11/2002, 19h47

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