Voila le petit prob :
le fichier test.txt va etre constituer de ca:
11
A
Il fait 7 octets. En faite, si on le represente comme il est :
11*
**
a*
Chaque etoile est en faite un caractere special ! Et chaque lettre correspond à 1 octet. (A verifier !)
Mon prob est que je veux ecrire du texte dans l'espace vide (4eme place) c'est à dire ici :
11
texte à ecrire ici
A
Mais, quand je mets un SEUL octet, une lettre avec writestring j'ai ca :
11
T*A
et la, l'etoile correspond au retour de chariot. Et la case n'est + respecter.
Donc si je fais ca avec writestringn j'ai ca :
11
T
et c'est tout !
De + je me demande, si c'est possible à faire, car comme le fichier ne fait que 7 octets, je ne peux peut etre pas rajouter + à l'interieur ?
modification de fichier
Bonjour tu as essayé cela :
Code : Tout sélectionner
Temps=400
;Création du fichier de base :
Debug "Création du fichier :"
CreateFile(1,"c:\test.txt")
WriteStringN("11")
WriteStringN(" ")
WriteStringN("a")
CloseFile(1)
Debug "Fait"
Debug ""
Delay(Temps)
;Lecture du fichier de base
Debug "Lecture du Fichier :"
Debug ""
OpenFile(1,"c:\test.txt")
While Eof(1)=0
Debug ReadString()
Wend
CloseFile(1)
Debug "Fait"
Delay(x)
;Modification fichier
Debug ""
Debug "Modification fichier"
Debug ""
OpenFile(1,"c:\test.txt")
FileSeek(4)
WriteString("T")
CloseFile(1)
Delay(Temps)
;Lecture du fichier modifié
Debug "Lecture du Fichier :"
Debug ""
OpenFile(1,"c:\test.txt")
While Eof(1)=0
Debug ReadString()
Wend
CloseFile(1)
Debug ""
Debug "Fini"
Denis
Bonne Jounée à tous
Bonne Jounée à tous
Merci pour le code !
Je viens de voir mon erreur, il s'agissait d'un espace ! Par contre, si :
11
A
12
si je veux remplacer A par "Ce", ca fait :
11
Ce#12
le # correspond au retour de chariot ! Quand je regarde dedans avec le bloc note je vois le symbol au lieu qu'il soit comme ceci :
11
Ce
12
Une idée d'ou cela peut venir ?
Je viens de voir mon erreur, il s'agissait d'un espace ! Par contre, si :
11
A
12
si je veux remplacer A par "Ce", ca fait :
11
Ce#12
le # correspond au retour de chariot ! Quand je regarde dedans avec le bloc note je vois le symbol au lieu qu'il soit comme ceci :
11
Ce
12
Une idée d'ou cela peut venir ?
Merci pour le code !
Je viens de voir mon erreur, il s'agissait d'un espace ! Par contre, si :
11
A
12
si je veux remplacer A par "Ce", ca fait :
11
Ce#12
le # correspond au retour de chariot ! Quand je regarde dedans avec le bloc note je vois le symbol au lieu qu'il soit comme ceci :
11
Ce
12
Une idée d'ou cela peut venir ?
Je viens de voir mon erreur, il s'agissait d'un espace ! Par contre, si :
11
A
12
si je veux remplacer A par "Ce", ca fait :
11
Ce#12
le # correspond au retour de chariot ! Quand je regarde dedans avec le bloc note je vois le symbol au lieu qu'il soit comme ceci :
11
Ce
12
Une idée d'ou cela peut venir ?
d'apres ce que j'ai compris tu as rencontré le même problème que moi ! Si tu regarde le sujet juste au dessous du tient...
voilà comment j'ai regler mon problème
en gros je lit toute les ligne et je les met dans un tableau temporaire
ensuite je le réécrit en inserant la ou je veux mon text et du coup plus de problème de caractère spécial ou bien de texte qui en recouvre un autre
voilà comment j'ai regler mon problème
Code : Tout sélectionner
Procedure WriteMameINI(name.s,key.s,val.s)
Dim tmp_line.s(1000)
l.l=0 ;
;key.s="hiscore_directory"
;val.s="TESTDEREMPLACEMENT"
OpenFile(0,"MAME.ini")
While Eof(0) = 0
l=l+1
tmp_line(l)=ReadString()
Wend
FileSeek(1)
Debug Str(l)
For z=1 To l
keyfound.s=Trim(Mid(tmp_line(z), 1, 24))
If keyfound=key
tmp_line(z)=keyfound+Space(24-Len(keyfound))+val
Debug Str(z)
EndIf
WriteStringN(tmp_line(z))
Next
CloseFile(0)
EndProcedure
ensuite je le réécrit en inserant la ou je veux mon text et du coup plus de problème de caractère spécial ou bien de texte qui en recouvre un autre