[..] FileOpenDialog - Multi selection - Bureau All Users

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
mpcalvet
Niveau 1
Niveau 1
Messages : 3
Enregistré le : jeu. 03 avr. 2008 14:39
Status : Hors ligne

[..] FileOpenDialog - Multi selection - Bureau All Users

#1

Message 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
Avatar du membre
peuchere83
Niveau 5
Niveau 5
Messages : 169
Enregistré le : mer. 17 déc. 2008 10:50
Status : Hors ligne

Re: [..] FileOpenDialog - Multi selection - Bureau All Users

#2

Message 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
Tous biens que tu possèdes est un souci qui te retient.
Skippy est là pour t'enlever tous tes soucis.
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 - Multi selection - Bureau All Users

#3

Message 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|..."
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é".
mpcalvet
Niveau 1
Niveau 1
Messages : 3
Enregistré le : jeu. 03 avr. 2008 14:39
Status : Hors ligne

Re: [..] FileOpenDialog - Multi selection - Bureau All Users

#4

Message 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
GaRydelaMer
Niveau 7
Niveau 7
Messages : 450
Enregistré le : mer. 18 mars 2009 22:12
Localisation : Montpellier
Status : Hors ligne

Re: [..] FileOpenDialog - Multi selection - Bureau All Users

#5

Message 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é.
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 - Multi selection - Bureau All Users

#6

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

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. :wink:
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é".
Répondre