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

Fortran Discussion :

Lecture d'un fichier qui se trouve dans un répértoire sur le réseau


Sujet :

Fortran

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur en MDF
    Inscrit en
    Mai 2018
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur en MDF

    Informations forums :
    Inscription : Mai 2018
    Messages : 14
    Points : 14
    Points
    14
    Par défaut Lecture d'un fichier qui se trouve dans un répértoire sur le réseau
    Bonjour,

    J'ai besoin de votre aide concernant la lecture d'un fichier qui se trouve sur un réseau de travail.


    " J'ai développé un programme de calcul aéraulique qui utilise un fichier de données d'entrée. le programme cherche le fichier de données qui se trouve dans un répertoire sur le réseau et le copie sur le répertoire de travail en local. Si je ne suis pas connecté sur le réseau , le programme est censé utiliser le fichier qui est sur le répertoire local."

    Comment je pourrai détecter à partir de mon programme l'absence du répertoire sur le réseau (donc l'absence du réseau )?

    Je vous remercie d'avance pour vos réponses.

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 103
    Points : 1 034
    Points
    1 034
    Billets dans le blog
    1
    Par défaut INQUIRE ?
    Bonjour,

    la procédure INQUIRE du Fortran pourrait être utile :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    LOGICAL :: verrou
    INQUIRE(FILE="fichier.lock", EXIST=verrou)
    si le fichier existe, la variable verrou contiendra .TRUE.

    Voir : http://www.lahey.com/docs/lfenthelp/...NQUIREStmt.htm

    Mais je n'ai jamais essayé d'accéder à un lecteur réseau en Fortran. C'est donc à tester... Merci de nous dire si ça fonctionne.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Ingénieur en MDF
    Inscrit en
    Mai 2018
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur en MDF

    Informations forums :
    Inscription : Mai 2018
    Messages : 14
    Points : 14
    Points
    14
    Par défaut
    Bonjour,
    Merci pour votre réponse.

    j'ai l'habitude d'utiliser la fonction INQUIRE:

    Nom : Capture.PNG
Affichages : 224
Taille : 4,5 Ko

    le problème réside dans la détection de l'absence du réseau (Y: ). Si je suis connecté ,le code arrive à copier le fichier données et il exécute le reste du programme. Par contre, si je suis déconnecté , le programme reste en attente de lecture du répertoire dans le réseau (Y: )

    Merci d'avance pour vos réponses.

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Août 2006
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 974
    Points : 1 346
    Points
    1 346
    Par défaut
    Bonjour,

    Et pourquoi ne pas simplement essayer d'ouvrir le fichier ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    open(unit, file='Y:\...', action='READ',status='OLD',iostat=k)
    if(k /= 0) ! Pas d'accès au fichier, donc possiblement au réseau
    Cette stratégie n'est pas parfaite, mais si tu n'as pas accès au fichier réseau, le programme devra de toute façon utiliser sa copie locale.

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 103
    Points : 1 034
    Points
    1 034
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par lakhmesi Voir le message
    le problème réside dans la détection de l'absence du réseau (Y: ). Si je suis connecté ,le code arrive à copier le fichier données et il exécute le reste du programme. Par contre, si je suis déconnecté , le programme reste en attente de lecture du répertoire dans le réseau (Y: )
    Probablement que le programme Fortran utilise un appel système et que le système d'exploitation ne rend pas la main. Malheureusement, il ne semble pas exister dans INQUIRE de paramètres du type TimeOut qui permettrait de reprendre la main au bout d'un certain temps.

    Vous pouvez essayer :
    - de faire un Open comme proposé par Sylvain,
    - utiliser la procédure EXECUTE_COMMAND_LINE() du Fortran. A voir quelle est la commande système (apparemment Windows) qui permettrait de faire le test,
    - utiliser ISO_C_BINDING pour appeler la fonction d'une librairie C qui permettrait de faire ça.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Ingénieur en MDF
    Inscrit en
    Mai 2018
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur en MDF

    Informations forums :
    Inscription : Mai 2018
    Messages : 14
    Points : 14
    Points
    14
    Par défaut
    Bonjour à tous,

    Pour information, j'ai utilisé l'instruction " Call system" afin de vérifier la présence du réseau.


    La ligne de code est la suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                             [call system ( "if exist Y: (  echo  Reseau_disponible > test.dat) else (echo Reseau_non_disponible > test.dat)" )]
    Cette instruction permet de détecter la présence du réseau et d'enregistrer le message dans un fichier text.dat. Il suffit de lire le message dans le fichier et l'utiliser.

    Merci pour votre aide.

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

Discussions similaires

  1. Lecture de fichiers dans un répertoire dans un ordre précis
    Par steffieLilirose dans le forum Powerbuilder
    Réponses: 0
    Dernier message: 20/12/2017, 11h41
  2. Réponses: 3
    Dernier message: 05/02/2016, 11h20
  3. Lecture récursive des fichiers dans un répertoire
    Par fleurparis dans le forum VBScript
    Réponses: 2
    Dernier message: 17/12/2009, 08h14
  4. [C#] [WinForms] Lecture d'un fichier dans une archive ZIP
    Par aegypius dans le forum Windows Forms
    Réponses: 2
    Dernier message: 21/12/2004, 18h15
  5. Réponses: 4
    Dernier message: 22/12/2003, 12h12

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