Pb memoire variables

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
david
Messages : 208
Inscription : jeu. 03/févr./2005 21:10

Pb memoire variables

Message par david »

J'ai tapé le code suivant avec PureBasic :

If ReadFile(0, "eff.prefs")
While Eof(0) = 0
Nom1$ = ReadString()
Chemin1$ =ReadString()
Ptf1$ = ReadString()
Nom2$ = ReadString()
Chemin2$ =ReadString()
Ptf2$ = ReadString()
Nom3$ = ReadString()
Chemin3$ =ReadString()
Ptf3$ = ReadString()
Wend
CloseFile(0)
Else
MessageRequester("Message", "Le système n'a pas pu être paramétré...", #MB_ICONERROR)
End
EndIf


Mon fichier "Eff.prefs" est un fichier texte reprenant les informations a inculres dans mes variables.

Tout fonctionne très bien, mis à part qu'au delà de neuf variables plus rien ne va
Que faire pour pallier à ce pb ????
brossden
Messages : 833
Inscription : lun. 26/janv./2004 14:37

Message par brossden »

Bonjour

Je ne vois pas où tu as un problème ?

J'ai fait un prog qui crée le fichier si celui la n'exite pas !

Code : Tout sélectionner

CreateFile(0, "eff.prefs")

WriteStringN("toto")
WriteStringN("c:\")
WriteStringN("1")
WriteStringN("tata")
WriteStringN("d:\")
WriteStringN("2")
WriteStringN("titi")
WriteStringN("f:\")
WriteStringN("3")
WriteStringN("tutu")
WriteStringN("g:\")
WriteStringN("4")
WriteStringN("tete")
WriteStringN("h:\")
WriteStringN("5")
WriteStringN("tyty")
WriteStringN("i:\")
WriteStringN("6")

CloseFile(0)
puis j'ai essayé de comprendre ce qui ne fonctionne pas avec deux possibilités

Code : Tout sélectionner

If ReadFile(0, "eff.prefs") 
  Debug "Cas 1"
  Debug " "

  While Eof(0) = 0 
    Nom1$ = ReadString()
    Chemin1$ =ReadString() 
    Ptf1$ = ReadString() 
    Nom2$ = ReadString() 
    Chemin2$ =ReadString() 
    Ptf2$ = ReadString() 
    Nom3$ = ReadString() 
    Chemin3$ =ReadString() 
    Ptf3$ = ReadString() 
    Debug Nom1$ + "   " + Chemin1$ + "   " + Ptf1$
    Debug Nom2$ + "   " + Chemin2$ + "   " + Ptf2$
    Debug Nom3$ + "   " + Chemin3$ + "   " + Ptf3$  
  Wend 

  CloseFile(0)

  ReadFile(0, "eff.prefs")

  Debug " "
  Debug "Cas 2"
  Debug" "

  While Eof(0) = 0 
    Nom1$ = ReadString() 
    Chemin1$ =ReadString() 
    Ptf1$ = ReadString() 
    Nom2$ = ReadString() 
    Chemin2$ =ReadString() 
    Ptf2$ = ReadString() 
    Nom3$ = ReadString() 
    Chemin3$ =ReadString() 
    Ptf3$ = ReadString() 
    Nom4$ = ReadString() 
    Chemin4$ =ReadString() 
    Ptf4$ = ReadString() 
    Nom5$ = ReadString() 
    Chemin5$ =ReadString() 
    Ptf5$ = ReadString() 
    Nom6$ = ReadString() 
    Chemin6$ =ReadString() 
    Ptf6$ = ReadString() 

    Debug Nom1$ + "   " + Chemin1$ + "   " + Ptf1$
    Debug Nom2$ + "   " + Chemin2$ + "   " + Ptf2$
    Debug Nom3$ + "   " + Chemin3$ + "   " + Ptf3$  
    Debug Nom4$ + "   " + Chemin4$ + "   " + Ptf4$
    Debug Nom5$ + "   " + Chemin5$ + "   " + Ptf5$
    Debug Nom6$ + "   " + Chemin6$ + "   " + Ptf6$  
    Wend 
  CloseFile(0)
  
Else 
  MessageRequester("Message", "Le système n'a pas pu être paramétré...", #MB_ICONERROR) 
  End 
EndIf 
Dans les deux cas tout semble bien fonctinner
si je suis passé à coté du problème, donne moi d'autre explications !
Denis

Bonne Jounée à tous
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

le problème, je l'ai déjà dis, c'est cette boucle while eof(0)

car ton fichier de preférence se termine par une ligne vide donc on fait un tour de boucle supplémentaire pour lire celle-ci. du coup, ça écrase toutes les valeurs lues.

Il faut la supprimer
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Répondre