URGENT pour .txt

Guidelor Messages postés 236 Date d'inscription jeudi 31 octobre 2002 Statut Membre Dernière intervention 18 août 2006 - 27 déc. 2002 à 13:48
cs_Ulysse3 Messages postés 100 Date d'inscription vendredi 2 juillet 2004 Statut Membre Dernière intervention 25 mai 2019 - 13 mai 2005 à 12:41
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

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
27 déc. 2002 à 14:28
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
0
Guidelor Messages postés 236 Date d'inscription jeudi 31 octobre 2002 Statut Membre Dernière intervention 18 août 2006
27 déc. 2002 à 14:45
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...
0
cs_FPatrick Messages postés 122 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 8 août 2014 1
27 déc. 2002 à 15:02
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.
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
27 déc. 2002 à 15:02
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Guidelor Messages postés 236 Date d'inscription jeudi 31 octobre 2002 Statut Membre Dernière intervention 18 août 2006
27 déc. 2002 à 16:55
Salut!
Tu pe pas me montrer un exemple précis ?
D'avance merci
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
27 déc. 2002 à 17:11
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
0
Guidelor Messages postés 236 Date d'inscription jeudi 31 octobre 2002 Statut Membre Dernière intervention 18 août 2006
27 déc. 2002 à 21:56
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 !
0
cs_Ulysse3 Messages postés 100 Date d'inscription vendredi 2 juillet 2004 Statut Membre Dernière intervention 25 mai 2019
13 mai 2005 à 12:41
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
 
0