WriteStringN(#src, mot2$)

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
SPH
Messages : 4937
Inscription : mer. 09/nov./2005 9:53

WriteStringN(#src, mot2$)

Message 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...

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
gnozal
Messages : 832
Inscription : mar. 07/déc./2004 17:35
Localisation : France
Contact :

Re: WriteStringN(#src, mot2$)

Message 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, ...).
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

Re: WriteStringN(#src, mot2$)

Message 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
Avatar de l’utilisateur
SPH
Messages : 4937
Inscription : mer. 09/nov./2005 9:53

Re: WriteStringN(#src, mot2$)

Message par SPH »

Haaaa! Ouf, merci bien les gars 8)

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
dayvid
Messages : 1242
Inscription : mer. 11/nov./2009 18:17
Localisation : Poitiers (Vienne)

Re: WriteStringN(#src, mot2$)

Message 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:
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
Avatar de l’utilisateur
SPH
Messages : 4937
Inscription : mer. 09/nov./2005 9:53

Re: WriteStringN(#src, mot2$)

Message 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 ?

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: WriteStringN(#src, mot2$)

Message 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
@+
Avatar de l’utilisateur
SPH
Messages : 4937
Inscription : mer. 09/nov./2005 9:53

Re: WriteStringN(#src, mot2$)

Message par SPH »

Merci

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Répondre