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 :

fichiers dans le Répertoire d'exécution


Sujet :

C++Builder

  1. #1
    Membre du Club Avatar de bhahmed
    Inscrit en
    Août 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Août 2006
    Messages : 84
    Points : 41
    Points
    41
    Par défaut fichiers dans le Répertoire d'exécution
    j'enregistre un fichier dans le répoirtoire d'exécution. puis j'ajoute un autre fichier obtenu d'une autre opendialogue.
    Puis je n'arrive plus a lire du 1er fichier ds le répertoire d'exécution.

    il cherche ds le réperetoire ou j'ai obtenu le nouveau fichier.

    Comment faire pour pouvoir lire du répertoire ou il y a l'exécutable ?

  2. #2
    Membre confirmé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    933
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 933
    Points : 466
    Points
    466
    Par défaut
    Voilà la commande pour obtenir le répertoire de ton exécutable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
            // Récupérer le répertoire de l'application
            AnsiString RepAppli = ExtractFilePath(Application->ExeName);
    Ton répertoire par défaut doit changer entre tes deux boites de dialogues et ainsi tu ne pointe plus sur le bon répertoire. Utilise cette ligne à chaque fois que tu veux lire un fichier dans le répertoire d'exécution, ainsi tu n'auras plus de problème

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 61
    Points : 62
    Points
    62
    Par défaut
    Ou sinon essaye ça :

    "./nom_fichier" => qui logiquement prend comme racine le dossier courant.

  4. #4
    Membre averti Avatar de niglo
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 379
    Points : 383
    Points
    383
    Par défaut
    Citation Envoyé par kurul1
    Voilà la commande pour obtenir le répertoire de ton exécutable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
            // Récupérer le répertoire de l'application
            AnsiString RepAppli = ExtractFilePath(Application->ExeName);
    Ton répertoire par défaut doit changer entre tes deux boites de dialogues et ainsi tu ne pointe plus sur le bon répertoire. Utilise cette ligne à chaque fois que tu veux lire un fichier dans le répertoire d'exécution, ainsi tu n'auras plus de problème
    C'est plus propre de cette façon !!!

  5. #5
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    Citation Envoyé par niglo
    C'est plus propre de cette façon !!!
    Oui en effet car en l'occurence sont code ne fonctionne pas car le dossier courrant à changé, donc le "./nom_fichier" ne fonctionnera pas non plus.
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

  6. #6
    Membre confirmé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    933
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 933
    Points : 466
    Points
    466
    Par défaut
    C'est justement le problème que j'ai rencontré et c'est pour cela que j'ai utilisé cette façon, car même si le répertoire courant change, j'ai toujours le bon répertoire.

  7. #7
    Membre du Club Avatar de bhahmed
    Inscrit en
    Août 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Août 2006
    Messages : 84
    Points : 41
    Points
    41
    Par défaut
    j'ai essaye mais pour l'enregistrement et l'ouverture de fichier ça ne marche pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ifstream rego(RepAppli+"/règle.txt");

  8. #8
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    Tout d'abord, ce n'est pas un '/', mais un '\' qu'il faut mettre de plus il faut que tu le double, exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ifstream rego(RepAppli+"\\règle.txt");
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

  9. #9
    Membre du Club Avatar de bhahmed
    Inscrit en
    Août 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Août 2006
    Messages : 84
    Points : 41
    Points
    41
    Par défaut
    j'ai essayé ça déja mais ça ne marche pas.

  10. #10
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    En mode débugage, essaye de me dire ce qu'il y a exactement dans RepAppli.
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

  11. #11
    Membre du Club Avatar de bhahmed
    Inscrit en
    Août 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Août 2006
    Messages : 84
    Points : 41
    Points
    41
    Par défaut
    au moment de la compilation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    [C++ Erreur] Unit1.cpp(214): E2285 Impossible de trouver une correspondance pour 'ifstream::basic_ifstream(AnsiString)'
    [C++ Erreur] Unit1.cpp(365): E2087 Utilisation incorrecte de pointeur
    [C++ Erreur] Unit1.cpp(366): E2087 Utilisation incorrecte de pointeur
    [C++ Erreur] Unit1.cpp(367): E2087 Utilisation incorrecte de pointeur

  12. #12
    Membre chevronné

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 374
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 374
    Points : 1 759
    Points
    1 759
    Par défaut
    Salut !

    Je me demande s'il ne faut pas passer un pointeur vers char au lieu d'une concaténation que le compilateur ne sait pas faire à ce stade (une histoire de cast entre AnsiString et char*).

    On récupère donc le chemin de l'exé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AnsiString ExeFilePath = ExtractFilePath(Application->ExeName);
    Concaténation sur un AnsiString (plus simple que sur un tableau):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AnsiString Filename = ExeFilePath + "....";
    Il ne reste plus qu'à passer Filename.c_str() comme paramètre.

    A plus !

  13. #13
    Membre du Club Avatar de bhahmed
    Inscrit en
    Août 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Août 2006
    Messages : 84
    Points : 41
    Points
    41
    Par défaut
    merci bq pour ton aide présieuse henderson

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 20/12/2006, 10h26
  2. compter le nombre de fichiers dans un répertoire !
    Par lehic dans le forum API, COM et SDKs
    Réponses: 1
    Dernier message: 20/11/2005, 17h59
  3. Gestion de fichiers dans un répertoire
    Par rossy dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 18/11/2005, 15h38
  4. rechercher d'un nom de fichier dans un répertoire
    Par yerome dans le forum Langage
    Réponses: 7
    Dernier message: 21/07/2005, 11h54
  5. Réponses: 4
    Dernier message: 22/12/2003, 11h12

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