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

Lazarus Pascal Discussion :

Problème d'ouverture de fichier : IOResult = 123 [Lazarus]


Sujet :

Lazarus Pascal

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Programmes personnels
    Inscrit en
    Février 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Programmes personnels

    Informations forums :
    Inscription : Février 2013
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Problème d'ouverture de fichier : IOResult = 123
    Bonjour à tous,

    j'ai un problème assez bizarre depuis quelques jours et j'ai essayé plusieurs façons de le régler sans succès. Je suis en train de me faire un petit programme personnel et j'avais arrêté de programmer depuis quelques temps. Je viens de m'y remettre. J'utilise Lazarus comme EDI sous Windows 7 avec le système de fichiers 64bit (je sais que c'est important pour la lecture des fichiers spéciaux) mais je n'arrive pas à trouver pourquoi, lorsque jutilise la fonction FileExists(), elle me renvoie false même si le fichier existe vraiment. Si je tape la fonction manuellement: fileexists('C:\Users\Yan\Documents\fichiertest.txt'); ça me renvoie true mais si je mets le même fichier en variable de type string (convertie ou non en Pchar()) recueillie avec le composant TOpenDialog existe. Même chose avec un AssignFle() qui me renvoie le IOresult 123.

    Des suggestions? Merci à l'avance !!

  2. #2
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut
    Bonjour,
    Un problème de type peut-être ?
    Avez vous essayé de comparer la chaine en dur à celle obtenue via le composant TOpenDialog ?
    Philippe.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Programmes personnels
    Inscrit en
    Février 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Programmes personnels

    Informations forums :
    Inscription : Février 2013
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Voici un petit bout de code pour plus de clarté a mon problème. Oui j'ai essayer la comparaison du contenu de mon edTab (Tedit) qui contient comme texte le résultat de OpenDialog qui est: 'C:\Users\Yan\Documents\test.txt . Ce fichier existe vraiment sur mon PC. Quand je lance le programme, j'ai aucune réponse des 2 fileexists, aucune réponse sur le "match" des 2 strings, un fileage de -1, et un IOresult de 123.

    Ce qui me laisse croire que le problème n'est pas dans le code mais dans la redirection des répertoire pour certains windows pour les dossiers systeme, program files, utilisateurs, et autres...mais je crois avoir bien tester cette possibilité avec la fonction ChangeFSRedirection sans succès. Peut-etre que je l'ai mal fais mais je crois pas. Je n'ai plus d'autres idées...

    Juste en passant... fileexists('C:\Users\Yan\Documents\test.txt') me renvoie true...
    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
    29
     
    (...)
    if (edTab.text='') then doit:=1
        else
        begin
          ChangeFSRedirection(true);
          if (fileexists(pchar(edTab.text))) then showmessage('Fileexists with Pchar!');
          if (fileexists(edTab.text)) then showmessage('Fileexists without Pchar!');
          if (edTab.text='C:\Users\Yan\Documents\test.txt') then showmessage('They match!');
          showmessage('Age :' + inttostr(fileage(edTab.text)));
          showmessage('Full path: ' + edTab.text);
          ChangeFSRedirection(false);
          {$I-}
            assignfile(fn1,edTab.text);
            reset(fn1);
          {$I+}
          a:=IOresult;
          if (a<>0) then
          begin
            doit:=1;
            showmessage('Fail opening with IOresult: ' + inttostr(a));
          end
          else
          begin
            closefile(fn1);
            showmessage('File opened!');
          end;
        end;   
    (...)

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Programmes personnels
    Inscrit en
    Février 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Programmes personnels

    Informations forums :
    Inscription : Février 2013
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Apres des recherches plus approfondis, je suis presque sur qu'il s'agit des 'Special Folder' de windows 7 et autres. Il me faudrais une fonction qui change le chemin donné en string et le transfert en chemin accepté dans le cas des special folder...

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Programmes personnels
    Inscrit en
    Février 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Programmes personnels

    Informations forums :
    Inscription : Février 2013
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Je me sent stupide lol...je devais accéder a Filename dans le OpenDialog au lieu de Files.Text .. erreur de débutant

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

Discussions similaires

  1. [VBA - Excel] Problème d'ouverture de fichier
    Par seiryujay dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/12/2006, 10h55
  2. [Système] Problème d'ouverture de fichier
    Par Neii Mad dans le forum Langage
    Réponses: 8
    Dernier message: 03/07/2006, 00h11
  3. Problème à l'ouverture de fichiers Word
    Par Asdorve dans le forum Word
    Réponses: 8
    Dernier message: 19/05/2006, 12h03
  4. Réponses: 5
    Dernier message: 05/05/2006, 15h08
  5. Réponses: 2
    Dernier message: 20/04/2006, 22h12

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