URGENT pour .txt

Signaler
Messages postés
236
Date d'inscription
jeudi 31 octobre 2002
Statut
Membre
Dernière intervention
18 août 2006
-
Messages postés
100
Date d'inscription
vendredi 2 juillet 2004
Statut
Membre
Dernière intervention
25 mai 2019
-
Comment ouvrir un fichier txt pour lire les 2 premières lignes (input) et modifier le 2e ligne (output) ?

si je met ca:

Open "Fich.txt" For Input As #1
Line Input #1, Var1: Line Input #1, Var2
Open "Fich.txt" For Output As #1
Print #1, "modification"
Close #1

ils me mettent "File already open"

et comment passer des lignes sans les lire ? ( je m'en fous de Var1 et VAr2 )

8 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
125
Salut,

C'est normal qu'il te dise que le fichier est déjà ouvert, car tu attribut un seul numéro pour 2 ouvertures du même fichier. Fais plutôt ca :

Open "Fich.txt" For Input As #1
Line Input #1, Var1: Line Input #1, Var2
Close #1

Open "Fich.txt" For Output As #1
Print #1, "modification"
Close #1

Pour sauter une ligne tu utilise la bonne fonction : faire des Line Input tout simplement.

DARK SIDIOUS
Messages postés
236
Date d'inscription
jeudi 31 octobre 2002
Statut
Membre
Dernière intervention
18 août 2006

Merci pout ta réponse mais tu m'as pas compris
je ve écrire "modification" à LA SUITE de 2 premières lignes...
sans les effacer...
Messages postés
122
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
8 août 2014
1
Si ton fichier txt est petit , ouvre le fichier avec l'indice 1 (pour la lecture) et ouvre un fichier destination avec l'indice 2 pour écrire les informations que tu souhaites:

open "fich.txt" for input as #1
open "fich2.txt" for output as #2
line input #1,Var1
line input #1,Var2
print #2,var1
print #2,var2
print #2,"Modification"
close #1
close #2

et tu renomes le fichier de sortie comme tu le souhaites.
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
125
Et bien à ce moment là, il te faut charger tes deux lignes dans des variables, puis faire tes modifications au niveau de la variables correspondant à ta deuxième ligne, puis sauvegarder le tout à nouveau dans l'ordre.

DARK SIDIOUS
Messages postés
236
Date d'inscription
jeudi 31 octobre 2002
Statut
Membre
Dernière intervention
18 août 2006

Salut!
Tu pe pas me montrer un exemple précis ?
D'avance merci
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
125
Ben, fait comme tu as fait tout as l'heure pour charger les deux premières lignes de ton fichier.

Open "Fich.txt" For Input As #1
Line Input #1, STR_Texte1
Line Input #1, STR_Texte2
Close #1

Ensuite, tu fais les modifications que tu veux. Par exemple, si ta deuxième ligne est stockée dans la variable STR_Texte2, et que tu veux rajouter "Bonjour" devant la ligne, il te suffit de taper ceci :

STR_Texte2 = "Bonjour" & STR_Texte2

Puis tu n'a plus qu'à sauvegarder ton fichier par :

Open "Fich.txt" For Output As #1
Print #1, STR_Texte1
Print #1, STR_Texte2
Close #1

Par contre, si tu veux sauvegarder ton fichier identique à celui de départ, mais en changeant uniquement la deuxième ligne, il faut que tu charge toutes les autres lignes dans un contrôle TextBox.

Pour plus d'info, réponds à ce message

DARK SIDIOUS
Messages postés
236
Date d'inscription
jeudi 31 octobre 2002
Statut
Membre
Dernière intervention
18 août 2006

Merci je pense que ca va aller
mais en fait j'espérer qu'on pourrait faire une commande genre :

Open Fich.txt For Input and Ouput as #1
Line Input #1, Var1
Print #1, "Modifivation"
...
Merci pour le temps que tu a pris !
Messages postés
100
Date d'inscription
vendredi 2 juillet 2004
Statut
Membre
Dernière intervention
25 mai 2019

voici une meilleur facon


Dim StrData as string
open "Fichier.txt" for input as #1
do until EOF(1)
line Input #1, StrData
tex1.text = text1.text + StrData + vbcrlf
Close #1

[green]L'informatique c'est cool Mais Une erreur peu etre fatale.[:D][:D]/green