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 :

Erreur lors de l'ouverture d'un fichier : "Fichier Introuvable"


Sujet :

Langage Delphi

  1. #1
    Invité
    Invité(e)
    Par défaut Erreur lors de l'ouverture d'un fichier : "Fichier Introuvable"
    Bonjours,
    J'utilise un RichEdit dans lequel je charge le contenu d'un fichier avec la méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonRichEdit.Lines.LoadFromFile(pathDuFichierAAfficherDansLeRichEdit);
    qui fonctinne très bien.
    Or dans mon application, je suis amené à lire un fichier de config. Pour cela j'utilise le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function MaClasse.LireFichier(pathDuFichierDeConfig : string );
      var
        Fichier : TextFile;
      begin
     
        AssignFile(Fichier,pathDuFichierDeConfig );
        Reset(Fichier);
     
      // Suite...
     
      end;
    Mon problème est le suivant :
    - lorsque j'utilise ma fonction AVANT d'avoir chargé un fichier dans le RichEdit, tout fonctionne.
    - lorsque j'utilise ma fonction APRES avoir chargé le fichier dans le RichEdit, il fait une erreur sur le "Reset(Fichier)" : Fichier Introuvable

    Le plus étonnant dans tout ça c'est que lorsque je passe un débug et que je met ma souris sur la variable Fichier, il m'indique que le contenu de cette variable est le chemin du fichier qui est affiché dans le rich edit , ce qui est totalement incohérent.

    Help !

  2. #2
    Membre actif Avatar de remixtech
    Profil pro
    Enseignant
    Inscrit en
    Février 2003
    Messages
    272
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Février 2003
    Messages : 272
    Points : 214
    Points
    214
    Par défaut
    Tes chemins de fichier sont ils complet ? Ou s'agit il d'un fichier...

    Qu'affiche un showmessage sur ta variable ? Quand utilises tu cette variable ?

  3. #3
    Membre habitué Avatar de bs.box
    Inscrit en
    Mai 2008
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 174
    Points : 173
    Points
    173
    Par défaut
    Citation Envoyé par darnold Voir le message
    Mon problème est le suivant :
    - lorsque j'utilise ma fonction AVANT d'avoir chargé un fichier dans le RichEdit, tout fonctionne.
    - lorsque j'utilise ma fonction APRES avoir chargé le fichier dans le RichEdit, il fait une erreur sur le "Reset(Fichier)" : Fichier Introuvable
    Veuillez confirmer par ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function MaClasse.LireFichier(pathDuFichierDeConfig : string );
      var
        Fichier : TextFile;
      begin
      if not FileExists(pathDuFichierDeConfig) 
         then ShowMessage('Fichier Introuvable: '+pathDuFichierDeConfig)
         else begin
         AssignFile(Fichier,pathDuFichierDeConfig );
         Reset(Fichier);
     
      // Suite...
               end // !!
      end;
    Bon Courage..

  4. #4
    Invité
    Invité(e)
    Par défaut
    peut être que c'est vraie, reset ne trouve pas le fichier qui un attribut en lecture seul ou quelque chose de ce genre, sa veut dire que richedit à modifier son attribut
    ?? Pas compris

    Tes chemins de fichier sont ils complet ? Ou s'agit il d'un fichier...
    En fait je n'indique pas le chemin mais juste le nom du fichier, comme ça il regarde directement dans le répertoire ou se trouve l'executable. Et sa fonctionne bien dans d'autre situation dc je ne vois pas pk sa poserai problème ici.

    Qu'affiche un showmessage sur ta variable ? Quand utilises tu cette variable ?
    Je ne peut pas mettre un showmessage sur la variable Fichier, car elle est de type textFile et pas string.

    Veuillez confirmer par ceci:
    Avec cet extrait de code, rentre dans le showmessage dc il ne trouve pas le fichier. Je vais faire un essai en mettant les chemins complets des fichiers.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Je ne peut pas mettre un showmessage sur la variable Fichier, car elle est de type textFile et pas string.


    Citation:
    Veuillez confirmer par ceci:

    Avec cet extrait de code, rentre dans le showmessage dc il ne trouve pas le fichier. Je vais faire un essai en mettant les chemins complets des fichiers.
    Sa fonctionne avec cette solution ! Ce qui m'amène à la question : existe-t-il une fonction qui renvoi le chemin d'acces de l'executable de l'application?

  6. #6
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Oui ça existe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ExtractFilePath( ParamStr(0) );

  7. #7
    Membre habitué Avatar de bs.box
    Inscrit en
    Mai 2008
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 174
    Points : 173
    Points
    173
    Par défaut
    Citation Envoyé par darnold Voir le message
    Sa fonctionne avec cette solution ! Ce qui m'amène à la question : existe-t-il une fonction qui renvoi le chemin d'acces de l'executable de l'application?
    Pour le chemin d'acces de l'executable de l'application, essaye cette fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    var chemin_exe:string;
    begin
     chemin_exe:=Application.ExeName;
    end;
    Pour avoir le répertoire;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    var rep_exe:string;
    begin
     rep_exe:=ExtractFilePath( Application.ExeName );
    end;
    Pour plus, essaye sur ces fonction.

  8. #8
    Invité
    Invité(e)
    Par défaut
    Oki THX pr le coup de main !

  9. #9
    Membre du Club Avatar de Kephuro
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 61
    Points : 48
    Points
    48
    Par défaut
    Petite précision :

    Quand on ne précise pas le chemin à l'ouverture d'un fichier, le chemin par défaut est celui de l'application. Or, si on utilise une OpenDialog, ou une SaveDialog (des trucs dans ce genre là), le chemin par défaut devient celui du fichier Ouvert/Sauvé par la boite de dialogue.
    Et là on se retrouve souvent avec ce genre d'erreur quand on ne précise pas le chemin complet

  10. #10
    Membre habitué Avatar de bs.box
    Inscrit en
    Mai 2008
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 174
    Points : 173
    Points
    173
    Par défaut
    Quand on ne précise pas le chemin à l'ouverture d'un fichier, le chemin par défaut est celui de l'application
    Ca depend des applications qui sont (ouvertes/en cours d'exécution) sur votre session.

    a+

Discussions similaires

  1. Unity Pro -=-> Erreur lors de l'ouverture d'un fichier
    Par OUBEL dans le forum Automation
    Réponses: 16
    Dernier message: 08/06/2022, 15h30
  2. erreur lors de l'ouverture fichier pendant la macro
    Par dwarf17 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 20/08/2010, 11h37
  3. Réponses: 1
    Dernier message: 06/05/2008, 09h37
  4. Réponses: 1
    Dernier message: 28/03/2008, 16h06
  5. erreur lors de l'ouverture d'un fichier
    Par programaniac dans le forum Langage
    Réponses: 3
    Dernier message: 04/05/2007, 20h12

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