begin process at 2008 05 17 21:56:39
1 174 353 membres
460 nouveaux aujourd'hui
13 975 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Enregistrer changement dans un texte [ Scripting / VBScript ] (roro59650)

Enregistrer changement dans un texte le 11/05/2007 17:26:51

roro59650
Bonjour bonjour,
Voila, aujourd'hui, je travaille sur un fichier .txt tout con. J'ai un problème tout con aussi :
Comment enregistrer mes modifications??
------------------------------------------------------------
    Set objFso = CreateObject("Scripting.FileSystemObject")
    Set expr = objFso.OpenTextFile (Server.MapPath("Chemain\Texte.txt"))
    Do While Not expr.AtEndOfStream
        Test = Replace (expr,"#COUNTRY#","France")
    Loop
------------------------------------------------------------

Voila voila.
Je n'oublie pas qu'après j'utilise les nothing. Mais il me faut juste pouvoir enregistrer ces modifications.
Désolé de ma bétise et merci d'avance!!

Roro


Re : Enregistrer changement dans un texte le 11/05/2007 21:47:35

Nurgle
Membre Club
(Admin CS)
Salut,
Là dans ton code, expr n'est pas une chaine de caractères !! Donc faire un Replace dessus ne va pas avoir beaucoup d'effets sur le fichier texte... (d'ailleurs ça m'étonne qu'il ne te claque pas une erreur...)

La méthode OpenTextFile te renvoie un objet de type TextStream. Tu dois donc faire :
expr.Read(nb) ou expr.ReadLine() ou expr.ReadAll() pour lire le contenu du fichier
ou
expr.Write(nb) ou expr.WriteLine() pour écrire dedans...
(ou "nb" correspond au nombre de caractères à lire/écrire)
Et n'oublie pas à la fin un expr.Close() avant de faire le Set expr = Nothing !

cf : la doc

A++


Nurgle (Antoine) - MSP

Re : Enregistrer changement dans un texte le 14/05/2007 10:31:30

roro59650
Salut,
En fait, je me suis un peu trompé dans le code, le vrai, j'ai mis ça :
------------------------------------------------------------
    Set objFso = CreateObject("Scripting.FileSystemObject")
    Set expr = objFso.OpenTextFile (Server.MapPath("Chemain\Texte.txt"))
    Do While Not expr.AtEndOfStream
        Test = expr.ReadLine
        Test = Replace (Test,"#COUNTRY#","France")
    Loop
    expr.Close
------------------------------------------------------------
J'ai essayé de mettre le .WriteLine Juste après le Test = Replace :
    expr.WriteLine (Test)

Enfin, toujours est-il que je n'ai que trop peu dormi, et que je ne trouve pas pourquoi ça m'indique cette erreur :

    Microsoft VBScript runtime error '800a0036'

    Bad file mode

La ligne est la ligne où j'ai mis le .Writeline
Merci d'avance,

Roro!

Re : Enregistrer changement dans un texte le 14/05/2007 17:07:39

Nurgle
Membre Club
(Admin CS)
Réponse acceptée !
Le "Bad file mode" indique que tu n'as pas ouvert le fichier en écriture/modification mais seulement en lecture.

Essaye objFso.OpenTextFile (Server.MapPath("Chemain\Texte.txt"),8)

Ce paramètre à 3 valeurs possibles :
- 1 pour Lecture (par défaut)
- 2 pour Ecriture (écrase tout le fichier)
- 8 pour Ajout (ajoute des données à la fin du fichier)

La commande a également encore 2 arguments optionnels, cf MSDN Library : OpenTextFile Method.

Bonne journée,
A++


Nurgle (Antoine) - MSP

Re : Enregistrer changement dans un texte le 15/05/2007 10:10:09

roro59650
Ok, merci beaucoup!
Grâce à toi, ces portes plus que verrouillées se sont ouvertes!
Longue vie à Nurgle, lol!
Allez, bonne journée, et merci encore!!


Classé sous : enregistrer, texte, txt, changement, expr

Participer à cet échange

Appels d'offres

Pub



CalendriCode

Mai 2008
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS