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 :

Execution d'un Fichier.


Sujet :

C++Builder

  1. #1
    Membre éclairé Avatar de Fred2209
    Inscrit en
    Octobre 2006
    Messages
    310
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 310
    Par défaut Execution d'un Fichier.
    Salut,

    Je dois lors de l'execution de mon programme, ouvrir un fichier .csv à l'écran avec Excel, J'ai trouvé dans l'aide TFileRun mais aucun moyen de savoir comment l'utiliser...

    Merci...

  2. #2
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Par défaut
    Le code suivant m'a permis d'ouvrir un fichier txt avec l'éditeur associé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    TFileRun* Fichier = new TFileRun(this);
     
    Fichier->FileName = "C:\\MonFichier.txt";
    Fichier->Operation = "open";
    Fichier->Execute();
     
    delete Fichier;

  3. #3
    Membre éclairé Avatar de Fred2209
    Inscrit en
    Octobre 2006
    Messages
    310
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 310
    Par défaut
    Je te remercie, mais il me met "undefined symbol TFileRun" et dans l'aide de builder il n'est pas écrit ce que je devrais eventuellement déclarer ?

    C'est bizarre qu'il ne le reconnaisse pas ?

  4. #4
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Par défaut
    Citation Envoyé par Aide de Builder sur TFileRun
    TFileRun constitue l'action standard pour effectuer une opération spécifiée sur un fichier.

    Unité

    ExtActns
    Il faut donc ajouter cette ligne dans ton header
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    #include <ExtActns.hpp>

  5. #5
    Membre éclairé Avatar de Fred2209
    Inscrit en
    Octobre 2006
    Messages
    310
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 310
    Par défaut
    OK je te remercie..

    Par contre maintenant il me sort une erreur sur cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TFileRun * Fichier = new TFileRun(this);
    Au "this" et me dis :

    'Could not find a match for 'TFileRun::TFileRun(MaClasse * const)'

  6. #6
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Par défaut
    Citation Envoyé par Fred2209
    OK je te remercie..

    Par contre maintenant il me sort une erreur sur cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TFileRun * Fichier = new TFileRun(this);
    Au "this" et me dis :

    'Could not find a match for 'TFileRun::TFileRun(MaClasse * const)'
    La classe TFileRun a besoin d'avoir un propriétaire pour pouvoir être instanciée. Dans l'exemple que je t'ai donné, j'ai utilisé this qui correspond à ma fiche de test.
    Vue que je ne sais pas dans quel contexte tu veux utiliser TFileRun, je ne peux t'aider plus...

    Nb :Tu aurais pu trouver toutes ses infos dans l'aide en appuyant sur F1

  7. #7
    Membre éclairé Avatar de Fred2209
    Inscrit en
    Octobre 2006
    Messages
    310
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 310
    Par défaut
    En fait je voudrais lancer cette feuille Excel donc j'ai insérer ton morceau de programme dans une fonction qui est elle meme déclarée dans une classe.
    Alors j'ai essayé à la place de "this" de mettre le nom de ma classe et la il me met " improper use of typedef 'maclasse' "...
    Je ne vois pas ce que je pourrais mettre comme propriétaire...

  8. #8
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Par défaut
    Prototype du contructeur de TFileRun
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    inline __fastcall virtual TFileRun(Classes::TComponent* AOwner):
    Pour que TFileRun soit instancié, il faut un propriété dérivant de TComponent pour que cela marche.
    Or, TComponent est l'ancêtre commun à tous les composants susceptibles d'apparaître dans le concepteur de fiches.
    Cela ne fonctionnera donc pas dans ta classe à part si tu passes un composant visuel comme propriété de ta classe.

    Tu dois également pouvoir faire ce que tu désires avec la fonction ShellExecute...

  9. #9
    Membre éclairé Avatar de Fred2209
    Inscrit en
    Octobre 2006
    Messages
    310
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 310
    Par défaut
    Pour ce qui est de ShellExecute apparement dans les tutoriels ils précisent que c'est pour lancer un executable alors que moi c'est un .csv comme pour toi un .txt qui vont s'ouvrir avec leur programme respectif...

    Sinon, je te promets tu m'as paumé... qu'appelles-tu "ta fiche" ??

  10. #10
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Par défaut
    Citation Envoyé par Fred2209
    Pour ce qui est de ShellExecute apparement dans les tutoriels ils précisent que c'est pour lancer un executable alors que moi c'est un .csv comme pour toi un .txt qui vont s'ouvrir avec leur programme respectif...

    Sinon, je te promets tu m'as paumé... qu'appelles-tu "ta fiche" ??
    ShellExecute fonctionne pour les exécutables mais également pour les fichiers de données tant qu'un exécutable pouvant ouvrir ce dît fichier existe. Si Excel le supporte, tu peux également essayer de lancer Excel avec ton fichier en paramètre.

    Ce que j'appelle fiche, c'est ta classe TForm de base (et c'est, à mon avis, le sens donné par Borland)

  11. #11
    Membre éclairé Avatar de Fred2209
    Inscrit en
    Octobre 2006
    Messages
    310
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 310
    Par défaut
    J'ai essayé avec mon TForm de base ça ne marche pas non plus...

  12. #12
    say
    say est déconnecté
    Membre Expert
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Par défaut
    j'ai lu vite fait le fil du topic...
    perso j'ouvres mes fichiers comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    int ErrNo ;
    FilePath =  chemin_de_mon_fichier,
    ErrNo =(int)ShellExecute(NULL,"open",FilePath.c_str(),"","",SW_SHOW);
     
    if(ErrNo==SE_ERR_NOASSOC)
       {
     String OpenWithCommandParam = "shell32.dll,OpenAs_RunDLL " + FilePath;          ShellExecute(NULL,"open","rundll32.exe",OpenWithCommandParam.c_str(),"",SW_SHOW);
        }
    ça ouvre le fichier avec le prog adéquat et si pas de prog associé à l'extension, ça demande de choisir le programme pour ouverture

    en espérant t'aider

    A+

  13. #13
    Membre éclairé Avatar de Fred2209
    Inscrit en
    Octobre 2006
    Messages
    310
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 310
    Par défaut
    ça y est merci à vous !!

    ça marche avec ShellExecute !!!

  14. #14
    Membre chevronné
    Avatar de Altau
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    296
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 296
    Par défaut
    Fred2209, il y a aussi l'API ShellExecuteEx qui permet d'utiliser une structure SHELLEXECUTEINFO dans la quelle tu peux préciser quel exécutable tu veux utiliser en plus du fichier à ouvrir. Sans parler de CreateProcess qui est un peu plus compliquer à utiliser.

    bakaneko, pourquoi utilises-tu préférentiellement le bouton "Citer" plutôt que "Ajouter une réponse" ? Cela surcharge le fil inutilement, me semble-t-il

  15. #15
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Par défaut
    Citation Envoyé par Altau
    bakaneko, pourquoi utilises-tu préférentiellement le bouton "Citer" plutôt que "Ajouter une réponse" ? Cela surcharge le fil inutilement, me semble-t-il
    Parce que cela permet de devoir rechercher, dans les posts précédents, l'origne de mes réponses.

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

Discussions similaires

  1. [travaux] execution d'un fichier .sql
    Par argv666 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 30/11/2005, 16h26
  2. [C#] Execution d'un fichier VBS depuis un service Windows
    Par 0r3L dans le forum Windows Forms
    Réponses: 2
    Dernier message: 10/11/2005, 22h58
  3. execution d'un fichier
    Par faklzefh dans le forum C
    Réponses: 8
    Dernier message: 30/10/2005, 21h18
  4. un executable dans le fichier ressource
    Par joebilou dans le forum Windows
    Réponses: 4
    Dernier message: 28/06/2005, 11h18
  5. Requete d'execution d'un fichier
    Par minimoi1234 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 07/03/2005, 16h36

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