AutoIt Français

Nouveau forum : http://www.autoitscript.fr/
 
AccueilFAQRechercherS'enregistrerMembresGroupesConnexionhttp://www.autoitscript.fr

Partagez | 
 

 Drag & Drop Files

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
tchomane
Débutant
Débutant


Nombre de messages : 17
Date d'inscription : 21/02/2007

MessageSujet: Drag & Drop Files   2007-03-02, 14:03

Bonjour,

J'ai remarqué qu'avec la nouvelle version de Autoit, lorsque je fais un drag and drop d'un fichier sur dans un champ "Input" qui a déjà un texte dedans, ça rajoute le nom de fichier à la suite sans effacer le texte précédent.

Comment peut-on limiter le drag & drop sur un champ "Input" à un seul fichier à la fois comme avant afin qu'il remplace le contenu de l'"Input"?

Merci.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
ani
Modérateur
Modérateur


Nombre de messages : 563
Date d'inscription : 23/01/2007

MessageSujet: Re: Drag & Drop Files   2007-03-02, 16:38

limiter ? pas possible

dans la documentation il parle de $gui_dragfile / $GUI_EVENT_DROPPED / $GUI_DROPACCEPTED


faudra utiliser un ctrlsetdata sur la case input avec le dragfile

vais essayer un exemple
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
ani
Modérateur
Modérateur


Nombre de messages : 563
Date d'inscription : 23/01/2007

MessageSujet: Re: Drag & Drop Files   2007-03-02, 16:48

bein je vois qu'on t'a répondu enfin bon j'ai la même chose que le gars avec et sans onevent

sauf que dans le gui au lieu d'utiliser $ws_ex_acceptifiles , j'ai utilisé 0x00000010


je met le code qu'on ta posté

[color=magenta]#include[/color] <GUIConstants.au3>
Opt([b]"[/b]GuiOnEventMode[b]"[/b], 1)
[b]GUICreate[/b]([b]"[/b]Drag & Drop GUI[b]"[/b], 300, 300, -1, -1, -1, [color=red]$WS_EX_ACCEPTFILES[/color])
[b]GUISetOnEvent[/b]([color=red]$GUI_EVENT_CLOSE[/color], [b]"[/b]Quit[b]"[/b])
[b]GUISetOnEvent[/b]([color=red]$GUI_EVENT_DROPPED[/color], [b]"[/b]Accepted[b]"[/b])
[color=black]$Input [/color]= [b]GUICtrlCreateInput[/b]([b]"[/b]Previous data[b]"[/b], 20, 20, 270)
[b]GUICtrlSetState[/b]($Input, [color=red]$GUI_DROPACCEPTED[/color])
[b]GUISetState[/b]()

[color=royalblue]While[/color] [color=red]1[/color]
[b]Sleep[/b]([color=red]100[/color])
[color=royalblue]WEnd[/color]

[color=royalblue]Func[/color] Quit()
Exit
[color=royalblue]EndFunc[/color]

[b][color=royalblue]Func[/color][/b] Accepted()
[b]GUICtrlSetData[/b]($Input, [color=red]@GUI_DragFile[/color])
[b][color=royalblue]EndFunc[/color][/b]
[b][color=#4169e1][/color][/b]
[b][color=#4169e1][/color][/b]
[b][color=#4169e1][/color][/b]
[b][color=#4169e1][/color][/b]
[b][color=#4169e1][/color][/b]
ps: je suis deg qu'on t'es répondu si vite (moi j'attend toujours enfin bon peut etre mon langage qui non pas compris)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
tchomane
Débutant
Débutant


Nombre de messages : 17
Date d'inscription : 21/02/2007

MessageSujet: Re: Drag & Drop Files   2007-03-02, 18:35

Merci ani mais ça ne fonctionne pas si j'ai un bouton à côté pour importer un nom de fichier :

#include <GUIConstants.au3>
Opt("GuiOnEventMode", 1)
GUICreate("Drag & Drop GUI", 300, 300, -1, -1, -1, $WS_EX_ACCEPTFILES)
GUISetOnEvent($GUI_EVENT_CLOSE, "Quit")
GUISetOnEvent($GUI_EVENT_DROPPED, "Accepted")
$Input = GUICtrlCreateInput("Previous data", 75, 20, 200)
GUICtrlSetState($Input, $GUI_DROPACCEPTED)
$btn_input = GUICtrlCreateButton("Input", 20, 20, 50, 20)
GUISetState()

While 1

$msg = GUIGetMsg()

Select
Case $msg = $btn_input

$_test = FileOpenDialog("Choose a file...",$_videopath,"Docs (*.*)")
WinWaitClose("1. Choose a file...")

If @error Then
Else
GUICtrlSetData($Input, $_test)
EndIf

EndSelect

sleep(15)
WEnd

GUIDelete()

Exit

Func Quit()
Exit
EndFunc

Func Accepted()
GUICtrlSetData($Input, @GUI_DragFile)
EndFunc
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
ani
Modérateur
Modérateur


Nombre de messages : 563
Date d'inscription : 23/01/2007

MessageSujet: Re: Drag & Drop Files   2007-03-02, 21:20

pour importer un nom ?

en faite tu veux juste afficher ta selection dans le input ?

faut rajouter ceux-ci

déjà manque l'include (file.au3) ensuite le code y a un delete un exit qui voyage pour rien

puis j'ai un bug en utilisant le guionevent avec l'include file (sinon rien ne se passe)

$videopath est pas défini dans le script donc je met comme si c'etait chez moi

j'indique la fonction.

[b]func[/b] OUVRE()
$_test = [b]FileOpenDialog[/b]([b]"[/b]Choisis un fichier...[b]"[/b],$_videopath,[b]"[/b]All (*.*)[b]"[/b],1)
[b]GUICtrlSetData[/b]($Input, $_test)
If @error Then
[b]MsgBox[/b](4096,[b]""[/b],[b]"[/b]aucun fichier sélectionné[b]"[/b])
Else
$_test = [b]StringReplace[/b]($_test, [b]"[/b]|[b]"[/b], @CRLF)
[b]MsgBox[/b](4096,[b]""[/b],[b]"[/b]votre choix => [b]"[/b] & $_test)
EndIf
[b]EndFunc[/b]
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
ani
Modérateur
Modérateur


Nombre de messages : 563
Date d'inscription : 23/01/2007

MessageSujet: Re: Drag & Drop Files   2007-03-02, 22:10

ta cette première manière

[color=red]#include[/color] <GUIConstants.au3>
[color=red]#include[/color] <file.au3>
[color=mediumblue]$_videopath[/color] [color=green]=[/color] "c:" ; on va dire que ton dossier c'est le disque c/
[color=mediumblue]$gui[/color] [color=green]=[/color] [b]GUICreate[/b] ( "Drag [color=green]&[/color] Drop GUI" [color=green],[/color] 300 [color=green],[/color] 300 [color=green],[/color] -1 [color=green],[/color] -1 [color=green],[/color] -1 [color=green],[/color] [color=mediumblue]$WS_EX_ACCEPTFILES[/color] )
[color=mediumblue]$Input[/color] [color=green]=[/color] [b]GUICtrlCreateInput[/b] ( "" [color=green],[/color] 75 [color=green],[/color] 20 [color=green],[/color] 200 )
[b]GUICtrlSetState[/b] ( [color=mediumblue]$Input[/color] [color=green],[/color] [color=mediumblue]$GUI_DROPACCEPTED[/color] )
[color=mediumblue]$btn_input[/color] [color=green]=[/color] [b]GUICtrlCreateButton[/b] ( "B" [color=green],[/color] 20 [color=green],[/color] 20 [color=green],[/color] 50 [color=green],[/color] 20 )
[b]GUISetState[/b] ( [color=fuchsia]@SW_SHOW[/color] )
[color=green]While[/color] 1
[color=mediumblue]$msg[/color] [color=green]=[/color] [b]GUIGetMsg[/b] ( )
[color=green]If[/color] [color=mediumblue]$msg[/color] [color=green]=[/color] [color=mediumblue]$btn_input[/color] [color=green]then[/color] opene ( )
[color=green]If[/color] [color=mediumblue]$msg[/color] [color=green]=[/color] [color=mediumblue]$GUI_EVENT_CLOSE[/color] [color=green]then[/color] quit ( )
[color=green]If[/color] [color=mediumblue]$msg[/color] [color=green]=[/color] [color=mediumblue]$GUI_EVENT_DROPPED[/color] [color=green]then[/color] accepted ( )
[color=green]WEnd[/color]
[color=green]func[/color] opene ( )
[color=mediumblue]$_test[/color] [color=green]=[/color] [b]FileOpenDialog[/b] ( "Choose file..." [color=green],[/color] [color=mediumblue]$_videopath[/color] [color=green],[/color] "All ( *.* ) " [color=green],[/color] 1 )
[b]GUICtrlSetData[/b] ( [color=mediumblue]$Input[/color] [color=green],[/color] [color=mediumblue]$_test[/color] )
[color=green]If[/color] [color=fuchsia]@error[/color] [color=green]Then[/color]
[b]MsgBox[/b] ( 4096 [color=green],[/color] "" [color=green],[/color] "aucun fichier sélectionné" )
[color=green]Else[/color]
[color=mediumblue]$_test[/color] [color=green]=[/color] [b]StringReplace[/b] ( [color=mediumblue]$_test[/color] [color=green],[/color] "|" [color=green],[/color] [color=fuchsia]@CRLF[/color] )
[b]MsgBox[/b] ( 4096 [color=green],[/color] "" [color=green],[/color] "votre choix [color=green]=[/color] > " [color=green]&[/color] [color=mediumblue]$_test[/color] )
[color=green]EndIf[/color]
[color=green]EndFunc[/color]
[color=green]Func[/color] Quit ( )
[b]Exit[/b]
[color=green]EndFunc[/color]
[color=green]Func[/color] Accepted ( )
[b]GUICtrlSetData[/b] ( [color=mediumblue]$Input[/color] [color=green],[/color] [color=fuchsia]@GUI_DragFile[/color] )
[color=green]EndFunc[/color]



au niveau du while tu peux faire çà aussi

[color=green]While[/color] 1
[color=mediumblue]$msg[/color] [color=green]=[/color] [b]GUIGetMsg[/b] ( )
[b]Select[/b]
case [color=mediumblue]$msg[/color] [color=green]=[/color] [color=mediumblue]$btn_input[/color]
opene ( )
case [color=mediumblue]$msg[/color] [color=green]=[/color] [color=mediumblue]$GUI_EVENT_CLOSE[/color]
quit ( )
case [color=mediumblue]$msg[/color] [color=green]=[/color] [color=mediumblue]$GUI_EVENT_DROPPED[/color]
accepted ( )
EndSelect
[color=green]WEnd[/color]


tu remarquera la difference entre les deux


ensuite y a celui avec le guionevent un peu chaux

[color=red]#include[/color] <GUIConstants.au3>
[color=red]#include[/color] <file.au3>
Opt ( "GuiOnEventMode" [color=green],[/color] 1 )
[color=mediumblue]$_videopath[/color] [color=green]=[/color] "c:"
[color=mediumblue]$gui[/color] [color=green]=[/color] [b]GUICreate[/b] ( "Drag [color=green]&[/color] Drop GUI" [color=green],[/color] 300 [color=green],[/color] 300 [color=green],[/color] -1 [color=green],[/color] -1 [color=green],[/color] -1 [color=green],[/color] [color=mediumblue]$WS_EX_ACCEPTFILES[/color] )
[b]GUISetOnEvent[/b] ( [color=mediumblue]$GUI_EVENT_CLOSE[/color] [color=green],[/color] "Quit" )
[b]GUISetOnEvent[/b] ( [color=mediumblue]$GUI_EVENT_DROPPED[/color] [color=green],[/color] "Accepted" )
[color=mediumblue]$Input[/color] [color=green]=[/color] [b]GUICtrlCreateInput[/b] ( "" [color=green],[/color] 75 [color=green],[/color] 20 [color=green],[/color] 200 )
[b]GUICtrlSetState[/b] ( [color=mediumblue]$Input[/color] [color=green],[/color] [color=mediumblue]$GUI_DROPACCEPTED[/color] )
[color=mediumblue]$btn_input[/color] [color=green]=[/color] [b]GUICtrlCreateButton[/b] ( "B" [color=green],[/color] 20 [color=green],[/color] 20 [color=green],[/color] 50 [color=green],[/color] 20 )
[b]GUICtrlSetOnEvent[/b] ( [color=mediumblue]$btn_input[/color] [color=green],[/color] "opene" )
[b]GUISetState[/b] ( [color=fuchsia]@SW_SHOW[/color] )
[color=green]While[/color] 1
[b]sleep[/b] ( 100 )
[color=green]WEnd[/color]
[color=green]func[/color] opene ( )
[color=mediumblue]$_test[/color] [color=green]=[/color] [b]FileOpenDialog[/b] ( "Choose file..." [color=green],[/color] [color=mediumblue]$_videopath[/color] [color=green],[/color] "All ( *.* ) " [color=green],[/color] 1 )
[b]GUICtrlSetData[/b] ( [color=mediumblue]$Input[/color] [color=green],[/color] [color=mediumblue]$_test[/color] )
[color=green]If[/color] [color=fuchsia]@error[/color] [color=green]Then[/color]
[b]MsgBox[/b] ( 4096 [color=green],[/color] "" [color=green],[/color] "aucun fichier sélectionné" )
[color=green]Else[/color]
[color=mediumblue]$_test[/color] [color=green]=[/color] [b]StringReplace[/b] ( [color=mediumblue]$_test[/color] [color=green],[/color] "|" [color=green],[/color] [color=fuchsia]@CRLF[/color] )
[b]MsgBox[/b] ( 4096 [color=green],[/color] "" [color=green],[/color] "votre choix [color=green]=[/color] > " [color=green]&[/color] [color=mediumblue]$_test[/color] )
[color=green]EndIf[/color]
[color=green]EndFunc[/color]
[color=green]Func[/color] Quit ( )
[b]Exit[/b]
[color=green]EndFunc[/color]
[color=green]Func[/color] Accepted ( )
[b]GUICtrlSetData[/b] ( [color=mediumblue]$Input[/color] [color=green],[/color] [color=fuchsia]@GUI_DragFile[/color] )
[color=green]EndFunc[/color]



voilà si t'a le moindre soucis au niveau de la comprehension hésite pas
oublie pas de définir ton dossier [color=mediumblue]$_videopath[/color]
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
TerminAdminAtor
Admin
Admin


Nombre de messages : 234
Date d'inscription : 22/10/2006

MessageSujet: Re: Drag & Drop Files   2007-03-03, 16:17

Ani,fallait pas lui répondre aussi vite alors :p
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://autoit-fr.realbb.net
ani
Modérateur
Modérateur


Nombre de messages : 563
Date d'inscription : 23/01/2007

MessageSujet: Re: Drag & Drop Files   2007-03-04, 02:05

Pour le deg, c'est du coté US ..enfin bon, j'attend encore.. .

me semble que le code peut être optimisé (le local qui manque, rajouter divers vérification,enfin tout dépendra de la suite du script, sinon y a pas d'erreur ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
tchomane
Débutant
Débutant


Nombre de messages : 17
Date d'inscription : 21/02/2007

MessageSujet: Re: Drag & Drop Files   2007-03-05, 14:11

Ani, t'es vraiment un pro du code ! je te remercie.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
ani
Modérateur
Modérateur


Nombre de messages : 563
Date d'inscription : 23/01/2007

MessageSujet: Re: Drag & Drop Files   2007-03-05, 14:12

j'ai un blem sur ce sujet ..

voilà quand je drag un fichier dans un edit il me met l'image au lieu de lire le fichier, je voudrai la meme chose que sur scite ou notepad quand on drag plusieur element dans le logiciel il ouvre chaque fichier dans un TAB.

on peut m'aiguiller ?

merciiii
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
tchomane
Débutant
Débutant


Nombre de messages : 17
Date d'inscription : 21/02/2007

MessageSujet: Re: Drag & Drop Files   2007-03-05, 15:22

Ani,

Je précise que dans le code pour un drag and drop simple qui affiche un seul fichier, il n'y a pas besoin de l'include file.au3, on a besoin de $GUI_EVENT_DROPPED et de @GUI_DragFile.

Pour le cas de plusieurs champs Input, il suffit d'utiliser @GUI_DROPID pour spécifier le bon Input

Exemple :

[quote]
Case $msg = $GUI_EVENT_DROPPED

;MsgBox(0,"", @GUI_DROPID) <- pour connaître ID de l'input
_Drag_and_drop_files()


Func _Drag_and_drop_files()
If @GUI_DROPID = 30 Then GUICtrlSetData ( $_Input_select_truc , @GUI_DragFile )
If @GUI_DROPID = 58 Then GUICtrlSetData ( $_Input_select , @GUI_DragFile )
If @GUI_DROPID = 97 Then GUICtrlSetData ( $Input_source_file , @GUI_DragFile )
EndFunc

[/quote]
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
ani
Modérateur
Modérateur


Nombre de messages : 563
Date d'inscription : 23/01/2007

MessageSujet: Re: Drag & Drop Files   2007-03-05, 17:47

l'utilisation du file.au3 c'etait juste pour l'ouverture du fichier


t'a pas une idée concernant mon petit soucis ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
tchomane
Débutant
Débutant


Nombre de messages : 17
Date d'inscription : 21/02/2007

MessageSujet: Re: Drag & Drop Files   2007-03-07, 14:37

Ani,

Désolé, mais je ne connais pas encore les "Edit".

Je ferais des tests...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
ani
Modérateur
Modérateur


Nombre de messages : 563
Date d'inscription : 23/01/2007

MessageSujet: Re: Drag & Drop Files   2007-03-08, 17:16

j'ai trouvé pour le edit enfin j'ai encore un petit bug (tout minime) faudra maintenant que je trouve la maniere pour une v2 de cree les tabulation (quand on drag plusieur fichier)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Drag & Drop Files   Aujourd'hui à 17:17

Revenir en haut Aller en bas
 
Drag & Drop Files
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [Tutoriel] Système de Drag and Drop en GML.
» [Résolu] bouton vérification drag & drop
» Widgets !!! + Administration du portail en mode Drag & Drop
» Jeu de tir vu du dessus
» CBNA Drag and Drop Decoder [Disponible]

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
AutoIt Français :: AutoIt v3 :: Entraide-
Sauter vers: