[R] FileOpenDialog et Fichier .ini

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
cutprod
Niveau 6
Niveau 6
Messages : 273
Enregistré le : jeu. 30 sept. 2010 17:25
Localisation : Sud Ouest
Status : Hors ligne

[R] FileOpenDialog et Fichier .ini

#1

Message par cutprod »

Bonjour a tous, je bloque sur un truc tout bête et j'ai beau chercher ca vient pas...(même en appuyant fort sur F1 :lol: )
Je n'arrive pas a écrire une variable dans un fichier .ini si celle ci est le résultat d'un "FileOpenDialog"

Code : Tout sélectionner

Global $6

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Button1
            Global $6 = FileOpenDialog("Selection du fichier audio",@DesktopDir,"(*.*)")
            GUICtrlSetData($Input1,$6)
        Case $Button2
            IniWrite("test.ini","parametres","var",$6)
    EndSwitch
WEnd
Pourtant une MsgBox me l'affiche (le chemin complet, C:\....)
Pourquoi? :?:
Cut, srcipteur du dimanche...désolé !-)
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [..] FileOpenDialog et Fichier .ini

#2

Message par sylvanie »

bonsoir,
je constate que l'iniwrite n'est pas dans le même appel que le FileOpenDialog, est-ce qu'entretemps, la variable $6 ne serait pas écrasée entre l'appui du bouton 1 et l'appui du bouton 2 ?
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Avatar du membre
cutprod
Niveau 6
Niveau 6
Messages : 273
Enregistré le : jeu. 30 sept. 2010 17:25
Localisation : Sud Ouest
Status : Hors ligne

Re: [..] FileOpenDialog et Fichier .ini

#3

Message par cutprod »

Même résultat si dans le même appel, et idem si le opérations s'effectue dans 2 fonctions ou 1 ...
Cut, srcipteur du dimanche...désolé !-)
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [..] FileOpenDialog et Fichier .ini

#4

Message par matwachich »

D'abords: On ne declare une variable qu'une seul fois (faut pas mettre 2 fois Global)
Et puis: Mettre le chemin complet vers le fichier .ini (@ScriptDir & "\test.ini" par exemple)

Une gui toute moche qui marche

Code : Tout sélectionner

#include <GUIConstants.au3>
Global $6

#region - GUI Create
GUICreate('',200,80)
$Button1 = GUICtrlCreateButton("B1", 5, 5, 80, 40)
$Button2 = GUICtrlCreateButton("B2", 90, 5, 80, 40)
$Input1 = GUICtrlCreateInput("", 5, 50, 190, 20)
GUISetState()
#endregion

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Button1
            $6 = FileOpenDialog("Selection du fichier audio",@DesktopDir,"(*.*)")
            GUICtrlSetData($Input1,$6)
        Case $Button2
            IniWrite("test.ini","parametres","var",$6)
    EndSwitch
WEnd
 
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Avatar du membre
cutprod
Niveau 6
Niveau 6
Messages : 273
Enregistré le : jeu. 30 sept. 2010 17:25
Localisation : Sud Ouest
Status : Hors ligne

Re: [..] FileOpenDialog et Fichier .ini

#5

Message par cutprod »

Je te remercie beaucoup pour ton déblocage, il suffisé de donner le chemin complet au fichier .ini.
Mais comment explique tu que ce paramètre soit obligatoire pour une variable contenant le retour d'un "FileOpenDialog" et pas pour d'autre type??
Ce code fonctionne, le fichier .ini est crée et remplit!!

Code : Tout sélectionner

#include <GUIConstants.au3>

#region - GUI Create
GUICreate('',200,80)
$Button1 = GUICtrlCreateButton("B1", 5, 5, 80, 40)
$Button2 = GUICtrlCreateButton("B2", 90, 5, 80, 40)
$Input1 = GUICtrlCreateInput("", 5, 50, 190, 20)
GUISetState()
#endregion

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Button1
            $6 ="rrrrrrrrr" 
            GUICtrlSetData($Input1,$6)
        Case $Button2
            IniWrite("test.ini","parametres","var",$6)
    EndSwitch
WEnd
 
Ca marche pour $6 =@ComputerName
pour $6 =@YDAY, ect... mais pas pour $6 ="FileOpenDialog"
Pourquoi :?:
En tout cas merci pour ton aide.
Cut, srcipteur du dimanche...désolé !-)
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] FileOpenDialog et Fichier .ini

#6

Message par Tlem »

Je ne comprend pas trop le sens de votre question, mais en l'état, votre script ne suis pas une logique de programmation.

Que vous utilisiez la variable $6 pour affecter le composant $Input1, soit.
Par contre la réutilisation de celle-ci dans une autre partie du script, ne garanti pas le contenu de celle-ci.

La logique voudrait (si j'ai bien compris ce que vous cherchez à faire), d'écrire dans le ini la valeur affichée dans $Input1.
Donc ceci serait plus approprié :

Code : Tout sélectionner

Case $Button2
            IniWrite("test.ini","parametres","var",GUICtrlRead($Input1))
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
cutprod
Niveau 6
Niveau 6
Messages : 273
Enregistré le : jeu. 30 sept. 2010 17:25
Localisation : Sud Ouest
Status : Hors ligne

Re: [..] FileOpenDialog et Fichier .ini

#7

Message par cutprod »

Non non le sens de ma question n'est pas la , $input1 n'avait comme vocation que l'affichage pour contrôle visuel.
Le but était d' écrire dans un fichier ini une variable issus d'un "FileOpenDialog".
Donc ma dernière question était = pourquoi je suis obliger de renseigner le chemin complet du fichier ini si je veut y inscrire le résultat d'un "FileOpenDialog" alors que je ne suis pas obliger (celui-ci se crée a coté du script par défaut) si ma variable est d'un autre type (que "FileOpenDialog")??
Mais c'est juste pour info car je suis débloquer et je continu le développement de mon script.
Cut, srcipteur du dimanche...désolé !-)
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] FileOpenDialog et Fichier .ini

#8

Message par Tlem »

Effectivement, après quelques tests divers, je constate aussi un comportement étrange si le chemin du fichier .ini n'est pas spécifié.

Je suppose un bug. Après avoir fait quelques recherche dans le bugtracker du forum Anglais, je n'ai vu aucune référence à ce problème. Donc je vais de ce pas le signaler sur celui-ci.

Edit : Voila qui est fait => http://www.autoitscript.com/trac/autoit/ticket/1828
J'ai essayé de ménager la susceptibilité de certains (DEV) en prenant un maximum de gants !!! :roll:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
cutprod
Niveau 6
Niveau 6
Messages : 273
Enregistré le : jeu. 30 sept. 2010 17:25
Localisation : Sud Ouest
Status : Hors ligne

Re: [R] FileOpenDialog et Fichier .ini

#9

Message par cutprod »

"So is it a bug or did we miss something?" ho le joli gant :lol:
Tenez moi au courant de la suite donné au signalement, et merci pour votre aide.
Cut, srcipteur du dimanche...désolé !-)
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] FileOpenDialog et Fichier .ini

#10

Message par Tlem »

Bin, je fait du mieux que je peut, mais l'autre jour j'ai signalé le problème du bouton Cancel de l'InputBox (qui n'est pas traduit en localisé) et Valik à pris ça d'un peut haut !!!
D’ailleurs il en a clôturer le ticket.
Certes il à une réputation de quelqu'un d'un peut spécial, mais j'avoue avoir du mal à comprendre sa réaction.

Comme je n'ai aucun poids particulier sur l'équipe de développement, je me retrouve au même niveau que n'importe quel utilisateur. :cry:
D’où l'utilisation de gants moufles pour signaler bugs et autres.

En ce qui concerne le suivit du problème, vous pourrez le faire comme moi même, en allant voir régulièrement si une réponse est donnée dans le BugTracker. :roll:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [R] FileOpenDialog et Fichier .ini

#11

Message par sylvanie »

hou là, attention, je ne pense pas que ceci soit un bug.
En effet, toute action du type filewrite("toto.txt",...) va réaliser l'action dans le wokingdir si on ne précise pas le chemin absolu.
Or, dans l'aide de la fonction FileOpenDialog on voit

@WorkingDir is changed on successful return

Du coups il est normal que le fichier ini s'écrive dans le répertoire de provenance du FileOpenDialog.

Par contre à la première lecture du poste, je n'avais pas compris que c'était un problème relatif à l'emplacement de l'enregistrement
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] FileOpenDialog et Fichier .ini

#12

Message par Tlem »

C'est bien ce que Jos à répondu sur le BugTracker.

J'avais pourtant lu et relu la documentation des deux fonctions, mais cette 'insignifiante' :roll: phrase était passée inaperçue ... :oops:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
cutprod
Niveau 6
Niveau 6
Messages : 273
Enregistré le : jeu. 30 sept. 2010 17:25
Localisation : Sud Ouest
Status : Hors ligne

Re: [R] FileOpenDialog et Fichier .ini

#13

Message par cutprod »

Oulala.. et tout ca c'est ma faute! dsl
Et moi je viens de trouver le dossier music replis de fichier*.ini :shock:
Cut, srcipteur du dimanche...désolé !-)
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [R] FileOpenDialog et Fichier .ini

#14

Message par sylvanie »

On ne peut pas réellement dire qu'il y ait un fautif. Le comportement de la fonction pouvait légitimement ouvrir tout un tas de questions. C'est pas grave ...
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Répondre