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 :

Attribuer la valeur d'une variable à un fichier txt,VBScript


Sujet :

VBScript

  1. #1
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Février 2008
    Messages : 73
    Points : 52
    Points
    52
    Par défaut Attribuer la valeur d'une variable à un fichier txt,VBScript
    Bonjour !
    J'ai un petit prob....
    Je n'arrive pas à remplacer la valeur contenue dans un fichier txt par la valeur d'une de mes variable "cpt".

    Voici le code :

    function GetFile (FileName)
    If FileName<>"" Then
    Dim FS, FileStream
    Set FS = CreateObject("Scripting.FileSystemObject")
    on error resume Next
    Set FileStream = FS.OpenTextFile(FileName)
    GetFile = FileStream.ReadAll
    End If
    End Function
    function GetExtension (File)
    Dim fso
    Set fso = CreateObject("Scripting.FileSystemObject")
    GetExtention = fso.GetExtensionName(File)
    end function

    '____________________________________________



    Dim fso, f, f1, sf, fc, file, nomfichier, cpt, oFso, fo
    Const ForReading = 1, ForWriting = 2

    Set fso = CreateObject("Scripting.FileSystemObject")
    Set f = fso.GetFolder("M:\VBS\test")
    Set fc = f.Files

    Set f = fso.GetFolder(f)
    Set fc = f.Files


    Set oFso = CreateObject("Scripting.FileSystemObject")
    Set fo = oFso.OpenTextFile("M:\VBS\cpt.txt", ForReading)
    while Not fo.AtEndOfStream
    wscript.echo fo.ReadLine
    cpt= fo.ReadLine
    Wend


    For Each f2 in fc
    file = f2
    'lis un fichier txt
    FileContents = GetFile(file)
    if Len(month(now())) = 1 then
    mois = "0" & month ((now()))
    'wscript.echo "le jour du mois est inférieur à 10" 'test
    else
    mois = month((now()))
    End if

    datejour = cpt & "_" &year(now()) & mois & day(now()) & f2.name
    f2.name = datejour
    cpt = cpt+1
    Next
    wscript.echo "Terminé" ' test
    wscript.echo cpt 'test

    'fo.ReadLine = cpt !!!! ici est le problème je veux mettre la valeur de mon compteur dans le chiffre qui est dans le fichier txt
    fo.Close

    Merci d'avance
    a++ (le ++ ne correspond pas à une incrémentation !! )

  2. #2
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'fo.ReadLine = cpt  !!!! ici est le problème je veux mettre la valeur de mon compteur dans le chiffre qui est dans le fichier txt
    Là c'est avant tout un problème de logique.
    Lis ta ligne, traduis là en français, poste ce que tu as traduit, et dis moi si cela te parais logique.

    Après avoir fait cela je pourrais t'aider, et seulement après.

    Pendant qu'on y est, dis moi ce que tu penses qu'est FileSystemObject et ce qu'est ReadLine.

    As tu lu une doc sur FileSystemObject ?
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  3. #3
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Février 2008
    Messages : 73
    Points : 52
    Points
    52
    Par défaut Compris Chef
    Salut !
    Tout d'abord merci...
    J'ai résolu mon problème seul.
    Mon pti bout de code fonctionne mais j'imagine que sa doit être un peut le désordre !

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    function GetFile (FileName)
      If FileName<>"" Then
            Dim FS, FileStream
            Set FS = CreateObject("Scripting.FileSystemObject")
            on error resume Next
            Set FileStream = FS.OpenTextFile(FileName)
            GetFile = FileStream.ReadAll
      End If
            End Function
    function GetExtension (File)
            Dim fso
            Set fso = CreateObject("Scripting.FileSystemObject")
            GetExtention = fso.GetExtensionName(File)
    end function
     
    '____________________________________________
     
     
     
    Dim fso, f, f1, sf, fc, file, nomfichier, cpt, oFso, fo,AncienCpt, diffCpt
    Const ForReading = 1, ForWriting = 2
     
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set f = fso.GetFolder("M:\VBS\test")
    Set fc = f.Files
     
    Set  f = fso.GetFolder(f)
    Set fc = f.Files
     
     
            Set oFso = CreateObject("Scripting.FileSystemObject")
            Set fo = oFso.OpenTextFile("M:\VBS\cpt.txt", ForReading)
            while Not fo.AtEndOfStream
                    wscript.echo fo.ReadLine
                    cpt= fo.ReadLine
                    AncienCpt = cpt
                    wscript.echo cpt ' affichage du cpt avant incrémentation
            Wend
               fo.Close ' je ferme le fichier et le reouvre en-bas
     
    For Each f2 in fc
                    file = f2
                    'lis un fichier txt
                    FileContents = GetFile(file)
            if Len(month(now())) = 1 then
                    mois = "0" & month ((now()))
                    'wscript.echo "le jour du mois est inférieur à 10"
            else
                    mois = month((now()))
            End if
     
            datejour = cpt & "_" &year(now()) & mois & day(now()) & f2.name
            f2.name = datejour
            cpt = cpt+1
    Next
       wscript.echo "Terminé"
       diffCpt = cpt - AncienCpt
       wscript.echo "la compteur a été incrémenté de : " & diffCpt & " points"
       wscript.echo "Il vaut actuellement : " & cpt & " points"
       '-------------------------------------------------------------
           'déclaration file system object
    Dim x
     
    'instanciation
    Set x = CreateObject("Scripting.FileSystemObject")
     
    'on instance le fichier texte dans lequel on veut ecrire
    Set Ftxt =  x.createTextFile("M:\VBS\cpt.txt",true) 'true=ecrase
     
    Ftxt.writeline ("Le compteur est à :")
    Ftxt.writeline (cpt)
    Ftxt.Close
     
       ' FIN
       ' le fichier texte attaché et le "cpt.txt"
    '_________________________________________________________________
    Merci
    a+

  4. #4
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    C'est mieux d'utiliser le writeline en effet !!!!

    Readline ne fait que lire.

    Mais j'ai quand même l'impression qu'il te manque des bases, tu lires la FAQ VBS, cela t'aiderais je pense.
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  5. #5
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Février 2008
    Messages : 73
    Points : 52
    Points
    52
    Par défaut
    Oui tu as raison !
    merci
    a+

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

Discussions similaires

  1. Envoyer la valeur d'une variable de ma fonction JS vers un fichier PHP
    Par wperes dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 18/10/2008, 21h07
  2. Changer dans un fichier la valeur d'une variable
    Par platax dans le forum Langage
    Réponses: 3
    Dernier message: 16/10/2008, 15h07
  3. Réponses: 4
    Dernier message: 04/08/2007, 17h04
  4. Réponses: 2
    Dernier message: 22/05/2007, 16h18
  5. Réponses: 2
    Dernier message: 08/06/2006, 13h48

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