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 :

lancement dune application powerpoint [D�butant]


Sujet :

C++Builder

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    22
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 22
    Par d�faut lancement dune application powerpoint
    Bonjour

    j'utilise la fonction ShellExecute depuis C++ Builder 6 pour lancer des applications Powerpoint.

    Exemple :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    char chemin1[80] = "C:\\Program Files\\Microsoft Office\\PowerPoint Viewer\\pptview.exe";
    char chemin2[80] = "C:\\Mon fichier.ppt";
     
    ShellExecute(Handle, NULL, chemin1, chemin2, NULL, SW_SHOWNORMAL);
    Si le nom du fichier que je souhaites lancer contient des espaces, il n'est pas lanc�.

    Comment palier � cela ?

  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
    Par d�faut
    Salut EricNO
    La fonction ShellExecute s'ecrit comme ceci
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    ShellExecute(Handle, "open", "MonFichier.exe", "", NULL, SW_NORMAL);
    Tu peut aussi utiliser Ole comme decrit dans la FAQ
    Cette proc�dure verifie si PowerPoint est ouvert, sinon elle lance l'application PowerPoint, pour info l'exception est systematiquement affichee en passant par le try / catch en mode debug, quand le projet a ete compile en .exe independant c'est transparent pour l'utilisateur.
    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
     
        // ne pas oublier d'inclure " #include <utilcls.h> "
        Variant vMSPowerPoint;
     
            try
        {
        // on récupére l'instance active.
        vMSPowerPoint = Variant::GetActiveObject("PowerPoint.Application");
        }
            catch(...)
        {
        // sinon on crée une nouvelle instance
        vMSPowerPoint = Variant::CreateObject("PowerPoint.Application");
        }
        // on rend Visible l'instance de PowerPoint que nous avons défini
        vMSPowerPoint.OlePropertySet("Visible", true);

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    22
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 22
    Par d�faut
    En fait je souhaite lancer un diaporama

    Ca marche avec ShellExecute quand le nom du diaporama ne comporte pas d'espace et �a ne marche pas quand le nom du diaporama comporte des espace ?

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    ShellExecute(Handle, "Open", "C:\\Program Files\\Microsoft Office\\PowerPoint Viewer\\pptview.exe","C:\\mon diaporama.ppt", NULL, SW_SHOWNORMAL);
    Sinon j'ai essaye l'exemple d�crit dans la FAQ, �a ouvre bien mon fichier ppt
    mais �a ne lance pas le diaporama.

  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
    Id�e � la con !
    Utilise la fonction GetShortPathName qui transforme "C:\\mon diaporama.ppt" en nom 8.3 comme "MONDIA~1.ppt", tu n'auras plus d'espace, avec un peu de chance

    Ensuite, je n'aurais pas utilis� l'exe mais directement l'association de fichier

    Tu renommes ton fichier en pps (tu en fais une copie ou simple renommage par programme via RenameFile, CopyFile, ChangeFileExt)

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    AnsiString Presentation = "C:\\mon diaporama.ppt";
    AnsiString Diaporama = ChangeFileExt(Presentation, ".pps");
    DeleteFile(Diaporama.c_str());
    CopyFile(Presentation.c_str(),Diaporama.c_str(), false);
    ShellExecute(Handle, "Open", Diaporama.c_str(), "C:\\" NULL, SW_SHOWNORMAL);
    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
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    22
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 22
    Par d�faut
    Merci pour vos r�ponses
    �a marche

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 4
    Dernier message: 06/07/2009, 14h14
  2. R�ponses: 4
    Dernier message: 01/08/2006, 13h15
  3. R�ponses: 2
    Dernier message: 08/05/2006, 13h57
  4. [debutant ][lancement]Commande de lancement d'application
    Par Regis.C dans le forum Eclipse Java
    R�ponses: 7
    Dernier message: 28/06/2004, 23h25
  5. �volution d�une application existante. Quel choix ?
    Par BBerni dans le forum D�cisions SGBD
    R�ponses: 9
    Dernier message: 10/05/2004, 10h59

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