Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Rechercher et remplacer dans un fichier

3 réponses
Avatar
Adrien
Bonjour,

Je dois modifier un fichier texte en changeant une ligne. Ce fichier
contient plusieurs document, ici des factures, mis au format texte pour un
import export. Chaque document est rpéré par un drapeau contenant une chaine
de caractere spécifique (#CHLI)

Je dois modifier la cinquieme ligne apres le drapeau. En fait je dois
remplacer le contenu par une ligne vierge.

Le problème est que je connais très mal les accès et modifications des
fichiers textes. Je me tourne donc vers vous pour trouver une solution. en
effet, dans tout ce que j'ai essayé, j'ai une erreur du style: Mauvais mode
d'acces au fichier.

Là je ne sais plus trop comment faire alors je me tourne vers vous pour
esperer un peu d'aide.

Merci d'avance.

3 réponses

Avatar
Patrice Henrio
Dim AncienFichier as string, NouveauFichier as string, Ligne as long, Texte
as string, Lecture as long, Ecriture as long

AncienFichier= [nom du fichier original]
NouveauFichier = [Nom du fichier transformé] 'il doit être différent du
nom du premier fichier
Lecture = #1
Ecriture = #2
Open ancienFichier for input as Lecture
Open NouveauFichier for output as Ecriture
while not eof(Lecture)
Line input Lecture,Texte
If Left(Texte,5)="#CHLI" then
For Ligne = 2 to 5
Print Ecriture,texte
Line Input Lecture,Texte
Next Ligne
Texte = Space(80)
end if
Print Ecriture, texte
wend

Non testé mais marche à priori : il faut vérifier par une lecture avce le
bloc note que cela ne rajoute pas des

"Adrien" a écrit dans le message de news:

Bonjour,

Je dois modifier un fichier texte en changeant une ligne. Ce fichier
contient plusieurs document, ici des factures, mis au format texte pour un
import export. Chaque document est rpéré par un drapeau contenant une
chaine
de caractere spécifique (#CHLI)

Je dois modifier la cinquieme ligne apres le drapeau. En fait je dois
remplacer le contenu par une ligne vierge.

Le problème est que je connais très mal les accès et modifications des
fichiers textes. Je me tourne donc vers vous pour trouver une solution. en
effet, dans tout ce que j'ai essayé, j'ai une erreur du style: Mauvais
mode
d'acces au fichier.

Là je ne sais plus trop comment faire alors je me tourne vers vous pour
esperer un peu d'aide.

Merci d'avance.


Avatar
yogui74
Adrien a écrit le 10/01/2006 à 08h19 :
Bonjour,

Je dois modifier un fichier texte en changeant une ligne. Ce fichier
contient plusieurs document, ici des factures, mis au format texte pour un
import export. Chaque document est rpéré par un drapeau contenant
une chaine
de caractere spécifique (#CHLI)

Je dois modifier la cinquieme ligne apres le drapeau. En fait je dois
remplacer le contenu par une ligne vierge.

Le problème est que je connais très mal les accès et
modifications des
fichiers textes. Je me tourne donc vers vous pour trouver une solution. en
effet, dans tout ce que j'ai essayé, j'ai une erreur du style: Mauvais
mode
d'acces au fichier.

Là je ne sais plus trop comment faire alors je me tourne vers vous pour

esperer un peu d'aide.

Merci d'avance.


http://www.toocharger.com/fiches/logiciels/remplacechaineauto/36497.htm

A tester
Avatar
Jacquouille14
yogui74 a écrit :
Adrien a écrit le 10/01/2006 à 08h19 :
Bonjour,

Je dois modifier un fichier texte en changeant une ligne. Ce fichier
contient plusieurs document, ici des factures, mis au format texte pour un
import export. Chaque document est rpéré par un drapeau contenant
une chaine
de caractere spécifique (#CHLI)

Je dois modifier la cinquieme ligne apres le drapeau. En fait je dois
remplacer le contenu par une ligne vierge.

Le problème est que je connais très mal les accès et
modifications des
fichiers textes. Je me tourne donc vers vous pour trouver une solution. en
effet, dans tout ce que j'ai essayé, j'ai une erreur du style: Mauvais
mode
d'acces au fichier.

Là je ne sais plus trop comment faire alors je me tourne vers vous pour

esperer un peu d'aide.

Merci d'avance.


http://www.toocharger.com/fiches/logiciels/remplacechaineauto/36497.htm

A tester


Bonjour,
Il existe plusieurs types de fichiers qui sont définis à la création:
binaire, séquentiel, accés direct ...
Dans votre cas il s'agit je suppose d'un fichier séquentiel (dont les
données sont écrites les une après les autres, il est impossible
de réécrire une donnée mais possible d'ajouter des données en fin
de fichier).
solution: pour modifier dans le fichier A, créer un fichier B de même
type, écrire dans B les données de A jusqu'à la donnée précédent la
donnée à modifier, écrire dans B la nouvelle donnée, sauter dans A
la mauvaise donnée, écrire dans B toutes les données restantes de A.
Fermer A et B. Détruire A, renommer B en A.

Vous ne précisez pas la manière dont vous écrivez vos factures dans le
fichier. Vous pourriez utiliser une variable "structure" dont chaque
élément est un élément de facture dont la longueur en caractères est
fixe et déterminée par vous.
Ex: Public structure Mesfact
<VBfixedString(20) Public V1 as string 'variable V1
de 20 caractères
Public V13 as double 'variable nombre de 8 octets
...
End structure
Vous mettez dans la variable Mesfact tous les éléments possibles de vos
factures avec leur longueur max, chaque élément étant lui même une
variable.
Vous créez un fichier à accés direct, ce fichier ne peut contenir que
des éléments de même longueur, par ex des variables Mesfact.
Pour écrire une variable: compléter les éléments de Mesfact puis ouvrir
le fichier et écrire Mesfact à l'endroit du fichier choisi par vous
car chaque écriture dans le fichier est indexée:
1ère écriture: fileput(1, Mesfact, 50) ==>syntaxe à voir
Mesfact est écrit à la position 50, les 49 précédentes sont
créées automatiquement mais vides.
Autre écriture: fileput(1, Mesfact, 35) écriture en position 35
Pour modifier une facture la charger: fileget(1, Mesfact, 50), modifier
l'élément de Mesfact: Mesfact.V1="ABCDEF",
écrire: fileput(1, Mesfact, 50)

--
Jacques dit Jacquouille