Code : Tout sélectionner
Structure CMINVOKECOMMANDINFOEX
cbSize.l
fMask.l
hwnd.i
lpVerb.i
lpParameters.i
lpDirectory.i
nShow.l
dwHotKey.l
hIcon.i
lpTitle.i
lpVerbW.i
lpParametersW.i
lpDirectoryW.i
lpTitleW.i
ptInvoke.POINT
EndStructure
Structure QCMINFO
hmenu.i
indexMenu.l
idCmdFirst.l
idCmdLast.l
CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
_alignment.l
CompilerEndIf
*pldMap.l
EndStructure
#GCS_VERBA = 0
#CMF_NORMAL = 0
#CMF_CANRENAME = 16
#DFM_MERGECONTEXTMENU = 1
#DFM_INVOKECOMMAND = 2
#DFM_GETDEFSTATICID = 14
#DFM_CMD_PROPERTIES = -5
#Menu = 0
#FirstShellMenuItem = 0
#LastShellMenuItem = 9999
Prototype CDefFolderMenu_Create2(a, b, c, d, e, f, g, h, i)
Global CDefFolderMenu_Create2.CDefFolderMenu_Create2
Global CustomMenuEntry
Global Repertoire$ = "Base de donnée de fichiers"
Recherche_parametre_Date_creation_fichier = 0
Recherche_parametre_Date_modiffication_fichier = 0
Recherche_parametre_Date_dernier_accer_fichier = 0
Recherche_parametre_Taille_fichier = 0
Recherche_parametre_Attributs_fichier = 0
Fichier_a_rechercher$ = "a"
Respecter_la_case$ = "non"
Date_creation_fichier$ = ""
Date_modiffication_fichier$ = ""
Date_dernier_accer_fichier$ = ""
Taille_fichier$ = ""
Attributs_fichier$ = ""
Type_fichier$ = ""
Date_creation_fichier = 0
Date_modiffication_fichier = 0
Date_dernier_accer_fichier = 0
Taille_fichier = 0
Attributs_fichier = 0
Global Repertoire
Global Parametre_fichier$
Global Second
Global Minute
Global Heur
Global Jour_semaine
Global Jour_mois
Global Mois
Global Annee
Global Jour_semaine$
Global Mois$
Global Heur$, Minute$, Second$
Global NewList liste_fichier.s()
Global NewList Indexation_fichiers.s()
Enumeration
#Window_0
#BarreEtat
#Button_2
#ExplorerList_6
#Button_7
#Text_8
#Text_9
#Frame3D_10
#Window_1
#String_nom_fichier_rechercher
#Text_1
#CheckBox_date_creation
#CheckBox_date_modiffication
#CheckBox_date_dernier_accer
#CheckBox_taille_fichier
#CheckBox_attributs_fichier
#CheckBox_type_fichier
#ComboBox_est_nest_pas_date_de_creation
#ComboBox_opperateur_date_creation
#ComboBox_est_nest_pas_date_de_modiffication
#ComboBox_est_nest_pas_date_dernier_accer
#ComboBox_est_nest_pas_taille_fichier
#ComboBox_attribus_fichiers
#ComboBox_date_creation_jour
#ComboBox_date_creation_annee
#ComboBox_date_modiffication_mois
#ComboBox_date_creation_mois
#ComboBox_opperateur_date_modiffication
#ComboBox_opperateur_date_dernier_accer
#ComboBox_date_modiffication_jour
#ComboBox_date_dernier_accer_jour
#ComboBox_date_dernier_accer_mois
#ComboBox_date_modiffication_annee
#ComboBox_date_dernier_accer_annee
#ComboBox_opperateur_taille_fichier
#Button_rechercher
#Button_annuler
#ComboBox_taille_fichier
#ComboBox_delimiteur_taille_fichier
#ComboBox_est_nest_pas_attributs_fichier
#ComboBox_est_nest_pas_type_fichier
#ComboBox_type_fichier
EndEnumeration
Procedure Callback(*psf.IShellFolder, hwnd, pdtobj.IDataObject, uMsg, wParam, lParam)
Select uMsg
; Case #DFM_MERGECONTEXTMENU
;
; ; Des entrées Ici personnalisées peuvent être ajoutées au menu créé
; ;
; *qcminfo.QCMINFO = lParam
; If *qcminfo\idCmdLast > *qcminfo\idCmdFirst
;
; If InsertMenu_(*qcminfo\hmenu, *qcminfo\indexMenu, #MF_BYPOSITION|#MF_STRING, *qcminfo\idCmdFirst, @"--- Custom Menu Entry ---")
; ; Sauver l'ID et dire à l'interlocuteur qu'une entrée a été ajoutée
; ;
; CustomMenuEntry = *qcminfo\idCmdFirst
; *qcminfo\idCmdFirst + 1
; EndIf
;
; EndIf
; ProcedureReturn #S_OK
;
Case #DFM_INVOKECOMMAND
; Ici l'exécution des commandes peut être recopiée.
; Retourner #S_FALSE Pour obtenir le comportement part défaut
ProcedureReturn #S_FALSE
Case #DFM_GETDEFSTATICID
; Retourner #S_FALSE Pour obtenir le traitement part défaut
ProcedureReturn #S_FALSE
Default
ProcedureReturn #E_NOTIMPL
EndSelect
EndProcedure
CoInitialize_(0)
If OpenLibrary(0, "shell32.dll")
CDefFolderMenu_Create2 = GetFunction(0, "CDefFolderMenu_Create2")
CompilerIf #PB_Compiler_Processor = #PB_Processor_x86
; Win2k seulement exporte cela par ordinal, l'exportation de versions plus récente de nom
If CDefFolderMenu_Create2 = 0
CDefFolderMenu_Create2 = GetFunctionEntry(0, 701)
EndIf
CompilerEndIf
If CDefFolderMenu_Create2 = 0
Debug "Error, cannot find CDefFolderMenu_Create2()"
End
EndIf
Else
MessageRequester("Erreur", "Ne peut pas ouvrir la library shell32.dll", 16)
EndIf
Procedure Interface_rechercher_un_fichier()
If OpenWindow(#Window_0, 556, 397, 553, 221, "Rechercher un fichiers dans la base de donnée", #PB_Window_TitleBar|#PB_Window_SystemMenu|#PB_Window_ScreenCentered|#PB_Window_SizeGadget)
StringGadget(#String_nom_fichier_rechercher, 15, 30, 525, 20, "")
TextGadget(#Text_1, 15, 10, 525, 20, "Entrez le nom du fichier a rechercher:", #PB_Text_Center)
CheckBoxGadget(#CheckBox_date_creation, 15, 65, 100, 20, "Date de création:")
CheckBoxGadget(#CheckBox_date_modiffication, 15, 90, 120, 20, "Date de modiffication:")
CheckBoxGadget(#CheckBox_date_dernier_accer, 15, 115, 125, 20, "Date du dernier accer:")
CheckBoxGadget(#CheckBox_taille_fichier, 15, 165, 95, 20, "Taille du fichier:")
CheckBoxGadget(#CheckBox_attributs_fichier, 15, 190, 110, 20, "Attributs du fichier:")
CheckBoxGadget(#CheckBox_type_fichier, 15, 140, 90, 20, "Type du fichier:")
ComboBoxGadget(#ComboBox_est_nest_pas_date_de_creation, 150, 65, 85, 20)
ComboBoxGadget(#ComboBox_opperateur_date_creation, 240, 65, 145, 20)
ComboBoxGadget(#ComboBox_est_nest_pas_date_de_modiffication, 150, 90, 85, 20)
ComboBoxGadget(#ComboBox_est_nest_pas_date_dernier_accer, 150, 115, 85, 20)
ComboBoxGadget(#ComboBox_est_nest_pas_taille_fichier, 150, 165, 85, 20)
ComboBoxGadget(#ComboBox_attribus_fichiers, 240, 190, 145, 20)
ComboBoxGadget(#ComboBox_date_creation_jour, 390, 65, 40, 20)
ComboBoxGadget(#ComboBox_date_creation_annee, 480, 65, 60, 20)
ComboBoxGadget(#ComboBox_date_modiffication_mois, 435, 90, 40, 20)
ComboBoxGadget(#ComboBox_date_creation_mois, 435, 65, 40, 20)
ComboBoxGadget(#ComboBox_opperateur_date_modiffication, 240, 90, 145, 20)
ComboBoxGadget(#ComboBox_opperateur_date_dernier_accer, 240, 115, 145, 20)
ComboBoxGadget(#ComboBox_date_modiffication_jour, 390, 90, 40, 20)
ComboBoxGadget(#ComboBox_date_dernier_accer_jour, 390, 115, 40, 20)
ComboBoxGadget(#ComboBox_date_dernier_accer_mois, 435, 115, 40, 20)
ComboBoxGadget(#ComboBox_date_modiffication_annee, 480, 90, 60, 20)
ComboBoxGadget(#ComboBox_date_dernier_accer_annee, 480, 115, 60, 20)
ButtonGadget(#Button_rechercher, 390, 190, 85, 20, "Rechercher")
ButtonGadget(#Button_annuler, 480, 190, 60, 20, "Annuler")
ComboBoxGadget(#ComboBox_opperateur_taille_fichier, 240, 165, 145, 20)
ComboBoxGadget(#ComboBox_taille_fichier, 390, 165, 85, 20)
ComboBoxGadget(#ComboBox_delimiteur_taille_fichier, 480, 165, 60, 20)
ComboBoxGadget(#ComboBox_est_nest_pas_attributs_fichier, 150, 190, 85, 20)
ComboBoxGadget(#ComboBox_est_nest_pas_type_fichier, 150, 140, 85, 20)
ComboBoxGadget(#ComboBox_type_fichier, 240, 140, 300, 20)
DisableGadget(#ComboBox_est_nest_pas_date_de_creation, 1)
DisableGadget(#ComboBox_opperateur_date_creation, 1)
DisableGadget(#ComboBox_date_creation_jour, 1)
DisableGadget(#ComboBox_date_creation_mois, 1)
DisableGadget(#ComboBox_date_creation_annee, 1)
DisableGadget(#ComboBox_est_nest_pas_date_de_modiffication, 1)
DisableGadget(#ComboBox_opperateur_date_modiffication, 1)
DisableGadget(#ComboBox_date_modiffication_jour, 1)
DisableGadget(#ComboBox_date_modiffication_mois, 1)
DisableGadget(#ComboBox_date_modiffication_annee, 1)
DisableGadget(#ComboBox_est_nest_pas_date_dernier_accer, 1)
DisableGadget(#ComboBox_opperateur_date_dernier_accer, 1)
DisableGadget(#ComboBox_date_dernier_accer_jour, 1)
DisableGadget(#ComboBox_date_dernier_accer_mois, 1)
DisableGadget(#ComboBox_date_dernier_accer_annee, 1)
DisableGadget(#ComboBox_est_nest_pas_taille_fichier, 1)
DisableGadget(#ComboBox_taille_fichier, 1)
DisableGadget(#ComboBox_opperateur_taille_fichier, 1)
DisableGadget(#ComboBox_delimiteur_taille_fichier, 1)
DisableGadget(#ComboBox_attribus_fichiers, 1)
DisableGadget(#ComboBox_est_nest_pas_attributs_fichier, 1)
DisableGadget(#ComboBox_est_nest_pas_type_fichier, 1)
DisableGadget(#ComboBox_type_fichier, 1)
AddGadgetItem(#ComboBox_est_nest_pas_date_de_creation, -1, "Est")
AddGadgetItem(#ComboBox_est_nest_pas_date_de_creation, -1, "N'est pas")
AddGadgetItem(#ComboBox_opperateur_date_creation, -1, "Egale à")
AddGadgetItem(#ComboBox_opperateur_date_creation, -1, "Supérieur à")
AddGadgetItem(#ComboBox_opperateur_date_creation, -1, "Inferieur à")
AddGadgetItem(#ComboBox_opperateur_date_creation, -1, "Superieur ou égale à")
AddGadgetItem(#ComboBox_opperateur_date_creation, -1, "Inferieur ou égale à")
AddGadgetItem(#ComboBox_opperateur_date_creation, -1, "Inferieur ou égale à")
For ComboBox_date_creation_jour = 1 To 31
AddGadgetItem(#ComboBox_date_creation_jour, -1, Str(ComboBox_date_creation_jour))
Next
For ComboBox_date_creation_mois = 1 To 12
AddGadgetItem(#ComboBox_date_creation_mois, -1, Str(ComboBox_date_creation_mois))
Next
For ComboBox_date_creation_annee = 1970 To 2038
AddGadgetItem(#ComboBox_date_creation_annee, -1, Str(ComboBox_date_creation_annee))
Next
AddGadgetItem(#ComboBox_est_nest_pas_date_dernier_accer, -1, "Est")
AddGadgetItem(#ComboBox_est_nest_pas_date_dernier_accer, -1, "N'est pas")
AddGadgetItem(#ComboBox_opperateur_date_dernier_accer, -1, "Egale à")
AddGadgetItem(#ComboBox_opperateur_date_dernier_accer, -1, "Supérieur à")
AddGadgetItem(#ComboBox_opperateur_date_dernier_accer, -1, "Inferieur à")
AddGadgetItem(#ComboBox_opperateur_date_dernier_accer, -1, "Superieur ou égale à")
AddGadgetItem(#ComboBox_opperateur_date_dernier_accer, -1, "Inferieur ou égale à")
AddGadgetItem(#ComboBox_opperateur_date_dernier_accer, -1, "Inferieur ou égale à")
For ComboBox_date_dernier_accer_jour = 1 To 31
AddGadgetItem(#ComboBox_date_dernier_accer_jour, -1, Str(ComboBox_date_dernier_accer_jour))
Next
For ComboBox_date_dernier_accer_mois = 1 To 12
AddGadgetItem(#ComboBox_date_dernier_accer_mois, -1, Str(ComboBox_date_dernier_accer_mois))
Next
For ComboBox_date_dernier_accer_annee = 1970 To 2038
AddGadgetItem(#ComboBox_date_dernier_accer_annee, -1, Str(ComboBox_date_dernier_accer_annee))
Next
AddGadgetItem(#ComboBox_type_fichier, -1, "3ds")
AddGadgetItem(#ComboBox_type_fichier, -1, "ace")
AddGadgetItem(#ComboBox_type_fichier, -1, "aif")
AddGadgetItem(#ComboBox_type_fichier, -1, "aifc")
AddGadgetItem(#ComboBox_type_fichier, -1, "aiff")
AddGadgetItem(#ComboBox_type_fichier, -1, "ani")
AddGadgetItem(#ComboBox_type_fichier, -1, "arc")
AddGadgetItem(#ComboBox_type_fichier, -1, "arj")
AddGadgetItem(#ComboBox_type_fichier, -1, "asp")
AddGadgetItem(#ComboBox_type_fichier, -1, "avi")
AddGadgetItem(#ComboBox_type_fichier, -1, "bak")
AddGadgetItem(#ComboBox_type_fichier, -1, "bat")
AddGadgetItem(#ComboBox_type_fichier, -1, "bin")
AddGadgetItem(#ComboBox_type_fichier, -1, "bmp")
AddGadgetItem(#ComboBox_type_fichier, -1, "c")
AddGadgetItem(#ComboBox_type_fichier, -1, "cab")
AddGadgetItem(#ComboBox_type_fichier, -1, "cda")
AddGadgetItem(#ComboBox_type_fichier, -1, "cdf")
AddGadgetItem(#ComboBox_type_fichier, -1, "cdr")
AddGadgetItem(#ComboBox_type_fichier, -1, "cfm")
AddGadgetItem(#ComboBox_type_fichier, -1, "cgi")
AddGadgetItem(#ComboBox_type_fichier, -1, "cgm")
AddGadgetItem(#ComboBox_type_fichier, -1, "chk")
AddGadgetItem(#ComboBox_type_fichier, -1, "class")
AddGadgetItem(#ComboBox_type_fichier, -1, "com")
AddGadgetItem(#ComboBox_type_fichier, -1, "cpe")
AddGadgetItem(#ComboBox_type_fichier, -1, "cpl")
AddGadgetItem(#ComboBox_type_fichier, -1, "cpp")
AddGadgetItem(#ComboBox_type_fichier, -1, "css")
AddGadgetItem(#ComboBox_type_fichier, -1, "cue")
AddGadgetItem(#ComboBox_type_fichier, -1, "cur")
AddGadgetItem(#ComboBox_type_fichier, -1, "dat")
AddGadgetItem(#ComboBox_type_fichier, -1, "dbf")
AddGadgetItem(#ComboBox_type_fichier, -1, "dib")
AddGadgetItem(#ComboBox_type_fichier, -1, "divx")
AddGadgetItem(#ComboBox_type_fichier, -1, "diz")
AddGadgetItem(#ComboBox_type_fichier, -1, "dll")
AddGadgetItem(#ComboBox_type_fichier, -1, "doc")
AddGadgetItem(#ComboBox_type_fichier, -1, "dos")
AddGadgetItem(#ComboBox_type_fichier, -1, "dot")
AddGadgetItem(#ComboBox_type_fichier, -1, "drv")
AddGadgetItem(#ComboBox_type_fichier, -1, "drw")
AddGadgetItem(#ComboBox_type_fichier, -1, "dvit")
AddGadgetItem(#ComboBox_type_fichier, -1, "dwg")
AddGadgetItem(#ComboBox_type_fichier, -1, "dxf")
AddGadgetItem(#ComboBox_type_fichier, -1, "ecd")
AddGadgetItem(#ComboBox_type_fichier, -1, "eps")
AddGadgetItem(#ComboBox_type_fichier, -1, "eqn")
AddGadgetItem(#ComboBox_type_fichier, -1, "exe")
AddGadgetItem(#ComboBox_type_fichier, -1, "fif")
AddGadgetItem(#ComboBox_type_fichier, -1, "flc")
AddGadgetItem(#ComboBox_type_fichier, -1, "fli")
AddGadgetItem(#ComboBox_type_fichier, -1, "fon")
AddGadgetItem(#ComboBox_type_fichier, -1, "for")
AddGadgetItem(#ComboBox_type_fichier, -1, "fot")
AddGadgetItem(#ComboBox_type_fichier, -1, "gdg")
AddGadgetItem(#ComboBox_type_fichier, -1, "gif")
AddGadgetItem(#ComboBox_type_fichier, -1, "grp")
AddGadgetItem(#ComboBox_type_fichier, -1, "gz")
AddGadgetItem(#ComboBox_type_fichier, -1, "h")
AddGadgetItem(#ComboBox_type_fichier, -1, "hlp")
AddGadgetItem(#ComboBox_type_fichier, -1, "htm")
AddGadgetItem(#ComboBox_type_fichier, -1, "html")
AddGadgetItem(#ComboBox_type_fichier, -1, "icc")
AddGadgetItem(#ComboBox_type_fichier, -1, "icm")
AddGadgetItem(#ComboBox_type_fichier, -1, "ico")
AddGadgetItem(#ComboBox_type_fichier, -1, "idf")
AddGadgetItem(#ComboBox_type_fichier, -1, "iff")
AddGadgetItem(#ComboBox_type_fichier, -1, "iges")
AddGadgetItem(#ComboBox_type_fichier, -1, "ilbm")
AddGadgetItem(#ComboBox_type_fichier, -1, "inf")
AddGadgetItem(#ComboBox_type_fichier, -1, "ini")
AddGadgetItem(#ComboBox_type_fichier, -1, "ink")
AddGadgetItem(#ComboBox_type_fichier, -1, "jar")
AddGadgetItem(#ComboBox_type_fichier, -1, "jav")
AddGadgetItem(#ComboBox_type_fichier, -1, "java")
AddGadgetItem(#ComboBox_type_fichier, -1, "jpeg")
AddGadgetItem(#ComboBox_type_fichier, -1, "jpg")
AddGadgetItem(#ComboBox_type_fichier, -1, "kgb")
AddGadgetItem(#ComboBox_type_fichier, -1, "lbm")
AddGadgetItem(#ComboBox_type_fichier, -1, "lha")
AddGadgetItem(#ComboBox_type_fichier, -1, "lib")
AddGadgetItem(#ComboBox_type_fichier, -1, "lnk")
AddGadgetItem(#ComboBox_type_fichier, -1, "log")
AddGadgetItem(#ComboBox_type_fichier, -1, "lzh")
AddGadgetItem(#ComboBox_type_fichier, -1, "m")
AddGadgetItem(#ComboBox_type_fichier, -1, "m3u")
AddGadgetItem(#ComboBox_type_fichier, -1, "max")
AddGadgetItem(#ComboBox_type_fichier, -1, "mid")
AddGadgetItem(#ComboBox_type_fichier, -1, "mkv")
AddGadgetItem(#ComboBox_type_fichier, -1, "mod")
AddGadgetItem(#ComboBox_type_fichier, -1, "mov")
AddGadgetItem(#ComboBox_type_fichier, -1, "mp2")
AddGadgetItem(#ComboBox_type_fichier, -1, "mp3")
AddGadgetItem(#ComboBox_type_fichier, -1, "mp4")
AddGadgetItem(#ComboBox_type_fichier, -1, "mpg")
AddGadgetItem(#ComboBox_type_fichier, -1, "msi")
AddGadgetItem(#ComboBox_type_fichier, -1, "n64")
AddGadgetItem(#ComboBox_type_fichier, -1, "nfo")
AddGadgetItem(#ComboBox_type_fichier, -1, "nrg")
AddGadgetItem(#ComboBox_type_fichier, -1, "ocx")
AddGadgetItem(#ComboBox_type_fichier, -1, "odt")
AddGadgetItem(#ComboBox_type_fichier, -1, "ogg")
AddGadgetItem(#ComboBox_type_fichier, -1, "old")
AddGadgetItem(#ComboBox_type_fichier, -1, "org")
AddGadgetItem(#ComboBox_type_fichier, -1, "p")
AddGadgetItem(#ComboBox_type_fichier, -1, "pb")
AddGadgetItem(#ComboBox_type_fichier, -1, "pbf")
AddGadgetItem(#ComboBox_type_fichier, -1, "pcd")
AddGadgetItem(#ComboBox_type_fichier, -1, "pct")
AddGadgetItem(#ComboBox_type_fichier, -1, "pcx")
AddGadgetItem(#ComboBox_type_fichier, -1, "pdf")
AddGadgetItem(#ComboBox_type_fichier, -1, "php")
AddGadgetItem(#ComboBox_type_fichier, -1, "php3")
AddGadgetItem(#ComboBox_type_fichier, -1, "pic")
AddGadgetItem(#ComboBox_type_fichier, -1, "pif")
AddGadgetItem(#ComboBox_type_fichier, -1, "pl")
AddGadgetItem(#ComboBox_type_fichier, -1, "pls")
AddGadgetItem(#ComboBox_type_fichier, -1, "png")
AddGadgetItem(#ComboBox_type_fichier, -1, "ppj")
AddGadgetItem(#ComboBox_type_fichier, -1, "pps")
AddGadgetItem(#ComboBox_type_fichier, -1, "ppt")
AddGadgetItem(#ComboBox_type_fichier, -1, "prj")
AddGadgetItem(#ComboBox_type_fichier, -1, "ps")
AddGadgetItem(#ComboBox_type_fichier, -1, "psd")
AddGadgetItem(#ComboBox_type_fichier, -1, "psp")
AddGadgetItem(#ComboBox_type_fichier, -1, "pub")
AddGadgetItem(#ComboBox_type_fichier, -1, "pwl")
AddGadgetItem(#ComboBox_type_fichier, -1, "qt")
AddGadgetItem(#ComboBox_type_fichier, -1, "ra")
AddGadgetItem(#ComboBox_type_fichier, -1, "ram")
AddGadgetItem(#ComboBox_type_fichier, -1, "rar")
AddGadgetItem(#ComboBox_type_fichier, -1, "reg")
AddGadgetItem(#ComboBox_type_fichier, -1, "rtf")
AddGadgetItem(#ComboBox_type_fichier, -1, "scr")
AddGadgetItem(#ComboBox_type_fichier, -1, "snd")
AddGadgetItem(#ComboBox_type_fichier, -1, "sql")
AddGadgetItem(#ComboBox_type_fichier, -1, "swf")
AddGadgetItem(#ComboBox_type_fichier, -1, "swp")
AddGadgetItem(#ComboBox_type_fichier, -1, "sys")
AddGadgetItem(#ComboBox_type_fichier, -1, "tar")
AddGadgetItem(#ComboBox_type_fichier, -1, "tga")
AddGadgetItem(#ComboBox_type_fichier, -1, "tgz")
AddGadgetItem(#ComboBox_type_fichier, -1, "theme")
AddGadgetItem(#ComboBox_type_fichier, -1, "tif")
AddGadgetItem(#ComboBox_type_fichier, -1, "tiff")
AddGadgetItem(#ComboBox_type_fichier, -1, "tmp")
AddGadgetItem(#ComboBox_type_fichier, -1, "torrent")
AddGadgetItem(#ComboBox_type_fichier, -1, "ttf")
AddGadgetItem(#ComboBox_type_fichier, -1, "txt")
AddGadgetItem(#ComboBox_type_fichier, -1, "u")
AddGadgetItem(#ComboBox_type_fichier, -1, "uha")
AddGadgetItem(#ComboBox_type_fichier, -1, "url")
AddGadgetItem(#ComboBox_type_fichier, -1, "utx")
AddGadgetItem(#ComboBox_type_fichier, -1, "uu")
AddGadgetItem(#ComboBox_type_fichier, -1, "uue")
AddGadgetItem(#ComboBox_type_fichier, -1, "vbs")
AddGadgetItem(#ComboBox_type_fichier, -1, "vivo")
AddGadgetItem(#ComboBox_type_fichier, -1, "voc")
AddGadgetItem(#ComboBox_type_fichier, -1, "vtc")
AddGadgetItem(#ComboBox_type_fichier, -1, "vue")
AddGadgetItem(#ComboBox_type_fichier, -1, "vxd")
AddGadgetItem(#ComboBox_type_fichier, -1, "wav")
AddGadgetItem(#ComboBox_type_fichier, -1, "wiz")
AddGadgetItem(#ComboBox_type_fichier, -1, "wma")
AddGadgetItem(#ComboBox_type_fichier, -1, "wmf")
AddGadgetItem(#ComboBox_type_fichier, -1, "wmv")
AddGadgetItem(#ComboBox_type_fichier, -1, "wpg")
AddGadgetItem(#ComboBox_type_fichier, -1, "wri")
AddGadgetItem(#ComboBox_type_fichier, -1, "xi")
AddGadgetItem(#ComboBox_type_fichier, -1, "xls")
AddGadgetItem(#ComboBox_type_fichier, -1, "xm")
AddGadgetItem(#ComboBox_type_fichier, -1, "xmi")
AddGadgetItem(#ComboBox_type_fichier, -1, "xml")
AddGadgetItem(#ComboBox_type_fichier, -1, "zip")
AddGadgetItem(#ComboBox_type_fichier, -1, "zoo")
SetGadgetState(#ComboBox_type_fichier, 149)
AddGadgetItem(#ComboBox_est_nest_pas_date_de_modiffication, -1, "Est")
AddGadgetItem(#ComboBox_est_nest_pas_date_de_modiffication, -1, "N'est pas")
AddGadgetItem(#ComboBox_opperateur_date_modiffication, -1, "Egale à")
AddGadgetItem(#ComboBox_opperateur_date_modiffication, -1, "Supérieur à")
AddGadgetItem(#ComboBox_opperateur_date_modiffication, -1, "Inferieur à")
AddGadgetItem(#ComboBox_opperateur_date_modiffication, -1, "Superieur ou égale à")
AddGadgetItem(#ComboBox_opperateur_date_modiffication, -1, "Inferieur ou égale à")
AddGadgetItem(#ComboBox_opperateur_date_modiffication, -1, "Inferieur ou égale à")
For ComboBox_date_modiffication_jour = 1 To 31
AddGadgetItem(#ComboBox_date_modiffication_jour, -1, Str(ComboBox_date_modiffication_jour))
Next
For ComboBox_date_modiffication_mois = 1 To 12
AddGadgetItem(#ComboBox_date_modiffication_mois, -1, Str(ComboBox_date_modiffication_mois))
Next
For ComboBox_date_modiffication_annee = 1970 To 2038
AddGadgetItem(#ComboBox_date_modiffication_annee, -1, Str(ComboBox_date_modiffication_annee))
Next
AddGadgetItem(#ComboBox_est_nest_pas_taille_fichier, -1, "Est")
AddGadgetItem(#ComboBox_est_nest_pas_taille_fichier, -1, "N'est pas")
AddGadgetItem(#ComboBox_opperateur_taille_fichier, -1, "Egale à")
AddGadgetItem(#ComboBox_opperateur_taille_fichier, -1, "Supérieur à")
AddGadgetItem(#ComboBox_opperateur_taille_fichier, -1, "Inferieur à")
AddGadgetItem(#ComboBox_opperateur_taille_fichier, -1, "Superieur ou égale à")
AddGadgetItem(#ComboBox_opperateur_taille_fichier, -1, "Inferieur ou égale à")
AddGadgetItem(#ComboBox_opperateur_taille_fichier, -1, "Inferieur ou égale à")
For ComboBox_taille_fichier = 1 To 1000
AddGadgetItem(#ComboBox_taille_fichier, -1, Str(ComboBox_taille_fichier))
Next
AddGadgetItem(#ComboBox_delimiteur_taille_fichier, -1, "Octets")
AddGadgetItem(#ComboBox_delimiteur_taille_fichier, -1, "Ko")
AddGadgetItem(#ComboBox_delimiteur_taille_fichier, -1, "Mo")
AddGadgetItem(#ComboBox_delimiteur_taille_fichier, -1, "Go")
AddGadgetItem(#ComboBox_delimiteur_taille_fichier, -1, "To")
AddGadgetItem(#ComboBox_delimiteur_taille_fichier, -1, "Po")
AddGadgetItem(#ComboBox_est_nest_pas_type_fichier, -1, "Est")
AddGadgetItem(#ComboBox_est_nest_pas_type_fichier, -1, "N'est pas")
AddGadgetItem(#ComboBox_est_nest_pas_attributs_fichier, -1, "Est")
AddGadgetItem(#ComboBox_est_nest_pas_attributs_fichier, -1, "N'est pas")
AddGadgetItem(#ComboBox_attribus_fichiers, -1, "Normal")
AddGadgetItem(#ComboBox_attribus_fichiers, -1, "Caché")
AddGadgetItem(#ComboBox_attribus_fichiers, -1, "Archivé")
AddGadgetItem(#ComboBox_attribus_fichiers, -1, "Compressé")
AddGadgetItem(#ComboBox_attribus_fichiers, -1, "Lecture seule")
AddGadgetItem(#ComboBox_attribus_fichiers, -1, "Système")
Jour_actuelle = Day(Date()) - 1
Mois_actuelle = Month(Date()) - 1
Annee_actuelle = Year(Date())
For Position_combo_Annee_actuelle = 0 To 67
If GetGadgetItemText(#ComboBox_date_creation_annee, Position_combo_Annee_actuelle) = Str(Annee_actuelle)
Annee_actuelle = Position_combo_Annee_actuelle
EndIf
Next
SetGadgetState(#ComboBox_est_nest_pas_date_de_creation, 0)
SetGadgetState(#ComboBox_opperateur_date_creation, 0)
SetGadgetState(#ComboBox_est_nest_pas_date_dernier_accer, 0)
SetGadgetState(#ComboBox_opperateur_date_dernier_accer, 0)
SetGadgetState(#ComboBox_est_nest_pas_date_de_modiffication, 0)
SetGadgetState(#ComboBox_opperateur_date_modiffication, 0)
SetGadgetState(#ComboBox_date_creation_jour, Jour_actuelle)
SetGadgetState(#ComboBox_date_creation_mois, Mois_actuelle)
SetGadgetState(#ComboBox_date_creation_annee, Annee_actuelle)
SetGadgetState(#ComboBox_date_dernier_accer_jour, Jour_actuelle)
SetGadgetState(#ComboBox_date_dernier_accer_mois, Mois_actuelle)
SetGadgetState(#ComboBox_date_dernier_accer_annee, Annee_actuelle)
SetGadgetState(#ComboBox_date_modiffication_jour, Jour_actuelle)
SetGadgetState(#ComboBox_date_modiffication_mois, Mois_actuelle)
SetGadgetState(#ComboBox_date_modiffication_annee, Annee_actuelle)
SetGadgetState(#ComboBox_est_nest_pas_type_fichier, 0)
SetGadgetState(#ComboBox_est_nest_pas_attributs_fichier, 0)
SetGadgetState(#ComboBox_attribus_fichiers, 0)
SetGadgetState(#ComboBox_est_nest_pas_taille_fichier, 0)
SetGadgetState(#ComboBox_opperateur_taille_fichier, 0)
SetGadgetState(#ComboBox_delimiteur_taille_fichier, 0)
SetGadgetState(#ComboBox_taille_fichier, 0)
EndIf
Repeat
Sauvegarde_Nom_du_fichier_a_chercher$ = Nom_du_fichier_a_chercher$
Nom_du_fichier_a_chercher$ = GetGadgetText(#String_nom_fichier_rechercher)
If sauvegarde_Nom_du_fichier_a_chercher$ <> Nom_du_fichier_a_chercher$ And Nom_du_fichier_a_chercher$ <> ""
If Nom_du_fichier_a_chercher$ > ""
If CheckFilename(Nom_du_fichier_a_chercher$)
; tous va bien
Else
MessageRequester("Erreur de nom de fichier", "Ce nom de fichier est invalide !", 16)
EndIf
EndIf
position_extraction = Len(Nom_du_fichier_a_chercher$) + 1
Repeat
position_extraction - 1
Caractere$ = Mid(Nom_du_fichier_a_chercher$, position_extraction, 1)
If Caractere$ = "." Or position_extraction = 0
Break
EndIf
ForEver
If Caractere$ = "."
Extantion_du_fichier$ = Mid(Nom_du_fichier_a_chercher$, position_extraction + 1)
For Position_combo_extantion_fichier = 0 To 176
If GetGadgetItemText(#ComboBox_type_fichier, Position_combo_extantion_fichier) = Extantion_du_fichier$
SetGadgetState(#ComboBox_type_fichier, Position_combo_extantion_fichier)
EndIf
Next
EndIf
ElseIf Nom_du_fichier_a_chercher$ = ""
Nom_du_fichier_a_chercher$ = GetGadgetText(#String_nom_fichier_rechercher)
Sauvegarde_Nom_du_fichier_a_chercher$ = Nom_du_fichier_a_chercher$
EndIf
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Gadget
EventGadget = EventGadget()
EventType = EventType()
If EventGadget = #String_nom_fichier_rechercher
ElseIf EventGadget = #Text_1
ElseIf EventGadget = #CheckBox_date_creation
Etas_CheckBox_date_creation = GetGadgetState(#CheckBox_date_creation)
If Etas_CheckBox_date_creation = 1
DisableGadget(#ComboBox_est_nest_pas_date_de_creation, 0)
DisableGadget(#ComboBox_opperateur_date_creation, 0)
DisableGadget(#ComboBox_date_creation_jour, 0)
DisableGadget(#ComboBox_date_creation_annee, 0)
DisableGadget(#ComboBox_date_creation_mois, 0)
Else
DisableGadget(#ComboBox_est_nest_pas_date_de_creation, 1)
DisableGadget(#ComboBox_opperateur_date_creation, 1)
DisableGadget(#ComboBox_date_creation_jour, 1)
DisableGadget(#ComboBox_date_creation_annee, 1)
DisableGadget(#ComboBox_date_creation_mois, 1)
EndIf
ElseIf EventGadget = #CheckBox_date_modiffication
Etas_CheckBox_date_modiffication = GetGadgetState(#CheckBox_date_modiffication)
If Etas_CheckBox_date_modiffication = 1
DisableGadget(#ComboBox_est_nest_pas_date_de_modiffication, 0)
DisableGadget(#ComboBox_date_modiffication_jour, 0)
DisableGadget(#ComboBox_date_modiffication_mois, 0)
DisableGadget(#ComboBox_date_modiffication_annee, 0)
DisableGadget(#ComboBox_opperateur_date_modiffication, 0)
Else
DisableGadget(#ComboBox_est_nest_pas_date_de_modiffication, 1)
DisableGadget(#ComboBox_date_modiffication_jour, 1)
DisableGadget(#ComboBox_date_modiffication_mois, 1)
DisableGadget(#ComboBox_date_modiffication_annee, 1)
DisableGadget(#ComboBox_opperateur_date_modiffication, 1)
EndIf
ElseIf EventGadget = #CheckBox_date_dernier_accer
Etas_CheckBox_date_dernier_accer = GetGadgetState(#CheckBox_date_dernier_accer)
If Etas_CheckBox_date_dernier_accer = 1
DisableGadget(#ComboBox_est_nest_pas_date_dernier_accer, 0)
DisableGadget(#ComboBox_opperateur_date_dernier_accer, 0)
DisableGadget(#ComboBox_date_dernier_accer_jour, 0)
DisableGadget(#ComboBox_date_dernier_accer_mois, 0)
DisableGadget(#ComboBox_date_dernier_accer_annee, 0)
Else
DisableGadget(#ComboBox_est_nest_pas_date_dernier_accer, 1)
DisableGadget(#ComboBox_opperateur_date_dernier_accer, 1)
DisableGadget(#ComboBox_date_dernier_accer_jour, 1)
DisableGadget(#ComboBox_date_dernier_accer_mois, 1)
DisableGadget(#ComboBox_date_dernier_accer_annee, 1)
EndIf
ElseIf EventGadget = #CheckBox_taille_fichier
Etas_CheckBox_taille_fichier = GetGadgetState(#CheckBox_taille_fichier)
If Etas_CheckBox_taille_fichier = 1
DisableGadget(#ComboBox_est_nest_pas_taille_fichier, 0)
DisableGadget(#ComboBox_taille_fichier, 0)
DisableGadget(#ComboBox_opperateur_taille_fichier, 0)
DisableGadget(#ComboBox_delimiteur_taille_fichier, 0)
Else
DisableGadget(#ComboBox_est_nest_pas_taille_fichier, 1)
DisableGadget(#ComboBox_taille_fichier, 1)
DisableGadget(#ComboBox_opperateur_taille_fichier, 1)
DisableGadget(#ComboBox_delimiteur_taille_fichier, 1)
EndIf
ElseIf EventGadget = #CheckBox_attributs_fichier
Etas_CheckBox_attributs_fichier = GetGadgetState(#CheckBox_attributs_fichier)
If Etas_CheckBox_attributs_fichier = 1
DisableGadget(#ComboBox_attribus_fichiers, 0)
DisableGadget(#ComboBox_est_nest_pas_attributs_fichier, 0)
Else
DisableGadget(#ComboBox_attribus_fichiers, 1)
DisableGadget(#ComboBox_est_nest_pas_attributs_fichier, 1)
EndIf
ElseIf EventGadget = #CheckBox_type_fichier
Etas_CheckBox_type_fichier = GetGadgetState(#CheckBox_type_fichier)
If Etas_CheckBox_type_fichier = 1
DisableGadget(#ComboBox_est_nest_pas_type_fichier, 0)
DisableGadget(#ComboBox_type_fichier, 0)
Else
DisableGadget(#ComboBox_est_nest_pas_type_fichier, 1)
DisableGadget(#ComboBox_type_fichier, 1)
EndIf
ElseIf EventGadget = #ComboBox_est_nest_pas_date_de_creation
ElseIf EventGadget = #ComboBox_opperateur_date_creation
ElseIf EventGadget = #ComboBox_est_nest_pas_date_de_modiffication
ElseIf EventGadget = #ComboBox_est_nest_pas_date_dernier_accer
ElseIf EventGadget = #ComboBox_est_nest_pas_taille_fichier
ElseIf EventGadget = #ComboBox_attribus_fichiers
ElseIf EventGadget = #ComboBox_date_creation_jour
ElseIf EventGadget = #ComboBox_date_creation_annee
ElseIf EventGadget = #ComboBox_date_modiffication_mois
ElseIf EventGadget = #ComboBox_date_creation_mois
ElseIf EventGadget = #ComboBox_opperateur_date_modiffication
ElseIf EventGadget = #ComboBox_opperateur_date_dernier_accer
ElseIf EventGadget = #ComboBox_date_modiffication_jour
ElseIf EventGadget = #ComboBox_date_dernier_accer_jour
ElseIf EventGadget = #ComboBox_date_dernier_accer_mois
ElseIf EventGadget = #ComboBox_date_modiffication_annee
ElseIf EventGadget = #ComboBox_date_dernier_accer_annee
ElseIf EventGadget = #Button_rechercher
ElseIf EventGadget = #Button_annuler
ElseIf EventGadget = #ComboBox_taille_fichier
ElseIf EventGadget = #ComboBox_opperateur_taille_fichier
ElseIf EventGadget = #ComboBox_delimiteur_taille_fichier
ElseIf EventGadget = #ComboBox_est_nest_pas_attributs_fichier
ElseIf EventGadget = #ComboBox_est_nest_pas_type_fichier
ElseIf EventGadget = #ComboBox_type_fichier
EndIf
Case #PB_Event_CloseWindow
EventWindow = EventWindow()
If EventWindow = #Window_0
CloseWindow(#Window_0)
DisableWindow(#Window_1, 0)
StickyWindow(#Window_1, 1)
StickyWindow(#Window_1, 0)
Break
EndIf
EndSelect
ForEver
EndProcedure
Procedure Interface_gestionnaire_de_fichiers()
ShellMenu.IContextMenu = 0
If OpenWindow(#Window_1, 426, 54, 749, 600, "Gestionnaire de fichiers", #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered|#PB_Window_TitleBar)
If CreateStatusBar(#BarreEtat, WindowID(#Window_1))
AddStatusBarField(800)
EndIf
ButtonGadget(#Button_2, 10, 530, 140, 25, "Rechercher un fichier")
ExplorerListGadget(#ExplorerList_6, 5, 25, 739, 500, "C:\Users\dayvid\Desktop\Base de donnée de fichiers\", #PB_Explorer_GridLines|#PB_Explorer_MultiSelect)
SetGadgetItemAttribute(#ExplorerList_6, 0, #PB_Explorer_ColumnWidth, 315, 0)
SetGadgetItemAttribute(#ExplorerList_6, 0, #PB_Explorer_ColumnWidth, 100, 1)
SetGadgetItemAttribute(#ExplorerList_6, 0, #PB_Explorer_ColumnWidth, 210, 2)
SetGadgetItemAttribute(#ExplorerList_6, 0, #PB_Explorer_ColumnWidth, 111, 3)
ButtonGadget(#Button_7, 155, 530, 140, 25, "Mettre a jour des fichiers")
TextGadget(#Text_8, 5, 5, 739, 15, "Explorateur de la base de données de fichiers", #PB_Text_Center)
EndIf
Repeat
Event = WaitWindowEvent()
Repertoire_actuelle$ = GetGadgetText(#ExplorerList_6)
If sauvedarde_Repertoire_actuelle$ <> Repertoire_actuelle$
sauvedarde_Repertoire_actuelle$ = Repertoire_actuelle$
StatusBarText(#BarreEtat, 0, Repertoire_actuelle$)
ElseIf sauvedarde_Repertoire_actuelle$ = "" And Repertoire_actuelle$ = ""
sauvedarde_Repertoire_actuelle$ = Repertoire_actuelle$
StatusBarText(#BarreEtat, 0, Repertoire_actuelle$)
EndIf
Select Event
Case #PB_Event_Gadget
EventGadget = EventGadget()
EventType = EventType()
If EventGadget = #Button_2
DisableWindow(#Window_1, 1)
Interface_rechercher_un_fichier()
ElseIf EventGadget = #ExplorerList_6
Select EventType
Case #PB_EventType_LeftDoubleClick
ShellExecute_(0,"open",GetGadgetText(#ExplorerList_6)+GetGadgetItemText(#ExplorerList_6, GetGadgetState(#ExplorerList_6) ,0),0,0,1)
Case #PB_EventType_LeftClick
Case #PB_EventType_RightClick
; Obtenir l'IDL et ISHELLFOLDER pour la liste d'adresses actuelle dans le gadget
;
If SHGetDesktopFolder_(@Desktop.IShellFolder) = #S_OK
Debug "got desktop folder"
ParentFolder$ = GetGadgetText(#ExplorerList_6)
If Desktop\ParseDisplayName(WindowID(#Window_1), #Null, ParentFolder$, #Null, @*ParentIDL, #Null) = #S_OK
Debug "got parent folder idl"
If Desktop\BindToObject(*ParentIDL, #Null, ?IID_IShellFolder, @Parent.IShellFolder) = #S_OK
Debug "got parent folder object"
; Obtenir l'IDLS pour tous les articles choisis
;
TotalCount = CountGadgetItems(#ExplorerList_6)
ItemCount = 0
For i = 0 To TotalCount-1
If GetGadgetItemState(#ExplorerList_6, i) & #PB_Explorer_Selected And GetGadgetItemText(#ExplorerList_6, i, 0) <> ".."
ItemCount + 1
EndIf
Next i
If ItemCount > 0
Dim *FileIDL(ItemCount-1)
ParsedCount = 0
For i = 0 To TotalCount-1
If GetGadgetItemState(#ExplorerList_6, i) & #PB_Explorer_Selected And GetGadgetItemText(#ExplorerList_6, i, 0) <> ".."
ItemName$ = GetGadgetItemText(#ExplorerList_6, i, 0)
If Parent\ParseDisplayName(WindowID(#Window_1), #Null, ItemName$, #Null, @*FileIDL(ParsedCount), #Null) = #S_OK
ParsedCount + 1
EndIf
EndIf
Next i
; Seulement allez au menu en faisant l'analyse syntaxique de tous les articles a travaillé correctement
;
If ParsedCount = ItemCount
Debug "got item idl's"
; Libérer le vieil objet de menu
If ShellMenu
ShellMenu\Release()
ShellMenu = 0
EndIf
; Ouvrir les clefs d'enregistrement pour des extensions de coquille
;
KeyCount = 1
Dim KeyStrings.s(KeyCount)
Dim hKey(KeyCount)
KeyStrings(0) = "*"
; KeyStrings(1) = ".txt"
; KeyStrings(2) = "txtfile"
KeysOpen = 0
For i = 0 To KeyCount-1
If RegCreateKeyEx_(#HKEY_CLASSES_ROOT, @KeyStrings(i), 0, #Null, 0, #KEY_READ, #Null, @hKey(KeysOpen), #Null) = #ERROR_SUCCESS
KeysOpen + 1
EndIf
Next i
; Créer l'objet de menu pour nos articles avec le susdit rappel de service
;
If CDefFolderMenu_Create2(*ParentIDL, WindowID(#Window_1), ParsedCount, @*FileIDL(), Parent, @Callback(), KeysOpen, @hKey(), @ShellMenu.IContextMenu) = #S_OK
Debug "got menu"
; Créer un PB popupmenu pour mettre les articles de menu dans
;
If CreatePopupMenu(#Menu)
Debug "got pb menu"
; Ajouter le menu de Coquille(obus) à notre menu contextuel
; Vous pouvez spécifier la gamme d'article de menu ids pour employer ici (pour pas être en conflit avec d'autres de votre programme)
;
If ShellMenu\QueryContextMenu(MenuID(#Menu), 0, #FirstShellMenuItem, #LastShellMenuItem, #CMF_NORMAL|#CMF_CANRENAME) >= 0
Debug "menu items added"
; Montrez le menu contextuel
;
DisplayPopupMenu(#Menu, WindowID(#Window_1))
EndIf
EndIf
EndIf
For i = 0 To KeysOpen-1
RegCloseKey_(hkey(i))
Next i
Else
Debug "error in parsing a selected item"
EndIf
; Libérer l'article IDLs (autant qu'ils ont été faits l'analyse syntaxique)
;
For i = 0 To ParsedCount-1
CoTaskMemFree_(*FileIDL(i))
Next i
EndIf
Parent\Release()
EndIf
CoTaskMemFree_(*ParentIDL)
EndIf
Desktop\Release()
EndIf
EndSelect
ElseIf EventGadget = #Button_7
ElseIf EventGadget = #Text_8
ElseIf EventGadget = #Text_9
ElseIf EventGadget = #Frame3D_10
EndIf
; Un événement de menu de la gamme de contextmenu
;
Case #PB_Event_Menu
If ShellMenu And EventMenu() >= #FirstShellMenuItem And EventMenu() <= #LastShellMenuItem
If EventMenu() = CustomMenuEntry
; Son notre article de menu personnalisé
Debug "--- custom menu item selected ---"
Else
; Son des articles de coquille
Debug "handling event: " + Str(EventMenu())
Command$ = Space(1000)
If ShellMenu\GetCommandString(EventMenu(), #GCS_VERBA, #Null, @Command$, 1000) = #S_OK
Debug "Commmand: " + Command$
; On peut être directement passer certaines de ces commandes à ShellExecute _ () par exemple
EndIf
; Laisser l'objet de menu exécuter cette commande
;
info.CMINVOKECOMMANDINFOEX\cbSize = SizeOf(CMINVOKECOMMANDINFOEX)
info\fMask = 0
info\hwnd = WindowID(#Window_1)
info\lpVerb = EventMenu()
info\nShow = #SW_SHOWNORMAL
err = ShellMenu\InvokeCommand(@info)
If err = #S_OK
Debug "command executed"
Else
Debug "command could not be executed. error = "+Str(err)
EndIf
EndIf
EndIf
Case #PB_Event_CloseWindow
EventWindow = EventWindow()
If EventWindow = #Window_1
CloseWindow(#Window_1)
Break
EndIf
EndSelect
ForEver
CoUninitialize_()
EndProcedure
Procedure Decoupage_date(Date_a_decouper)
Second = Second(Date_a_decouper)
Minute = Minute(Date_a_decouper)
Heur = Hour(Date_a_decouper)
Jour_semaine = DayOfWeek(Date_a_decouper)
Jour_mois = Day(Date_a_decouper)
Mois = Month(Date_a_decouper)
Annee = Year(Date_a_decouper)
If Second < 10
Second$ = "0" + Str(Second)
Else
Second$ = Str(Second)
EndIf
If Minute < 10
Minute$ = "0" + Str(Minute)
Else
Minute$ = Str(Minute)
EndIf
If Heur < 10
Heur$ = "0" + Str(Heur)
Else
Heur$ = Str(Heur)
EndIf
If Jour_semaine = 0
Jour_semaine$ = "Lundi"
ElseIf Jour_semaine = 1
Jour_semaine$ = "Mardi"
ElseIf Jour_semaine = 2
Jour_semaine$ = "Mercredi"
ElseIf Jour_semaine = 3
Jour_semaine$ = "Jeudi"
ElseIf Jour_semaine = 4
Jour_semaine$ = "Vendredi"
ElseIf Jour_semaine = 5
Jour_semaine$ = "Samedi"
ElseIf Jour_semaine = 6
Jour_semaine$ = "Dimanche"
EndIf
If Mois = 1
Mois$ = "Janvier"
ElseIf Mois = 2
Mois$ = "Fevrier"
ElseIf Mois = 3
Mois$ = "Mars"
ElseIf Mois = 4
Mois$ = "Avril"
ElseIf Mois = 5
Mois$ = "Mais"
ElseIf Mois = 6
Mois$ = "Juin"
ElseIf Mois = 7
Mois$ = "juillet"
ElseIf Mois = 8
Mois$ = "Aout"
ElseIf Mois = 9
Mois$ = "Septembre"
ElseIf Mois = 10
Mois$ = "Octobre"
ElseIf Mois = 11
Mois$ = "Novembre"
ElseIf Mois = 12
Mois$ = "Décembre"
EndIf
EndProcedure
Procedure recherche_fichier(Fichier_a_rechercher$)
If Fichier_a_rechercher$ > ""
If ReadFile(1, "Indexation des fichiers.txt") ; Si le fichier peut être lu , on continue...
While Eof(1) = 0 ; Boucle tant que la fin du fichier n'est pas atteinte. (Eof = 'End Of File')
AddElement(liste_fichier())
liste_fichier() = ReadString(1) ; Affiche ligne par ligne le contenu du fichier
Wend
CloseFile(1) ; Ferme le fichier précédemment ouvert
Else
MessageRequester("Information","Impossible d'ouvrir le fichier: Indexation des fichiers.txt !")
EndIf
EndIf
If Date_creation_fichier$ > ""
Date_creation_fichier = 1
EndIf
If Date_modiffication_fichier$ > ""
Date_modiffication_fichier = 1
EndIf
If Date_dernier_accer_fichier$ > ""
Date_dernier_accer_fichier = 1
EndIf
If Taille_fichier$ > ""
Taille_fichier = 1
EndIf
If Attributs_fichier$ > ""
Attributs_fichier = 1
EndIf
If type_fichier$ > ""
Type_fichier = 1
EndIf
ForEach liste_fichier()
Position_recherche = Len(liste_fichier()) + 1
Repeat
Position_recherche - 1
Recherche_slach$ = Mid(liste_fichier(), Position_recherche, 1)
Until Recherche_slach$ = "\"
Fichier_extrai$ = Mid(liste_fichier(), Position_recherche + 1)
If Respecter_la_case$ = "oui"
If FindString(Fichier_extrai$, Fichier_a_rechercher$, 1)
Debug liste_fichier()
EndIf
Else
If FindString(LCase(Fichier_extrai$), LCase(Fichier_a_rechercher$), 1)
Debug liste_fichier()
EndIf
EndIf
Next liste_fichier()
If Date_creation_fichier$ > ""
If Date_creation_fichier = 1
Fichier_trouver = 1
Else
Fichier_trouver = 0
EndIf
EndIf
If Date_modiffication_fichier$ > ""
If Date_modiffication_fichier = 1
Fichier_trouver = 1
Else
Fichier_trouver = 0
EndIf
EndIf
If Date_dernier_accer_fichier$ > ""
If Date_dernier_accer_fichier = 1
Fichier_trouver = 1
Else
Fichier_trouver = 0
EndIf
EndIf
If Taille_fichier$ > ""
If Taille_fichier = 1
Fichier_trouver = 1
Else
Fichier_trouver = 0
EndIf
EndIf
If Attributs_fichier$ > ""
If Attributs_fichier = 1
Fichier_trouver = 1
Else
Fichier_trouver = 0
EndIf
EndIf
If Type_fichier$ > ""
If Type_fichier = 1
Fichier_trouver = 1
Else
Fichier_trouver = 0
EndIf
EndIf
EndProcedure
Procedure.s Recherche_parametre_fichier(repertoire)
Recherche_parametre_Date_creation_fichier = DirectoryEntryDate(Repertoire, #PB_Date_Created)
Recherche_parametre_Date_modiffication_fichier = DirectoryEntryDate(Repertoire, #PB_Date_Modified)
Recherche_parametre_Date_dernier_accer_fichier = DirectoryEntryDate(Repertoire, #PB_Date_Accessed)
Recherche_parametre_Taille_fichier = DirectoryEntrySize(Repertoire)
Recherche_parametre_Attributs_fichier = DirectoryEntryAttributes(Repertoire)
Jour$ = Trim(Jour$)
Mois$ = Trim(Mois$)
Decoupage_date(Recherche_parametre_Date_creation_fichier)
Parametre_fichier$ = "Crée le " + Jour_semaine$ + " " + Str(Jour_mois) + " " + Mois$ + " " + Str(Annee) + " à " + Heur$ + "H" + Minute$ + " et " + Second$ + " second, "
Decoupage_date(Recherche_parametre_Date_modiffication_fichier)
Parametre_fichier$ + "Modifier le " + Jour_semaine$ + " " + Str(Jour_mois) + " " + Mois$ + " " + Str(Annee) + " à " + Heur$ + "H" + Minute$ + " et " + Second$ + " second, "
Decoupage_date(Recherche_parametre_Date_dernier_accer_fichier)
Parametre_fichier$ + "Dernier accer le " + Jour_semaine$ + " " + Str(Jour_mois) + " " + Mois$ + " " + Str(Annee) + " à " + Heur$ + "H" + Minute$ + " et " + Second$ + " second, "
Parametre_fichier$ + "Taille en octets = " + Str(Recherche_parametre_Taille_fichier) + ", Attributs = " + Str(Recherche_parametre_Attributs_fichier)
ProcedureReturn Parametre_fichier$
EndProcedure
; par dobro, modifier par dayvid
Procedure.s Indexation(Repertoire$, Repertoire = 0)
If Right(Repertoire$, 1) <> "\"
Repertoire$ + "\"
EndIf
If ExamineDirectory(Repertoire, Repertoire$, "*.*")
While NextDirectoryEntry(Repertoire)
If DirectoryEntryName(Repertoire) <> "." And DirectoryEntryName(Repertoire) <> ".."
; affichage les adresse de dossier = non
If FindString(Repertoire$ + DirectoryEntryName(Repertoire), ".", 1)
AddElement(Indexation_fichiers())
Indexation_fichiers() = Repertoire$ + DirectoryEntryName(Repertoire) + ", " + Recherche_parametre_fichier(Repertoire)
Else
EndIf
If DirectoryEntryType(Repertoire) = #PB_DirectoryEntry_Directory
Indexation(Repertoire$ + DirectoryEntryName(Repertoire), Repertoire + 1)
EndIf
EndIf
Wend
FinishDirectory(Repertoire)
EndIf
EndProcedure
Procedure Enregistrement_liste_index(Nom_fichier$)
DeleteFile(Nom_fichier$ + ".txt")
If CreateFile(1, Nom_fichier$ + ".txt") ; si on peut crée le fichier, on continue
ForEach Indexation_fichiers()
FileSeek(1, Lof(1))
WriteStringN(1, Indexation_fichiers())
Next Indexation_fichiers()
Else
MessageRequester("Erreur", "Inpossible de crée le fichier " + Nom_fichier$ + ".txt", 16)
EndIf
EndProcedure
Procedure indexation_des_fichiers()
Indexation(Repertoire$)
Enregistrement_liste_index("Indexation des fichiers")
EndProcedure
Interface_gestionnaire_de_fichiers()
DataSection
IID_IShellFolder: ; {000214E6-0000-0000-C000-000000000046}
Data.l $000214E6
Data.w $0000, $0000
Data.b $C0, $00, $00, $00, $00, $00, $00, $46
EndDataSection
que je clique sur un fichier ou un dossier c'est la même chose (premier problème)