Page 1 sur 1
[R] Problème FileOpen
Posté : dim. 24 janv. 2010 20:33
par badnolife
Bonsoir,
voila mon problème : j'aimerais créer une fonction qui modifie le contenu du fichier realmlist.wtf, dont l'emplacement est spécifié par l'utilisateur via la fonction "FileOpenDialog", puis enregistré dans un fichier ini. Le problème survient quand il faut modifier ce fichier. La fonction FileOpen me renvoie toujours -1 !
Voici mon code :
Code : Tout sélectionner
$File = IniRead($INISAVED, "Path", GuiCtrlRead($Combo), "")
$Open = FileOpen($File, 2)
If ($Open = -1) Then ;Problème lors de l'ouverture => MsgBox
MsgBox(0, "Erreur", "Impossible d'ouvrir le fichier")
Else ;Pas de problèmes, on écrit le fichier
$Write = FileWrite($Open, "Set Realmlist "&GuiCtrlRead($InputRealM))
EndIf
FileClose($Open)
Re: [..] Problème FileOpen
Posté : dim. 24 janv. 2010 22:05
par Tlem
Vraisemblablement un problème de chemin de fichier ou un problème d'accès au dossier.
Remplacez
$File par un truc simple pour contrôler.

Re: [..] Problème FileOpen
Posté : dim. 24 janv. 2010 23:04
par badnolife
Le chemin est complet, je l'ai vérifié à l'aide d'une MsgBox.
Mais ce qui m'étonne c'est que ce bout de code seul fonctionne parfaitement !
Qu'est-ce qui pourrait interférer avec cette fonction ?
Re: [..] Problème FileOpen
Posté : dim. 24 janv. 2010 23:13
par Tlem
Difficile à dire sans plus d'éléments.
- Un problème de lecture du fichier .ini
- Une valeur du combo non valide.
- Etc ...
Dans tous les cas, faites un test réel en rajoutant la MsgBox pour être sure que le chemin et le nom du fichier sont valide.
Re: [..] Problème FileOpen
Posté : lun. 25 janv. 2010 14:01
par ani
Bonjour,
pourquoi fileopen renvoie - 1 ? fileopen = ouverture d'un fichier,alors que là vous voulez ouvrir une section d'un fichier ini, ce qui est totalement impossible.
Le seul fichier qui pourrait être ouvert, serait $INISAVED, d'après votre bout de code.
Que désire vous faire exactement ?
Vérifier la présence d'une section/valeur ? ou du fichier ini ?
je serait vous, je relirait les fonctions INI.
bonne continuation, et bonne lecture (la réponse s'y trouve)
Re: [..] Problème FileOpen
Posté : lun. 25 janv. 2010 16:00
par badnolife
Je crois que vous n'avez pas bien compris mon code, j'explique : $File est le fichier à modifier, dont l'emplacement est enregistré dans le fichier INI (jusque là pas de problème). Et ce que je ne comprends pas c'est que ce même morceau de code exécuté seul, fonctionne très bien, mais intégré à mon script il ne marche plus, c'est à n'y rien comprendre !
Re: [..] Problème FileOpen
Posté : lun. 25 janv. 2010 16:23
par badnolife
Problème résolu, morale de l'histoire : Ne jamais utiliser deux fois la fonction FileOpen, j'ai vérifié c'est bien ça, même utilisant la fonction FileClose après ça crée une interférence.
Merci quand même

Re: [R] Problème FileOpen
Posté : lun. 25 janv. 2010 18:10
par Tlem
Heuuuu
Je ne vois pas ce que vous voulez dire par là, mais on peut parfaitement ouvrir plusieurs fichiers en même temps et faire des écritures imbriquées sans aucun problèmes ...
► Afficher le texte
Code : Tout sélectionner
$File1 = FileOpen("test1.txt", 2)
$File2 = FileOpen("test2.txt", 2)
$File3 = FileOpen("test3.txt", 2)
FileWrite($File1, "Ligne 1 du fichier test N°1" & @CRLF)
FileWrite($File2, "Ligne 1 du fichier test N°2" & @CRLF)
FileWrite($File3, "Ligne 1 du fichier test N°3" & @CRLF)
FileWrite($File1, "Ligne 2 du fichier test N°1" & @CRLF)
FileWrite($File2, "Ligne 2 du fichier test N°2" & @CRLF)
FileWrite($File3, "Ligne 2 du fichier test N°3" & @CRLF)
FileClose($File1)
FileClose($File2)
FileClose($File3)
Re: [R] Problème FileOpen
Posté : mar. 26 janv. 2010 16:58
par badnolife
Alors je ne sais pas ce qu'il s'est passé mais en utilisant deux fois cette fonction, la deuxième ne marchais pas, allez savoir pourquoi.
Enfin bon ce n'est pas très important, mon problème est résolu, c'est tout ce que je voulais
