Page 1 sur 1
[..] Script de recherche de fichier
Posté : lun. 05 oct. 2009 18:38
par L4crymal
► Afficher le texte
Code : Tout sélectionner
#include <Array.au3>
#include <GUIConstantsEx.au3>
#include <GUIListView.au3>
#include <File.au3>
#include <Constants.au3>
#include <FileListToArrayEx.au3>
$ini = TimerInit()
$ar_Array = _FileListToArrayEx(FileSelectFolder("Dans quel dossier voulez vous rechercher des fichiers?", ""), Default, 1, Default, True)
Dim $ar_Array2[$ar_Array[0] + 1], $ar_Array3[1]
For $i = 1 To $ar_Array[0]
$Fitchuyana = StringSplit($ar_Array[$i], "\")
$ar_Array2[$i] = $Fitchuyana[$Fitchuyana[0]]
Next
;MsgBox(0,"",TimerDiff($ini))
;_ArrayDisplay($ar_Array, "Liste fichier+Chemin") ; Ceci est facultatif, c'est juste pour afficher la liste des fichiers.
;_ArrayDisplay($ar_Array2, "Liste fichier-Chemin") ; Ceci est facultatif, c'est juste pour afficher la liste des fichiers.
$input = InputBox("Rechercher un fichier", " ")
Global $GUI_MAIN = GUICreate("Fichier(s) trouvé(s)", @DesktopWidth - 200, @DesktopHeight - 200)
Global $ListView1 = GUICtrlCreateListView("Fichier(s) ", 0, 0, @DesktopWidth - 200, @DesktopHeight - 200)
Global $hListView1 = GUICtrlGetHandle($ListView1)
GUISetState()
_GUICtrlListView_SetImageList($ListView1, _GUIImageList_GetSystemImageList(), 1)
For $i = 1 To $ar_Array[0]
If StringInStr($ar_Array2[$i], $input) Then
_GUICtrlListView_AddItem($hListView1, $ar_Array[$i], _GUIImageList_GetFileIconIndex($ar_Array[$i]))
EndIf
Next
While True
Sleep(1)
If GUIGetMsg() = $GUI_EVENT_CLOSE Then ExitLoop
WEnd
Func _GUIImageList_GetSystemImageList()
Local $FileInfo = DllStructCreate('dword hIcon; int iIcon; DWORD dwAttributes; CHAR szDisplayName[255]; CHAR szTypeName[80];')
Local $uFlags = BitOR(0x10, 0x4000, 0x1)
Local $hImageList = _WinAPI_SHGetFileInfo(".txt", _
0x80, _
DllStructGetPtr($FileInfo), DllStructGetSize($FileInfo), _
$uFlags)
Return $hImageList
EndFunc ;==>_GUIImageList_GetSystemImageList
Func _GUIImageList_GetFileIconIndex($sFileSpec)
Local $FileInfo = DllStructCreate('dword hIcon; int iIcon; DWORD dwAttributes; CHAR szDisplayName[255]; CHAR szTypeName[80];')
Local $uFlags = BitOR(0x4000, 0x10, 0x1)
Local $hImageList = _WinAPI_SHGetFileInfo($sFileSpec, _
$FILE_ATTRIBUTE_NORMAL, _
DllStructGetPtr($FileInfo), DllStructGetSize($FileInfo), _
$uFlags)
Return DllStructGetData($FileInfo, "iIcon")
EndFunc ;==>_GUIImageList_GetFileIconIndex
Func _WinAPI_SHGetFileInfo($pszPath, $dwFileAttributes, $psfi, $cbFileInfo, $uFlags)
Local $return = DllCall("shell32.dll", "DWORD*", "SHGetFileInfo", _
"str", $pszPath, "DWORD", $dwFileAttributes, _
"ptr", $psfi, "UINT", $cbFileInfo, _
"UINT", $uFlags)
If @error Then Return SetError(@error, 0, 0)
Return $return[0]
EndFunc ;==>_WinAPI_SHGetFileInfo
Voila mon script qui permet de lister les fichiers d'un dossier et de ses sous dossiers, et de rechercher à partir d'une chaine de caractère donnée, des fichiers correspondants.
Mes objectifs:
- Icônes interactifs ( lorsque on fait clique droit dessus, un menu apparait avec : Supprimer, ouvrir, etc etc )
- D'autre vues ( En Liste c'est bien mais en Mosaïque j'aimerai bien aussi )
- Le tri, j'aimerai trier par simple clique sur le barre du menu en haut, les fichiers par extension, alphabétique etc etc...
Merci d'avance
BEAUCOUP
Re: [..] Script de recherche de fichier
Posté : lun. 05 oct. 2009 19:02
par Tlem
Pourquoi reprendre l'intégralité du code qui vous à été donné ici :
http://www.autoitscript.fr/forum/viewto ... 817#p22817
Un lien suffisait pour y accéder.

Re: [..] Script de recherche de fichier
Posté : lun. 05 oct. 2009 19:23
par L4crymal
Pardon ?
C'est pas le même ... j'y ai combiné une fonction de recherche.
Re: [..] Script de recherche de fichier
Posté : lun. 05 oct. 2009 19:32
par Tlem
Ah !
Bon ben alors, rajoutez les balises spoiler pour diminuer la taille du message.

Re: [..] Script de recherche de fichier
Posté : lun. 05 oct. 2009 19:42
par L4crymal
Tlem a écrit :Ah !
Bon ben alors, rajoutez les balises spoiler pour diminuer la taille du message.

Voilà
On va pouvoir passer au choses sérieuses

Re: [..] Script de recherche de fichier
Posté : lun. 05 oct. 2009 20:22
par Tlem
Certes, mais sans moi (par manque de temps).

Votre projet est ambitieux, et je ne sais pas si la création de menu contextuel dynamique va être aisé, mais bon courage.

Re: [..] Script de recherche de fichier
Posté : lun. 05 oct. 2009 20:35
par L4crymal
Arg, sinon il est possible de faire la même chose, mais avec un TreeView?
Re: [..] Script de recherche de fichier
Posté : lun. 05 oct. 2009 22:09
par Iste
Pour les autre type d'affichage... je m'y suis cassé les dent :s (trop compliqué ><)
Par contre, pour le menu contextuel, 'il suffit' de recup la liste des menu dans les clef registre de windows (erf :/)
Mais si quelqu'un avez un code miracle qui permettrai de passer outre... ? ^^'
Bref, tout ca pour pas dire grand chose, a part que je cherche aussi de mon coté...