cs_eyya
Messages postés11Date d'inscriptiondimanche 9 janvier 2011StatutMembreDernière intervention31 mars 2011
-
4 mars 2011 à 08:51
billou_13
Messages postés860Date d'inscriptionjeudi 4 mars 2004StatutMembreDernière intervention19 août 2014
-
4 mars 2011 à 10:39
Bonjour à tous les membres
j'ai un fichier nommé Altracart.job dont le contenu est le suivant:
LABEL c:\Printer\500000A
SET Expire="2013-01"
SET Lot=201102011
SET ExpDate=130101
SET Counter=24
PRINT 1000
QUIT
Je veux modifier les deux champs "SET Counter" et "PRINT" par des nouvelles valeurs entrées par un utilisateur via une interface graphique.
J'ai essayé de faire ça mais mais quand je modifie ces deux champs j'ai aperçu que l'ancien contenu du fichier a été écrasé
Voici mon fichier après la modification
SET Counter=nouvelle valeur entréé
PRINT nouvelle valeur entrée
Maintenant, n'ayant personnellement rien eu à faire de plus qu'un vrai Append (écriture à partir de la fin d'un fichier), je doute sur le fait que la méthode la plus simple ne serait pas d'ouvrir le fichier en lecture et d'en créer un nouveau à côté (renommer en fin).
Peut-être même plus simple à coder.
Je te laisse voir et nous dire
Bonne journée,
Billou_13
--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
cs_eyya
Messages postés11Date d'inscriptiondimanche 9 janvier 2011StatutMembreDernière intervention31 mars 2011 4 mars 2011 à 09:58
Excuser moi pour le dérangement mais je n'arrive pas à spécifier les attributs de la méthode FileStraem.Seek(long,SeekOrigin)
Est-ce que je peux mettre ça:
FileStream.Seek(longeur de mon texte à remplacer,début de fichier)
billou_13
Messages postés860Date d'inscriptionjeudi 4 mars 2004StatutMembreDernière intervention19 août 201429 4 mars 2011 à 10:39
Salut,
Non, le premier paramètre long offset correspond comme dans la définition de la msdn à:
"Point par rapport au origin à partir duquel la recherche doit commencer." (pas très français tout ça ;p ).
En gros, c'est le déplacement du curseur d'écriture à effectuer à partir de la valeur de SeekOrigin (que tu as dû spécifier à SeekOrigin.Begin).
Le déplacement se compte en nombre de caractères (prendre en compte les sauts de ligne).
C'est pour cela que je parlais du fait de re-créer un fichier. Car c'est pas si simple que ça.
En plus, il te faudra insérer tes nouvelles valeurs et non écraser.
Pas simple tout ça !
Bonne journée,
Billou_13
--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------