Page 1 sur 1
[..] FileOpenDialog - Multi selection - Bureau All Users
Posté : lun. 10 mai 2010 08:52
par mpcalvet
Bonjour, je voudrai soumettre un comportement bizarre sur l'instruction "FileOpenDialog"
Sur un XP , j'ai mis 2 fichiers(fichier1.txt et fichier2.txt) dans "C:\Documents and Setting\All Users\Bureau"
Avec le code mis plus loin , j'ai 2 résultats différents :
- si je sélectionne 1 seul document , j'ai un bon résultat :"C:\Documents and Setting\All Users\Bureau\fichier1.txt"
- si je sélectionne les 2 fichiers , j'ai un mauvais résultat : "C:\Documents and Setting\%users\Bureau\fichier1.txt|fichier2.txt" où %users est le nom de mon profil.
Quelqu'un pourrait il me dire si cela est un bug ou si il manque quelque chose dans dans ma commande "fileopendialog" pour avoir le bon résultat . (Le but étant de copier ensuite les fichiers et donc ,je ne peux pas les copier en multi selection)
Code : Tout sélectionner
$fic = FileOpenDialog("chercher fichier",@DesktopDir,"All (*.*)" ,4)
MsgBox(262144,'Debug line ~' & @ScriptLineNumber,'Selection:' & @lf & '$fic' & @lf & @lf & 'Return:' & @lf & $fic) ;### Debug MSGBOX
Cordialement
Re: [..] FileOpenDialog - Multi selection - Bureau All Users
Posté : lun. 10 mai 2010 10:35
par peuchere83
Bonjour,
C'est tout à fait normal :
Voici un extrait de l'aide sur cette commande :
Code : Tout sélectionner
Return Value
Success: Returns the full path of the file(s) chosen. Results for multiple selections are "Directory|file1|file2|..."
Il te suffit ensuite grâce au stringsplit (entre autre) de pouvoir exploiter cette information en retour.
Cordialement
Re: [..] FileOpenDialog - Multi selection - Bureau All Users
Posté : lun. 10 mai 2010 10:39
par Tlem
Voici le résultat que j'obtiens sur mon Windows XP SP3 avec la dernière version de AutoIt :
- Sélection du fichier
fichier1.txt
Résultat :
C:\Documents and Setting\Tlem\Bureau\fichier1.txt
- Sélection des fichiers
fichier1.txt et
fichier2.txt
Résultat :
C:\Documents and Setting\Tlem\Bureau|fichier1.txt|fichier2.txt
Les résultats correspondent bien à ce qui est indiqué dans la documentation :
Return Value
Success: Returns the full path of the file(s) chosen. Results for multiple selections are "Directory|file1|file2|..."
Re: [..] FileOpenDialog - Multi selection - Bureau All Users
Posté : lun. 10 mai 2010 13:15
par mpcalvet
Désole , mais je me suis mal exprimé .
Mes 2 fichiers sont au départ dans le Bureau de "ALL USERS" et uniquement là.(pas dans Tlem/Bureau)
Quand je fais une sélection unique d'un de ces fichiers , j'ai bien le chemin "ALL USERS" (C:\Documents and Setting\All Users\fichier1.txt)
Par contre , quans je fais une sélection multiple , j'ai une réponse avec le chemin "user"(Tlem dans votre exemple) et NON "ALL USERS" .(C:\Documents and Setting\Tlem\fichier1.txt|fichier2.txt) alors qu'ils n'existent pas dans ce répertoire
Dans les 2 cas , j'ai bien un chemin mais ce n'est pas le même dans les 2 cas (ALL USERS pour une simple selection et TLEM pour une multiple sélection )
En espérant avoir été plus clair
Cordialement
Re: [..] FileOpenDialog - Multi selection - Bureau All Users
Posté : lun. 10 mai 2010 13:51
par GaRydelaMer
Bonjour
j'ai le même soucis que toi avec ce code pour tester.
Code : Tout sélectionner
$var = FileOpenDialog("", "C:\Documents and Settings\All Users\Bureau\", "Images (*.*)", 1 + 4 )
If @error Then
MsgBox(4096,"","No File(s) chosen")
Else
$var = StringReplace($var, "|", @CRLF)
MsgBox(4096,"","You chose " & $var)
EndIf
La fenêtre s'ouvre sur le bureau de l'utilisateur. Je pense plus a 1 soucis avec le contrôle de windows. Car avec le même code quand on choisis le dossier dans la fenêtre on obtiens bien le résultats escompté.
Re: [..] FileOpenDialog - Multi selection - Bureau All Users
Posté : lun. 10 mai 2010 23:14
par Tlem
mpcalvet a écrit :Désole , mais je me suis mal exprimé .
Mes 2 fichiers sont au départ dans le Bureau de "ALL USERS" et uniquement là.(pas dans Tlem/Bureau)
Effectivement. C'est moi qui suis désolé d'avoir mal lu votre premier message.
En ce qui concerne le problème évoqué, je dirais que cela 'peut sembler normal', car comment savoir si les fichiers de la multi-sélection se trouve tous sur le bureau de All Users ou celui de l'utilisateur courant ?
Comme vous pouvez sélectionner n'importe quel fichier, ils peuvent se trouver indifféremment d'un coté ou de l'autre.
Il m'est avis que dans le doute, le répertoire de l'utilisateur courant est renvoyer pour éviter certaines confusions. Cela est sans doute (comme l'a souligné GaRydelaMer) lié plutôt à Windows qu'à AutoIt.
