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 :

problème de lecture


Sujet :

C++Builder

  1. #1
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 17
    Par défaut problème de lecture
    le code si dessous ne lit pas tous les fichiers sans que j'écrive le chemin. j'aimerai bien savoir pourquoi, et s'il y a d'éventuelle solution

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
      TOpenDialog* dlgOuvrir = new TOpenDialog(this);
            dlgOuvrir->Title = "Ouvrir l'image IRMD";
            if (dlgOuvrir->Execute())
            { 
     
                    FILE *id;
                    short buf[1];
                    id=fopen(" file.img ","rb");
                    .
                    .
                    .
    ce code fonctionne correctement mais lorsque j'utilise "dlgOuvrir->FileName" pour ouvrir tous les fichiers ayant la même extension; sa marche pas

    je compte sur vous

  2. #2
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 17
    Par défaut
    hé...ho... ya kelk'un

  3. #3
    Membre Expert Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 341
    Par défaut
    Bonjour,

    ben oui y a quelqu'un... mais hier c'était dimanche, et le dimanche c'est repos ( enfin pour moi du moins )

    Je ne comprends pas bien pourquoi vous utilisez un composant TOpenDialog, puis la procédure fopen.
    Le composant TOpenDialog possède la procédure FiloOpen, et des propriétés du genre:

    • OpenDialog1->DefaultExt = "AVI";
    • OpenDialog1->FileName = "*.avi";

    C'est beaucoup plus pratique à utiliser que les anciennes bibliothèques du C. L'aide sur le composant permet de se faire une idée sur le sujet.
    A bientôt...

  4. #4
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 17
    Par défaut
    merci. peut tu me donné plus de détails

  5. #5
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par défaut
    Citation Envoyé par 4daime Voir le message
    le code si dessous ne lit pas tous les fichiers sans que j'écrive le chemin. j'aimerai bien savoir pourquoi, et s'il y a d'éventuelle solution

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
      TOpenDialog* dlgOuvrir = new TOpenDialog(this);
            dlgOuvrir->Title = "Ouvrir l'image IRMD";
            if (dlgOuvrir->Execute())
            { 
     
                    FILE *id;
                    short buf[1];
                    id=fopen(" file.img ","rb");
                    .
                    .
                    .
    ce code fonctionne correctement mais lorsque j'utilise "dlgOuvrir->FileName" pour ouvrir tous les fichiers ayant la même extension; sa marche pas

    je compte sur vous
    Salut, i faut utiliser dlgOuvrir->FileName lors de ton fopen, et pour le faire fonctionner avec fopen qui demande un char il faut mettre dlgOuvrir->FileName.c_str()

  6. #6
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 17
    Par défaut
    merci crayon. sa marche.

    juste comment faire pour préciser l'extension dans fopen(dlgOuvrir->FileName.c_str(), "r")

    parce que fopen(dlgOuvrir->FileName.c_str(), ".img", "r") n'est pas permis.

  7. #7
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par défaut
    Je ne comprend pas ce que tu veux dire? C'est quoi le problème avec l'extension?

    Pour plus de détails sur fopen va voir: http://msdn2.microsoft.com/en-us/lib...cb(VS.71).aspx

  8. #8
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 17
    Par défaut
    enfaite, j'ai 2 fichier avec le meme nom. le premier "ch2.hdr" et le 2eme "ch2.img"
    et je veu reccuperé le 2eme fichier apré avoir lu le premier en changeant seulement l'extension puisque c'est le meme nom et se trouvant dans le meme repertoire.


    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
     TOpenDialog* dlgOuvrir = new TOpenDialog(this);
            dlgOuvrir->Title = "Ouvrir l'image IRMD";
            if (dlgOuvrir->Execute())
            { 
     
                    FILE *id;
                    short buf[1];
                    id=fopen(dlgOuvrir->FileName.c_str(),"rb");
                    .
                    .
                    .
                    FILE *fp;
                    short buf[1];
                    fp=fopen(dlgOuvrir->FileName.c_str(),".img","rb");
                    .
                    .
                    .

    est ce que c'est faisable?

  9. #9
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par défaut
    La réponse est dans la FAQ: http://cpp.developpez.com/faq/bcb/?p...tensionfichier

    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
    TOpenDialog* dlgOuvrir = new TOpenDialog(this);
    dlgOuvrir->Title = "Ouvrir l'image IRMD";
    if (dlgOuvrir->Execute())
    {
    	String strFichierIMG = dlgOuvrir->FileName;
    	String strFichierHDR = ChangeFileExt(dlgOuvrir->FileName, ".hdr");
     
    	FILE *id;
    	short buf[1];
    	id=fopen(strFichierIMG.c_str(),"rb");
    .
    .
    .
    	FILE *fp;
    	short buf[1];
    	fp=fopen(strFichierHDR.c_str(),"rb");
    N'oublie pas d'inclure l'entête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #include <SysUtils.hpp>
    PS: j'ai pas testé

  10. #10
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par défaut
    ChangeFileExt:
    Changes the extension of a file name.

    String ChangeFileExt(string FileNameconst, string Extensionconst);

    Description

    ChangeFileExt takes the file name passed in FileName and changes the extension of the file name to the extension passed in Extension. Extension specifies the new extension, including the initial dot character.

    ChangeFileExt does not rename the actual file, it just creates a new file name string.

  11. #11
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 17
    Par défaut
    merci, Crayon, vous etes le meilleur

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

Discussions similaires

  1. [débutant] problème de lecture d'image
    Par shura dans le forum OpenGL
    Réponses: 16
    Dernier message: 03/07/2004, 18h05
  2. [TFileStream] Problème de lecture de string
    Par Pedro dans le forum Langage
    Réponses: 6
    Dernier message: 28/06/2004, 13h06
  3. problème de lecture base de registre
    Par pafounet3 dans le forum MFC
    Réponses: 10
    Dernier message: 31/12/2003, 14h06
  4. [fread] Problème de lecture de buffer
    Par karl3i dans le forum C
    Réponses: 2
    Dernier message: 25/09/2003, 09h21
  5. Réponses: 4
    Dernier message: 23/07/2003, 13h07

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