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

Composants VCL Delphi Discussion :

Ouvrir des fichiers de différents formats


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Août 2009
    Messages
    308
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 308
    Par défaut Ouvrir des fichiers de différents formats
    Bonjour,
    Je voudrais pouvoir ouvrir des fichiers word, pdf ou excel par double clic sur une ligne du DBGrid.
    Le DBGrid contient les informations qui referencent les fichiers physiques.
    Par double clic sur une ligne du DBGrid on doit pouvoir ouvrir le fichier dont le chemin est connu.

    Merci bien de m'aider!

  2. #2
    Fxg
    Fxg est déconnecté
    Membre émérite
    Homme Profil pro
    ingénieur financier
    Inscrit en
    Septembre 2003
    Messages
    514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : ingénieur financier

    Informations forums :
    Inscription : Septembre 2003
    Messages : 514
    Par défaut
    Bonsoir

    Une petite recherche et tu trouveras je pense ton bonheur Ici

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 717
    Billets dans le blog
    65
    Par défaut
    Plus 'simple' que OLE, l'utilisation de l'application associée

    voici une fonction , trouvée dans le forum mais je ne sais plus où, c'est pour cela que je la remet (toutes mes excuses à l'auteur)


    Ne pas oublier shlobj dans la liste des unités

    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
     
    function OpenFile(const Filename: string): boolean;
    { Tente d'ouvrir le fichier dont le nom est passé en argument avec
      l'application associée à son extension. Si aucune application n'est
      associée à celle-ci, le dialogue "Ouvrir avec..." est appelé. }
     var
      errCode: Cardinal;
      filePath: string;
     begin
      { On stocke le chemin pour éviter de le décoder 2 fois }
      filePath:= ExtractFilePath(Filename);
     
      { Tentative d'ouverture de l'application associée }
      errCode:= ShellExecute(0, 'Open', PChar(Filename), '',
        PChar(filePath), SW_SHOWNORMAL);
     
      { Si la tentative a échoué avec le code SE_ERR_NOASSOC, c'est que l'extension
        n'est associée à aucune application }
      if errCode = SE_ERR_NOASSOC then
        { Dans ce cas, on appelle le dialogue }
        errCode:= ShellExecute(0, 'open', 'rundll32.exe',
          PChar('shell32.dll,OpenAs_RunDLL ' + Filename),
          PChar(filePath), SW_SHOWNORMAL);
     
      { Si le code retourné par ShellExecute est supérieur à 32, alors l'opération
        a réussi, sinon c'est un code d'erreur }
      result:= errCode > 32;
    end;
    Code utilisation : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     OpenFile(chemin+nom du fichier)

  4. #4
    Membre Expert
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 705
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 705
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Ne pas oublier shlobj dans la liste des unités
    C'est pas plutôt ShellAPI ?
    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. :bug: ___ "http://club.developpez.com/regles/#LIII-A"Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.3 Entreprise - Visual studio 2022
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.7)

  5. #5
    Membre éclairé
    Inscrit en
    Août 2009
    Messages
    308
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 308
    Par défaut
    merci à vous pour vos reponses.

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 717
    Billets dans le blog
    65
    Par défaut
    Citation Envoyé par Lung Voir le message
    C'est pas plutôt ShellAPI ?
    oui , boulette , j'étais perdu dans un autre truc

  7. #7
    Membre éclairé
    Inscrit en
    Août 2009
    Messages
    308
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 308
    Par défaut
    Bonjour,
    J'ai utilisé la fonction envoyé par SergioMaster.
    j'ai mis la fonction dans l'unité de ma DataModule et je l'ai appelé ailleurs pour la tester.
    code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    procedure TF_courrier_arrive.Button1Click(Sender: TObject);
    var filePaths, files : string;
    begin
      filePaths := 'D:\';
      files := 'Rapport';
    OpenFile(filepaths+files);
    end;
    A la compilation il me dit ceci: types incompatibles "String" et "PAinsichar"

    Merci bien de m'aider!

Discussions similaires

  1. [Lazarus] Ouvrir des fichiers image au format TIF
    Par ChPr dans le forum Lazarus
    Réponses: 22
    Dernier message: 15/03/2014, 19h50
  2. ouvrire des fichiers par un boucle for
    Par stiko dans le forum C++
    Réponses: 5
    Dernier message: 08/07/2006, 16h14
  3. Ouvrir des fichiers pour un IHM
    Par stiko dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 29/06/2006, 13h54
  4. Réponses: 2
    Dernier message: 07/06/2006, 12h44
  5. Ouvrir des fichiers *.mix
    Par arnaud_verlaine dans le forum Autres Logiciels
    Réponses: 14
    Dernier message: 24/12/2005, 15h31

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