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

VBScript Discussion :

Fichier : lire, écrire, modifier


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 17
    Par défaut Fichier : lire, écrire, modifier
    Bonjour,

    Je voudrais savoir d'abord comment ajouter une ligne à un fichier texte (à la fin)

    Ensuite, comment lire le fichier ou récupérer la première ligne, puis la supprimer et que la seconde devienne la première

    Mon but est de faire une sorte de liste d'attente, une liste de taches...avec un Timer je lis à interval de temps régulier la première ligne et m'exécute

    Je suis débutant en VBS et j'accepte tous les tutaux ;=)

    Merci !

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    ben voir la ...http://vb.developpez.com/faqvbs/

    En gros tu devrai

    1. Renommer le fichier en ".bak" grâce à la propriété name
    2. lire ligne à ligne le fichier .bak
    3. Traiter la 1° ligne lu
    4. Ecrire les autres lignes dans fichier modifier




  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 17
    Par défaut
    Avec ça, je récupére la première ligne...et l'ensemble du document sur une ligne, alors que je veux conserver les lignes

    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
     
    Dim OFS, oLigne
     
    Set OFS = CreateObject("Scripting.FileSystemObject") 
    Set oLigne = oFS.OpenTextFile("c:\fichier1.txt", 1)
     
    i=0
    reste=""
     
    Do While Not oLigne.AtEndOfStream
     
    sLigne = oLigne.ReadLine
     
    if i=0 Then
    ' Recupère première ligne
    afficher_message(sLigne)
    i=1
    Else
    ' Récupère les autres lignes
    reste = reste & sLigne
    End if
     
    Loop
     
    ' on enregistre....

  4. #4
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    et avec cela : Comment écrire dans un fichier texte ?

    tu peu écrire les autres lignes dans un nouveau fichier texte...

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 17
    Par défaut
    Qu'est ce qu'un fichier .bak et pourquoi l'utiliser ?

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 17
    Par défaut
    et avec cela : Comment écrire dans un fichier texte ?

    tu peu écrire les autres lignes dans un nouveau fichier texte...
    Dans ce cas, il faut que préalablement, j'enregistre dans un Array toutes mes lignes, puis après avec une boucle je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Const ForWriting = 2
       Dim fso, f   
     
       Set fso = CreateObject("Scripting.FileSystemObject")
       Set f = fso.OpenTextFile("c:\temp\ecr.txt", ForWriting,true)
    i=0
    Do While condition pour lire un tableau entierement...
       f.writeLine(Mon_tableau(i))
     
    i++
    Loop
    ou quelque chose comme ça ?

  7. #7
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    pas besoin de stocker les lignes tu peu les écrire directement...:

    Par exemple:
    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
     
    Dim OFS, oLigne
    Dim bLigne1lue 
    Dim sLigne 
    Const ForReading = 1, ForWriting = 2 
    Set oFSO = CreateObject("Scripting.FileSystemObject") 
    Set oFlu = oFSO.OpenTextFile("fichier1.txt", ForReading) 
    Set oFec = oFSO.OpenTextFile("fichier2.txt", ForWriting,true)
    bLigne1lue = False
     
    Do While Not oFlu.AtEndOfStream
      sLigne = oFlu.ReadLine
      if not bLigne1lue then
        Msgbox "1° ligne : " & sLigne
        bLigne1lue=True 'ça c'est FAIT
      else    
        ' Récupère les autres lignes
        oFec.WriteLine (sLigne)
      end if
    Loop
    oFlu.close
    oFec.close

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 17
    Par défaut
    Et avec tout çà on peux aussi éviter de changer de fichier :
    garder toujours 1

    Ou alors à la fin, fichier2 devient fichier1
    parce en fait, je réalise ce script avec un Timer, donc si je veux afficher les lignes suivantes, j'ai besoin qu'elleq se trouvent dans le fichier 1, et pas dans le fichier 2...

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

Discussions similaires

  1. [Encodage] Modifier (lire /écrire) un fichier .doc
    Par Génoce dans le forum Général Java
    Réponses: 6
    Dernier message: 07/07/2011, 10h11
  2. Lire et modifier les propriétés des fichiers Office
    Par SilkyRoad dans le forum Contribuez
    Réponses: 4
    Dernier message: 18/09/2006, 22h25
  3. lire/écrire un fichier stocké dans le JAR ?
    Par SheikYerbouti dans le forum Entrée/Sortie
    Réponses: 11
    Dernier message: 24/03/2006, 10h37
  4. lire / écrire dans un fichier excel au format xml
    Par crisflo dans le forum Format d'échange (XML, JSON...)
    Réponses: 7
    Dernier message: 28/01/2006, 10h50
  5. [AS400] Lire et modifier un fichier physique en C/S ?
    Par swirtel dans le forum Autres SGBD
    Réponses: 2
    Dernier message: 26/10/2005, 15h58

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