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

Free Pascal Discussion :

Problème avec IOResult [Free Pascal]


Sujet :

Free Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2005
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 55
    Par défaut Problème avec IOResult
    Bonsoir,

    Je veux ouvrir un fichier, s'il n'existe pas j'écris un message d'erreur et je rappelle la fonction. La partie du code intéressante :

    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
     
    //EstExtensionObj est ma fonction
    {$I-}
    Assign (Fichier, 'roms/'+NomFichier) ;
    Reset (Fichier);
    {$I+}
    IO:=IOResult;
    write(IO);
    if IO <> 0 then
        Begin
            writeln('Erreur pendant l''ouverture du fichier.');
            EstExtensionObj := EstExtensionObj();
        End
    else
        Begin
            close(Fichier);
            EstExtensionObj := NomFichier;
        End;
    Le souci est que si je mets un nom de fichier bidon, j'ai bien l'erreur qui s'affiche, et la fois d'après si je mets un fichier valide il me remet l'erreur. Ce n'est que le troisième fois qu'il trouvera le fichier valide ...
    J'ai toujours l'erreur 2 (fichier introuvable) comme réponse.

    Si je mets directement un fichier valide, il l'ouvre normalement.

    Y a-t-il une fonction, quelque chose que j'ai oublié ?

    Merci d'avance,

    Bonne soirée

  2. #2
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 967
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 967
    Par défaut
    Ho,

    Ça compile ce truc ?

    J'y vois un problème probable:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            EstExtensionObj := EstExtensionObj();
    Une variable qui porte le même nom que la fonction qui sert à lui donner une valeur ?

    Comme j'ignore ce que fait ta fonction, j'ai testé le programme en supprimant la ligne ci -dessus, ainsi que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            EstExtensionObj := NomFichier;
    Et c'est ok, comme c'était prévisible.

    Donc, si ton programme compile (??), tes problèmes viennent de la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            EstExtensionObj := EstExtensionObj();

  3. #3
    Membre averti
    Inscrit en
    Janvier 2005
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 55
    Par défaut
    Bonjour,

    Merci de ta réponse.

    Bien oui ça compile, parce que c'est le résultat que retourne ma fonction :-)

    J'ai fait plus simple et moins compliqué, s'il y a une erreur le programme affiche un message et stoppe. C'est moins joli mais bon ...

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

Discussions similaires

  1. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  2. Problème avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 2
    Dernier message: 17/07/2002, 10h25
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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