OVH Cloud OVH Cloud

Lecture d'un fichier txt

24 réponses
Avatar
yannick
Bonjour et bonne année à tous,
j'ai un fichier txt (pas de separateurs de champs, longeur fixe) et
j'aimerais mettre "E" à la position 784 pour chaque ligne.
je pense l'importer dans une base mdb puis l'exporter.
Je voudrais savoir quelle est l'instruction VB pour un format de longeur fixe?
Je sais que la posistion 1 c'est tel champs , la 9 un autre etc...
Ou peut-on ecrire d'irectement dans ce fichier txt ?

Merci pour les reponses.

Yannick

10 réponses

1 2 3
Avatar
LE TROLL
Salut,

Si le fichier txt est petit, ça va aussi vite de le faire à la main,
sinon:

Comme les datas sont fixes (dis-tu), tu peux accéder à l'octet en
écrivant en mode binaire:

Dim p1 As Integer
Dim i As Long
ChDrive App.Path
ChDir App.Path
p1 = FreeFile
Open "nomFichier.txt" For Binary As p1
for i = 1 to nombreD'enregistrement
Put p1, (784 * i), "E"
next i
close p1

Je ne crois pas qu'il y ait d'autres façons de modifier un fichier en VB/Dos
(pas de mode "modif" hélas)...
Ou il faut lire le fichier, modifier par variable et réécrire ailleurs, puis
renommer dans le fichier initial, et supprimer le doublon...
Si ça ne marche pas utilise des variables à la place des calculs pour passe
les paramètres:
Dim p2 As Long
Dim o As String * 1
p = 784 * i
o = "E"
Put p1, p, o
---------

"yannick" a écrit dans le message de
news:
Bonjour et bonne année à tous,
j'ai un fichier txt (pas de separateurs de champs, longeur fixe) et
j'aimerais mettre "E" à la position 784 pour chaque ligne.
je pense l'importer dans une base mdb puis l'exporter.
Je voudrais savoir quelle est l'instruction VB pour un format de longeur
fixe?
Je sais que la posistion 1 c'est tel champs , la 9 un autre etc...
Ou peut-on ecrire d'irectement dans ce fichier txt ?

Merci pour les reponses.

Yannick



Avatar
Jean-Marc
"yannick" a écrit dans le message de
news:
Bonjour et bonne année à tous,
j'ai un fichier txt (pas de separateurs de champs, longeur fixe) et
j'aimerais mettre "E" à la position 784 pour chaque ligne.
je pense l'importer dans une base mdb puis l'exporter.
Je voudrais savoir quelle est l'instruction VB pour un format de longeur


fixe?
Je sais que la posistion 1 c'est tel champs , la 9 un autre etc...
Ou peut-on ecrire d'irectement dans ce fichier txt ?



Hello,

Si les record sont organisés en lignes, alors c'est tout simple. Lire le
fichier ligne par ligne, puis pour écrire à la position 784, faire ceci:

soit s la chaine de caractere qui contient la ligne.
mid$(s,784,1) = "E"

Il ne reste plus qu'à réécrire dans un second fichier les lignes ainsi
modifiées. Ensuite, on écrase le fichier original et on renomme le nouveau
fichier avec le nom de l'original.

On pourrait directement écrire dans le fichier original, mais bof.. je
préfère passer par un fichier intermédiaire. C'est juste une affaire de
gout.

Si tu veux des détails, voir l'aide de l'instruction "Open".
Mode Texte si tes records sont en lignes, mode Binary sinon.

hmm... pas sur que je sois très clair...

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
Avatar
Jean-Marc
"yannick" a écrit dans le message de
news:
Bonjour et bonne année à tous,
j'ai un fichier txt (pas de separateurs de champs, longeur fixe) et
j'aimerais mettre "E" à la position 784 pour chaque ligne.
je pense l'importer dans une base mdb puis l'exporter.
Je voudrais savoir quelle est l'instruction VB pour un format de longeur


fixe?
Je sais que la posistion 1 c'est tel champs , la 9 un autre etc...
Ou peut-on ecrire d'irectement dans ce fichier txt ?



Hello,

Si les record sont organisés en lignes, alors c'est tout simple. Lire le
fichier ligne par ligne, puis pour écrire à la position 784, faire ceci:

soit s la chaine de caractere qui contient la ligne.
mid$(s,784,1) = "E"

Il ne reste plus qu'à réécrire dans un second fichier les lignes ainsi
modifiées. Ensuite, on écrase le fichier original et on renomme le nouveau
fichier avec le nom de l'original.

On pourrait directement écrire dans le fichier original, mais bof.. je
préfère passer par un fichier intermédiaire. C'est juste une affaire de
gout.

Si tu veux des détails, voir l'aide de l'instruction "Open".
Mode Texte si tes records sont en lignes, mode Binary sinon.

hmm... pas sur que je sois très clair...

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
Avatar
yannick
Merci LE TROLL,
J'ai essaye, cela ecrit bien dans le fichier mais pas à la bonne position,
le premier E
est à la ligne 19 position 66 le deuxieme ligne 25 position 88 le troisieme
ligne 31 position 110........

Sinon comment savoir le nombre d'enregistrement pour la boucle car mon
fichier varie

Merci pour tes lumieres.

@+

Yannick


"LE TROLL" a écrit :

Salut,

Si le fichier txt est petit, ça va aussi vite de le faire à la main,
sinon:

Comme les datas sont fixes (dis-tu), tu peux accéder à l'octet en
écrivant en mode binaire:

Dim p1 As Integer
Dim i As Long
ChDrive App.Path
ChDir App.Path
p1 = FreeFile
Open "nomFichier.txt" For Binary As p1
for i = 1 to nombreD'enregistrement
Put p1, (784 * i), "E"
next i
close p1

Je ne crois pas qu'il y ait d'autres façons de modifier un fichier en VB/Dos
(pas de mode "modif" hélas)...
Ou il faut lire le fichier, modifier par variable et réécrire ailleurs, puis
renommer dans le fichier initial, et supprimer le doublon...
Si ça ne marche pas utilise des variables à la place des calculs pour passe
les paramètres:
Dim p2 As Long
Dim o As String * 1
p = 784 * i
o = "E"
Put p1, p, o
---------

"yannick" a écrit dans le message de
news:
> Bonjour et bonne année à tous,
> j'ai un fichier txt (pas de separateurs de champs, longeur fixe) et
> j'aimerais mettre "E" à la position 784 pour chaque ligne.
> je pense l'importer dans une base mdb puis l'exporter.
> Je voudrais savoir quelle est l'instruction VB pour un format de longeur
> fixe?
> Je sais que la posistion 1 c'est tel champs , la 9 un autre etc...
> Ou peut-on ecrire d'irectement dans ce fichier txt ?
>
> Merci pour les reponses.
>
> Yannick
>





Avatar
yannick
Merci Jean-Marc,
je n' y arrive pas j'ai une erreur d'incompatibilte sur mid$(s,784,1) = "E"

@+

Yannick

"Jean-Marc" a écrit :

"yannick" a écrit dans le message de
news:
> Bonjour et bonne année à tous,
> j'ai un fichier txt (pas de separateurs de champs, longeur fixe) et
> j'aimerais mettre "E" à la position 784 pour chaque ligne.
> je pense l'importer dans une base mdb puis l'exporter.
> Je voudrais savoir quelle est l'instruction VB pour un format de longeur
fixe?
> Je sais que la posistion 1 c'est tel champs , la 9 un autre etc...
> Ou peut-on ecrire d'irectement dans ce fichier txt ?

Hello,

Si les record sont organisés en lignes, alors c'est tout simple. Lire le
fichier ligne par ligne, puis pour écrire à la position 784, faire ceci:

soit s la chaine de caractere qui contient la ligne.
mid$(s,784,1) = "E"

Il ne reste plus qu'à réécrire dans un second fichier les lignes ainsi
modifiées. Ensuite, on écrase le fichier original et on renomme le nouveau
fichier avec le nom de l'original.

On pourrait directement écrire dans le fichier original, mais bof.. je
préfère passer par un fichier intermédiaire. C'est juste une affaire de
gout.

Si tu veux des détails, voir l'aide de l'instruction "Open".
Mode Texte si tes records sont en lignes, mode Binary sinon.

hmm... pas sur que je sois très clair...

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."





Avatar
ng
Salut,

Peut-on voir ton code ?

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

yannick wrote:
Merci Jean-Marc,
je n' y arrive pas j'ai une erreur d'incompatibilte sur mid$(s,784,1)
= "E"

@+

Yannick

"Jean-Marc" a écrit :

"yannick" a écrit dans le
message de news:
Bonjour et bonne année à tous,
j'ai un fichier txt (pas de separateurs de champs, longeur fixe) et
j'aimerais mettre "E" à la position 784 pour chaque ligne.
je pense l'importer dans une base mdb puis l'exporter.
Je voudrais savoir quelle est l'instruction VB pour un format de
longeur fixe? Je sais que la posistion 1 c'est tel champs , la 9 un
autre etc...
Ou peut-on ecrire d'irectement dans ce fichier txt ?



Hello,

Si les record sont organisés en lignes, alors c'est tout simple.
Lire le fichier ligne par ligne, puis pour écrire à la position 784,
faire ceci:

soit s la chaine de caractere qui contient la ligne.
mid$(s,784,1) = "E"

Il ne reste plus qu'à réécrire dans un second fichier les lignes
ainsi modifiées. Ensuite, on écrase le fichier original et on
renomme le nouveau fichier avec le nom de l'original.

On pourrait directement écrire dans le fichier original, mais bof..
je préfère passer par un fichier intermédiaire. C'est juste une
affaire de gout.

Si tu veux des détails, voir l'aide de l'instruction "Open".
Mode Texte si tes records sont en lignes, mode Binary sinon.

hmm... pas sur que je sois très clair...

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."




Avatar
yannick
Bonjour ng,
je suis novice mais j'essaye de me depatouiller sous vb
voici mon code

Dim NomFic As String
Dim NoFic As Integer
Dim s As String

NoFic = FreeFile
NomFic = "articles.txt"
Open NomFic For Binary Access Read As NoFic

Do
If Loc(NoFic) = FileLen(NomFic) Then Exit Do
Mid$(s, 784, 1) = "E"
Line Input #NoFic, s

Loop
Close #NoFic

Merci pour ton aide

@+

Yannick



"ng" a écrit :

Salut,

Peut-on voir ton code ?

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

yannick wrote:
> Merci Jean-Marc,
> je n' y arrive pas j'ai une erreur d'incompatibilte sur mid$(s,784,1)
> = "E"
>
> @+
>
> Yannick
>
> "Jean-Marc" a écrit :
>
>> "yannick" a écrit dans le
>> message de news:
>>> Bonjour et bonne année à tous,
>>> j'ai un fichier txt (pas de separateurs de champs, longeur fixe) et
>>> j'aimerais mettre "E" à la position 784 pour chaque ligne.
>>> je pense l'importer dans une base mdb puis l'exporter.
>>> Je voudrais savoir quelle est l'instruction VB pour un format de
>>> longeur fixe? Je sais que la posistion 1 c'est tel champs , la 9 un
>>> autre etc...
>>> Ou peut-on ecrire d'irectement dans ce fichier txt ?
>>
>> Hello,
>>
>> Si les record sont organisés en lignes, alors c'est tout simple.
>> Lire le fichier ligne par ligne, puis pour écrire à la position 784,
>> faire ceci:
>>
>> soit s la chaine de caractere qui contient la ligne.
>> mid$(s,784,1) = "E"
>>
>> Il ne reste plus qu'à réécrire dans un second fichier les lignes
>> ainsi modifiées. Ensuite, on écrase le fichier original et on
>> renomme le nouveau fichier avec le nom de l'original.
>>
>> On pourrait directement écrire dans le fichier original, mais bof..
>> je préfère passer par un fichier intermédiaire. C'est juste une
>> affaire de gout.
>>
>> Si tu veux des détails, voir l'aide de l'instruction "Open".
>> Mode Texte si tes records sont en lignes, mode Binary sinon.
>>
>> hmm... pas sur que je sois très clair...
>>
>> --
>> Jean-marc
>> "There are only 10 kind of people
>> those who understand binary and those who don't."





Avatar
ng
Salut,

Line Input n'est pas très rapide, essaye plutot un code comme celui ci :

Option Explicit

Private Sub Form_Load()
Dim k As Integer, strBuffer As String, tblLine() As String

'//ouverture du fichier en mode binaire pour tout recupérer,
'// c'est plus rapide comme (surtout qu'on veut travailler sur chaque
ligne)

k = FreeFile
Open "c:1.txt" For Binary As #k
strBuffer = String$(LOF(k), vbNullChar)
Get #k, , strBuffer
Close #k

'//séparation en plusieurs lignes
tblLine = Split(strBuffer, vbCrLf): strBuffer = ""
'//puis on boucle sur chaque ligne
For k = 0 To UBound(tblLine)
'//vérifie si la ligne est assez grande,
'//tu peux l'enlever si tu es sur
'//que c'est tjrs le cas (mais attention
'//aux lignes vides !)
If Len(tblLine(k)) >= 784 Then
'//change le caractère 784
Mid$(tblLine(k), 784, 1) = "E"
End If
Next

'//on ecrit les modifs
k = FreeFile
Open "c:1.txt" For Output As #k
Print #k, Join(tblLine, vbCrLf);
Close #k

Erase tblLine

End Sub


--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

yannick wrote:
Bonjour ng,
je suis novice mais j'essaye de me depatouiller sous vb
voici mon code

Dim NomFic As String
Dim NoFic As Integer
Dim s As String

NoFic = FreeFile
NomFic = "articles.txt"
Open NomFic For Binary Access Read As NoFic

Do
If Loc(NoFic) = FileLen(NomFic) Then Exit Do
Mid$(s, 784, 1) = "E"
Line Input #NoFic, s

Loop
Close #NoFic

Merci pour ton aide

@+

Yannick



"ng" a écrit :

Salut,

Peut-on voir ton code ?

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

yannick wrote:
Merci Jean-Marc,
je n' y arrive pas j'ai une erreur d'incompatibilte sur
mid$(s,784,1) = "E"

@+

Yannick

"Jean-Marc" a écrit :

"yannick" a écrit dans le
message de
news:
Bonjour et bonne année à tous,
j'ai un fichier txt (pas de separateurs de champs, longeur fixe)
et j'aimerais mettre "E" à la position 784 pour chaque ligne.
je pense l'importer dans une base mdb puis l'exporter.
Je voudrais savoir quelle est l'instruction VB pour un format de
longeur fixe? Je sais que la posistion 1 c'est tel champs , la 9
un autre etc...
Ou peut-on ecrire d'irectement dans ce fichier txt ?



Hello,

Si les record sont organisés en lignes, alors c'est tout simple.
Lire le fichier ligne par ligne, puis pour écrire à la position
784, faire ceci:

soit s la chaine de caractere qui contient la ligne.
mid$(s,784,1) = "E"

Il ne reste plus qu'à réécrire dans un second fichier les lignes
ainsi modifiées. Ensuite, on écrase le fichier original et on
renomme le nouveau fichier avec le nom de l'original.

On pourrait directement écrire dans le fichier original, mais bof..
je préfère passer par un fichier intermédiaire. C'est juste une
affaire de gout.

Si tu veux des détails, voir l'aide de l'instruction "Open".
Mode Texte si tes records sont en lignes, mode Binary sinon.

hmm... pas sur que je sois très clair...

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."








Avatar
yannick
Merci cela fonctionne à condition que j'ouvre le fichier 1.txt manuellement
que j'appuie sur espace pour chaque ligne à la position 784.
Donc probleme.
Peut -on remplacer tous les vides dans le fichier par la valeur espace?
sachant que mon fichier s'arrete à la position 921.

Merci pour ton aide.

@+

Yannick




"ng" a écrit :

Salut,

Line Input n'est pas très rapide, essaye plutot un code comme celui ci :

Option Explicit

Private Sub Form_Load()
Dim k As Integer, strBuffer As String, tblLine() As String

'//ouverture du fichier en mode binaire pour tout recupérer,
'// c'est plus rapide comme (surtout qu'on veut travailler sur chaque
ligne)

k = FreeFile
Open "c:1.txt" For Binary As #k
strBuffer = String$(LOF(k), vbNullChar)
Get #k, , strBuffer
Close #k

'//séparation en plusieurs lignes
tblLine = Split(strBuffer, vbCrLf): strBuffer = ""
'//puis on boucle sur chaque ligne
For k = 0 To UBound(tblLine)
'//vérifie si la ligne est assez grande,
'//tu peux l'enlever si tu es sur
'//que c'est tjrs le cas (mais attention
'//aux lignes vides !)
If Len(tblLine(k)) >= 784 Then
'//change le caractère 784
Mid$(tblLine(k), 784, 1) = "E"
End If
Next

'//on ecrit les modifs
k = FreeFile
Open "c:1.txt" For Output As #k
Print #k, Join(tblLine, vbCrLf);
Close #k

Erase tblLine

End Sub


--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

yannick wrote:
> Bonjour ng,
> je suis novice mais j'essaye de me depatouiller sous vb
> voici mon code
>
> Dim NomFic As String
> Dim NoFic As Integer
> Dim s As String
>
> NoFic = FreeFile
> NomFic = "articles.txt"
> Open NomFic For Binary Access Read As NoFic
>
> Do
> If Loc(NoFic) = FileLen(NomFic) Then Exit Do
> Mid$(s, 784, 1) = "E"
> Line Input #NoFic, s
>
> Loop
> Close #NoFic
>
> Merci pour ton aide
>
> @+
>
> Yannick
>
>
>
> "ng" a écrit :
>
>> Salut,
>>
>> Peut-on voir ton code ?
>>
>> --
>> Nicolas G.
>> FAQ VB : http://faq.vb.free.fr
>> API Guide : http://www.allapi.net
>> Google Groups : http://groups.google.fr/
>> MZ-Tools : http://www.mztools.com/
>>
>> yannick wrote:
>>> Merci Jean-Marc,
>>> je n' y arrive pas j'ai une erreur d'incompatibilte sur
>>> mid$(s,784,1) = "E"
>>>
>>> @+
>>>
>>> Yannick
>>>
>>> "Jean-Marc" a écrit :
>>>
>>>> "yannick" a écrit dans le
>>>> message de
>>>> news:
>>>>> Bonjour et bonne année à tous,
>>>>> j'ai un fichier txt (pas de separateurs de champs, longeur fixe)
>>>>> et j'aimerais mettre "E" à la position 784 pour chaque ligne.
>>>>> je pense l'importer dans une base mdb puis l'exporter.
>>>>> Je voudrais savoir quelle est l'instruction VB pour un format de
>>>>> longeur fixe? Je sais que la posistion 1 c'est tel champs , la 9
>>>>> un autre etc...
>>>>> Ou peut-on ecrire d'irectement dans ce fichier txt ?
>>>>
>>>> Hello,
>>>>
>>>> Si les record sont organisés en lignes, alors c'est tout simple.
>>>> Lire le fichier ligne par ligne, puis pour écrire à la position
>>>> 784, faire ceci:
>>>>
>>>> soit s la chaine de caractere qui contient la ligne.
>>>> mid$(s,784,1) = "E"
>>>>
>>>> Il ne reste plus qu'à réécrire dans un second fichier les lignes
>>>> ainsi modifiées. Ensuite, on écrase le fichier original et on
>>>> renomme le nouveau fichier avec le nom de l'original.
>>>>
>>>> On pourrait directement écrire dans le fichier original, mais bof..
>>>> je préfère passer par un fichier intermédiaire. C'est juste une
>>>> affaire de gout.
>>>>
>>>> Si tu veux des détails, voir l'aide de l'instruction "Open".
>>>> Mode Texte si tes records sont en lignes, mode Binary sinon.
>>>>
>>>> hmm... pas sur que je sois très clair...
>>>>
>>>> --
>>>> Jean-marc
>>>> "There are only 10 kind of people
>>>> those who understand binary and those who don't."





Avatar
ng
???

je ne comprends plus très bien là ?
quel est ton format de fichier exactement ?
Et a quoi correspondent ce que tu appelles positions ?
Car mon code fonctionne parfaitement bien pour un fichier ayant des lignes
avec au mois 784 caractères...

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

yannick wrote:
Merci cela fonctionne à condition que j'ouvre le fichier 1.txt
manuellement que j'appuie sur espace pour chaque ligne à la position
784.
Donc probleme.
Peut -on remplacer tous les vides dans le fichier par la valeur
espace? sachant que mon fichier s'arrete à la position 921.

Merci pour ton aide.

@+

Yannick




"ng" a écrit :

Salut,

Line Input n'est pas très rapide, essaye plutot un code comme celui
ci :

Option Explicit

Private Sub Form_Load()
Dim k As Integer, strBuffer As String, tblLine() As String

'//ouverture du fichier en mode binaire pour tout recupérer,
'// c'est plus rapide comme (surtout qu'on veut travailler sur
chaque ligne)

k = FreeFile
Open "c:1.txt" For Binary As #k
strBuffer = String$(LOF(k), vbNullChar)
Get #k, , strBuffer
Close #k

'//séparation en plusieurs lignes
tblLine = Split(strBuffer, vbCrLf): strBuffer = ""
'//puis on boucle sur chaque ligne
For k = 0 To UBound(tblLine)
'//vérifie si la ligne est assez grande,
'//tu peux l'enlever si tu es sur
'//que c'est tjrs le cas (mais attention
'//aux lignes vides !)
If Len(tblLine(k)) >= 784 Then
'//change le caractère 784
Mid$(tblLine(k), 784, 1) = "E"
End If
Next

'//on ecrit les modifs
k = FreeFile
Open "c:1.txt" For Output As #k
Print #k, Join(tblLine, vbCrLf);
Close #k

Erase tblLine

End Sub


--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

yannick wrote:
Bonjour ng,
je suis novice mais j'essaye de me depatouiller sous vb
voici mon code

Dim NomFic As String
Dim NoFic As Integer
Dim s As String

NoFic = FreeFile
NomFic = "articles.txt"
Open NomFic For Binary Access Read As NoFic

Do
If Loc(NoFic) = FileLen(NomFic) Then Exit Do
Mid$(s, 784, 1) = "E"
Line Input #NoFic, s

Loop
Close #NoFic

Merci pour ton aide

@+

Yannick



"ng" a écrit :

Salut,

Peut-on voir ton code ?

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

yannick wrote:
Merci Jean-Marc,
je n' y arrive pas j'ai une erreur d'incompatibilte sur
mid$(s,784,1) = "E"

@+

Yannick

"Jean-Marc" a écrit :

"yannick" a écrit dans le
message de
news:
Bonjour et bonne année à tous,
j'ai un fichier txt (pas de separateurs de champs, longeur fixe)
et j'aimerais mettre "E" à la position 784 pour chaque ligne.
je pense l'importer dans une base mdb puis l'exporter.
Je voudrais savoir quelle est l'instruction VB pour un format de
longeur fixe? Je sais que la posistion 1 c'est tel champs , la 9
un autre etc...
Ou peut-on ecrire d'irectement dans ce fichier txt ?



Hello,

Si les record sont organisés en lignes, alors c'est tout simple.
Lire le fichier ligne par ligne, puis pour écrire à la position
784, faire ceci:

soit s la chaine de caractere qui contient la ligne.
mid$(s,784,1) = "E"

Il ne reste plus qu'à réécrire dans un second fichier les lignes
ainsi modifiées. Ensuite, on écrase le fichier original et on
renomme le nouveau fichier avec le nom de l'original.

On pourrait directement écrire dans le fichier original, mais
bof.. je préfère passer par un fichier intermédiaire. C'est
juste une affaire de gout.

Si tu veux des détails, voir l'aide de l'instruction "Open".
Mode Texte si tes records sont en lignes, mode Binary sinon.

hmm... pas sur que je sois très clair...

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."












1 2 3