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

Autres langages Discussion :

[VMS] Ouverture de fichier en DML


Sujet :

Autres langages

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2008
    Messages : 53
    Points : 27
    Points
    27
    Par défaut [VMS] Ouverture de fichier en DML
    Bonjour,

    Je cherche comment faire pour ouvrir des fichier afin de les traiter.

    Donc ces fichier sont stocker dans le repertoire de TRAVAIL, j'aimerais que tous les fichiers soit traiter
    les fichier sont de type .DAT
    si aucune ligne est dans le fichier je veux un message d'erreur de type "pas de ligne"
    j'aimerais aussi que les ";" soit bien placé apres chaque champs :
    nom(4 caractere);prenom(4 caractere);login;(5caractere);age(2 caractere);tel(10 caractere); il n'y a pas d'espace entre
    entre les champs des que la ligne est traité en passe au ligne suivante des que celui-ci est fini on passe au fichier suivant.

    j'ai fait un début mais je ne vois pas comment faire de l'aide svp

    OPEN_TEXT #Fichier_ouvert AS file
    IF (%STATUS = %SUCCESS)
    #done = 0
    WHILE (#done <> 1)
    READ_LINE file /TARGET = #line
    IF (%STATUS = %SUCCESS)

  2. #2
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Bonjour,

    Voici une partie de code qui permet de parcourir un fichier :

    Code dml : 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
    PROCEDURE_FORM MAIN (#filename)
      PERFORM EXIST_FILE (#filename)
      IF (#status = %SUCCESS)
        #done = 0
        #line = ""
    
        OPEN_TEXT #filename AS fd
        WHILE (#done <> 1)
          READ_LINE fd /TARGET = #line
          IF (%STATUS = %SUCCESS)
            IF (#line <> "")
              ! ...
            ELSE
              #done = 1
            END_IF
          ELSE
            #done = 1
          END_IF
        END_WHILE
        CLOSE_TEXT fd
      ELSE
        #msg = "Le fichier " & #filename & " n'existe pas !"
        PRINT /nowait #msg
      END_IF
    END_FORM

    Et une procédure pour découper une chaine de caractère en tableau :
    Code dml : 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
    !-------------------------------------------------------------------------------
    ! Decoupe une chaine de caractere selon un separateur donne.
    !-------------------------------------------------------------------------------
    ! #ligne(in) : Ligne a decouppe
    ! #sep(in)   : separateur
    !
    ! #champs(out) : Tableau contenant les différents champs
    ! #nbchamps(out) : nombre de champs
    !-------------------------------------------------------------------------------
    PROCEDURE_FORM STR_SPLIT (#ligne, #sep)
      #next = 1
      #nbchamps = 1
      #seppos = 1
    
      WHILE (#seppos <> 0)
        #seppos = POS (#ligne, #sep, #next)
    		IF (#seppos = 0)
          #champs(#nbchamps) = MID (#ligne, #next, LEN (#ligne) - #next + 1)
        ELSE
          #champs(#nbchamps) = MID (#ligne, #Next, #seppos - #next)
          #next = #seppos + 1
          #nbchamps = #nbchamps + 1
        END_IF
      END_WHILE
    END_FORM

    Tu devrais t'en sortir avec ça

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2008
    Messages : 53
    Points : 27
    Points
    27
    Par défaut
    cool merci je vais test tout ca

Discussions similaires

  1. ouverture de fichier txt
    Par juguul dans le forum MFC
    Réponses: 11
    Dernier message: 18/12/2003, 09h44
  2. Ouverture de fichier en api
    Par Michaël dans le forum Windows
    Réponses: 9
    Dernier message: 10/12/2003, 16h47
  3. Ouverture de fichier
    Par Ricou.13 dans le forum VBA Access
    Réponses: 3
    Dernier message: 07/10/2003, 08h59
  4. Réponses: 2
    Dernier message: 26/02/2003, 15h18
  5. [VBA-E] Evenement ouverture de fichier
    Par gjeff dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 13/12/2002, 09h42

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