Page 1 sur 1

WriteStringN(#src, mot2$)

Publié : jeu. 29/déc./2011 12:14
par SPH

Code : Tout sélectionner

#src=0 
#dst=1

chemin$="c:\.Trash-999\"
  
If ReadFile(#dst, chemin$+"dico-aa")
  While Eof(#dst) = 0           ; loop as long the 'end of file' isn't reached
    mot$=ReadString(#dst)
    mot2$=Mid(mot$,2,Len(mot$)-1)
    a$=Left(mot$,1)
    
  If ReadFile(#src, chemin$+"dico-"+a$)
  While Eof(#src) = 0           ; loop as long the 'end of file' isn't reached
    mot3$=ReadString(#src)
    If mot3$=mot2$
      Goto ok45
    EndIf
  Wend
  WriteStringN(#src, mot2$);: Beep_(1500,5);
  ok45:
  CloseFile(#src)
EndIf


Wend
  ok60:
  CloseFile(#dst)
EndIf
Curieux, je n'arrive pas a trouver le bug qui mepeche "WriteStringN(#src, mot2$)" d'ecrire reelement le mot dans la suite du fichier...

Re: WriteStringN(#src, mot2$)

Publié : jeu. 29/déc./2011 15:10
par gnozal
ReadFile(#src, ...) ====> fichier ouvert en lecture !
Donc WriteStringN(#src, ...) ne peut qu'échouer ...

Code : Tout sélectionner

ReadFile()

Syntaxe

 Resultat = ReadFile(#Fichier, NomFichier$) 

Description

 Ouvre un fichier pour des opérations de lecture d'informations uniquement.
Essaie avec OpenFile(#src, ...).

Re: WriteStringN(#src, mot2$)

Publié : jeu. 29/déc./2011 21:12
par kernadec
c'est un hachoir que tu veux :D

Code : Tout sélectionner

#src=0 
#dst=1

chemin$="c:\PureBasic\dico-aa.txt"

If CreateFile(#dst, chemin$)       ; creation d'un fichier dico
  WriteStringN(#dst, "anticonstitutionnellement")
  CloseFile(#dst)
EndIf

Repeat	
  If ReadFile(#dst, chemin$)
    While Eof(#dst) = 0           ; loop as long the 'end of file' isn't reached
      mot$=ReadString(#dst)
      mot2$=Mid(mot$,2,Len(mot$)-1)
      a$=Left(mot$,1)
    Wend
    CloseFile(#dst)
    If OpenFile(#src, chemin$)
      While Eof(#src) = 0           ; loop as long the 'end of file' isn't reached
        mot3$=ReadString(#src)
        If mot3$=mot2$
          quit=1
          Break
        EndIf
      Wend
      If Eof(#src) = 0
        CloseFile(#src)
      Else
        WriteStringN(#src, mot2$);: Beep_(1500,5);
        CloseFile(#src)
      EndIf
    EndIf
  EndIf
Until quit=1
Cordialement

Re: WriteStringN(#src, mot2$)

Publié : ven. 30/déc./2011 0:18
par SPH
Haaaa! Ouf, merci bien les gars 8)

Re: WriteStringN(#src, mot2$)

Publié : sam. 31/déc./2011 13:36
par dayvid
Oui une erreur classique et courante, je l'es d’ailleurs faite ya très peut de temps aussi et j'ai juste mi deux heure (exagération) a piger le truc :lol:

Re: WriteStringN(#src, mot2$)

Publié : dim. 01/janv./2012 2:14
par SPH

Code : Tout sélectionner

 If OpenFile(#src, chemin$+Chr(96+ii)+Str(Len(mot$)+1))
 WriteStringN(#src, mot$)

Est-ce normal que ce code ne rajoute pas en fin de fichier le MOT$ ecrit avec WriteString ?

Re: WriteStringN(#src, mot2$)

Publié : dim. 01/janv./2012 12:09
par G-Rom
Aide a écrit :Pour ajouter des données à la fin d'un fichier existant il faut au préalable positionner le pointeur de lecture/écriture. Dans l'exemple qui suit les commandes FileSeek() et Lof() sont utilisées après OpenFile():

If OpenFile(0, "Test.txt") ; Ouvre un fichier existant ou en crée un nouveau s'il n'existait pas
FileSeek(0, Lof(0)) ; Place le pointeur à la fin du fichier en utilisant le résultat de Lof()
WriteStringN(0, "... une autre ligne à la fin du fichier.")
CloseFile(0)
EndIf
@+

Re: WriteStringN(#src, mot2$)

Publié : lun. 02/janv./2012 1:16
par SPH
Merci