Question sur FileSystem

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
dayvid
Messages : 1242
Inscription : mer. 11/nov./2009 18:17
Localisation : Poitiers (Vienne)

Re: Question sur FileSystem

Message par dayvid »

Hé dobro, hier j'ai regardé 2012 et il y avait sa dedans, quel coïncidence ne trouve tu pas 8O

Et oui je croix savoir mais en fait, je ne sais rien :oops: :cry:

Snif, j’expose simplement ce que je sais voilà tous :|
mais effectivement j’ai pas mal de travail à faire sur moi et en pure basic :)

Je ne suis qu’un amateur en pure basic et je le reconnais bien
Merci pour cette petite histoire fort sympathique Dobro :D
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
dayvid
Messages : 1242
Inscription : mer. 11/nov./2009 18:17
Localisation : Poitiers (Vienne)

Re: Question sur FileSystem

Message par dayvid »

Encore une question:

Comment je fais pour faire apparaitre le menue pop-up de Windows
quand je clique droit avec la souris, faut passer par l'api je suppose ?

Image
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
dayvid
Messages : 1242
Inscription : mer. 11/nov./2009 18:17
Localisation : Poitiers (Vienne)

Re: Question sur FileSystem

Message par dayvid »

S'il vous plaît, j'ai posé deux petit question, pourriez-vous m'aider svp :)
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Question sur FileSystem

Message par Backup »

dayvid a écrit :Encore une question:

Comment je fais pour faire apparaitre le menue pop-up de Windows
quand je clique droit avec la souris, faut passer par l'api je suppose ?

tu réponds toi meme a ta question !!
pourquoi voudrai tu que quelqu'un te réponde ! :roll:


et là , je t'imagine en train de te dire "qu'est ce qu'il raconte ce connard , je reponds a ma propre question ? ! ONK! 8O "

ben oui ! le connard, il va meme t'expliquer

tu demande , comment afficher le menu contextuel de windows ?
enfin pas tout as fait en ces termes , mais ça reviens a ça !

ensuite tu reponds :je cite "quand je clique droit avec la souris"

et bien oui ! ta reponse tu l'a deja !! etonnant non ?

alors , tu te bouge et tu vas dans les TUTO sur ce forum, ça fait deja 20 fois que je te le dis ça d'ailleurs :roll:

et dans les TUTOs, tu verra un TUTO sur la souris !
et entre autres, comment Simuler l'appuis sur l'un des boutons de la souris !

c'est justement ce code qui te servira a afficher le fameux POP-up !!!

et là, je t'imagine en train de te dire

"pfff , bouffon , je le savais deja !!, je suis pas un boulet d'abord !! "


:)
dayvid
Messages : 1242
Inscription : mer. 11/nov./2009 18:17
Localisation : Poitiers (Vienne)

Re: Question sur FileSystem

Message par dayvid »

qu'est ce qu'il raconte ce connard
ben oui ! le connard, il va meme t'expliquer
Et bien je t'assure que non Dobro, pas du tout :wink:
et là, je t'imagine en train de te dire
"pfff , bouffon , je le savais deja !!, je suis pas un boulet d'abord !! "
Mais pourquoi tant de violences 8O , tu me connais bien mal Dobro je t'assure :wink:

Par conte je tien à te signaler aimablement que j'ai des tutos pour afficher un menue pop-up
mais pas sur comment afficher le menue pop-up de Windows

Merci de ta comprenions
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Question sur FileSystem

Message par Backup »

dayvid a écrit :
Par conte je tien à te signaler aimablement que j'ai des tutos pour afficher un menue pop-up
mais pas sur comment afficher le menue pop-up de Windows

Merci de ta comprenions
je me fou que tu ai des TUTO !

je t'indique aimablement d'aller voir les notres !! ici :

http://www.purebasic.fr/french/viewtopi ... =21&t=6664


si tu m'avais lu correctement, tu aurai vu, que je te demande d'aller voir le TUTO sur la souris
TUTO numero 9 de la section Debutant !


tu y apprendrai comment Simuler l'appui sur le bouton droit de la souris
ce fameux bouton qui fait apparaitre le menu que tu désire !


si tu ne comprends pas ce que j'écris, fait toi le expliquer par un adulte a coté de toi :)

dayvid a écrit : Mais pourquoi tant de violences 8O , tu me connais bien mal Dobro je t'assure
ps : note que mon message precedent etait a prendre au second degres
mais j'ai peut etre présumé un peux vite de ton analyse de lecture
excuse moi donc,

ça m'apprendra a encore avoir voulu te rendre service

apres, tout, rien ne m'y oblige !

ce qu'on peut etre con des fois ... :roll:
dayvid
Messages : 1242
Inscription : mer. 11/nov./2009 18:17
Localisation : Poitiers (Vienne)

Re: Question sur FileSystem

Message par dayvid »

Bon dobro, calme toi, respire un bon coup et reprends calmement tu veux bien
Sa part en sucette et moi ce n’est pas ce que je veux alors excuse moi :oops:

J'ai regardé ton lien, merci beaucoup d'ailleurs
Super ce topic :D

Est-ce que j'ai mal regardé, sens doute car je n'ai pas trouvé
le moyen d'afficher le menue pop-up de Windows, tu sais celui-ci quoi :)

Image

Et au faite, je ne te l'es pas dit mais j'apprécie beaucoup que tu m'aide ainsi que d'autre :)
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Question sur FileSystem

Message par Backup »

le menu que tu souhaite afficher s'appelle "le menu contextuel"

le terme a son importance !
parceque cela signifie que ce menu s'ouvre et affiche un contenu en fonction du contexte !

ce qu'il propose lorsque tu exécute un click bouton droit sur ton bureau , sera diffèrent
de ce qu'il propose si tu click bouton droit sur un traitement de texte !

cela veux donc dire, que ce menu "pop-up" est polymorphe !!

mais il y a une seule chose commune , c'est qu'il s'ouvre toujours grâce au bouton droit de la souris !!

voici un code d'exemple

ce code va ouvrir une petite fenêtre, mais là n'est pas la question
lorsque tu aura lancé ce code place ton curseur de souris sans toucher aux boutons
n'importe ou sur l'éditeur, ton bureau, bref ou tu veux
et attends 5 secondes (tu as 5 secondes pour placer ton curseur quelques part..)
et toutes les 5 secondes le menu sera appelé !!
un click gauche sur la fenetre du prg le fera quitter

tu entendra un beep , qui te signalera la simulation d'appuis du bouton droit de la souris
et donc, en meme temps l'affichage du menu contextuel ;)

a lancer avec le debugger ON


     ;ceci simule un appuis sur une touche de la souris !

initmouse ()
         ;ceci simule un appuis sur une touche de la souris ! ²
If openwindow (1, 300, 300, 300, 200, "Fenêtre 1" , #PB_Window_SystemMenu , 0)
EndIf
Repeat
        event= windowevent ()
         Select event
                 Case #WM_LBUTTONDOWN
                         End
         EndSelect
         delay (5000)
         ; ****************** ceci Simule l'appuis sur le bouton droit de la souris ******************
         ; et donc , affiche le menu contextuel forcement !!!!!
         beep_ (880,50)
         mouse_event_ ( #MOUSEEVENTF_rightDOWN ,xm,ym,0,1) ; appuis
         delay (100)
         mouse_event_ ( #MOUSEEVENTF_rightUP ,xm,ym,0,1) ;relache
         ; ********************************************************************************
        
ForEver

End
        
dayvid
Messages : 1242
Inscription : mer. 11/nov./2009 18:17
Localisation : Poitiers (Vienne)

Re: Question sur FileSystem

Message par dayvid »

Waouh, trop bien Dobro merci beaucoup :D

Edit: Snif snif snif, décidément j'y arriverais jamais moi :cry:

En fait je voudrais que quand je clic droit sur un fichier dans mon exploreur gadget, que le menue contextuel de Windows s'affiche, pour par exemple accéder à ces propriétés, le copier, coller, etc.

Car je sais faire un menue pop-up mais je ne sais pas comment dire au programme d’appeler le
menue contextuel de Windows pour les fichiers, faut que je le crée moi-même alors ? :(

Ya pas moyen d’appeler celui que Windows gère comme lorsque tu clic droit sur un de t’es fichiers :|

Te fâche pas Dobro, non pitié me tape pas :(

Non mais j'ai l'impression que j'explique mal donc on se comprend pas :)
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Question sur FileSystem

Message par Backup »

dayvid a écrit : En fait je voudrais que quand je clic droit sur un fichier dans mon exploreur gadget, que le menue contextuel de Windows s'affiche, pour par exemple accéder à ces propriétés, le copier, coller, etc.

Car je sais faire un menue pop-up mais je ne sais pas comment dire au programme d’appeler le
menue contextuel de Windows pour les fichiers, faut que je le crée moi-même alors ? :(

oui ! faut que tu le crees toi meme
car le menu contextuel , est donc en fonction du contexte, ..donc de l'application !

si tu veux un menu avec copier,coller, va falloir te le faire :)

direction la Doc rayon :

Resultat = CreatePopupMenu(#Menu)
dayvid
Messages : 1242
Inscription : mer. 11/nov./2009 18:17
Localisation : Poitiers (Vienne)

Re: Question sur FileSystem

Message par dayvid »

Bon ba je croix que je vais préférer m'suicider :mrgreen:

J'arrive pas à croire que on ne peut pas appeler le menu que gère Windows pour les fichiers
Alors comment il fond eu les explorateur de fichier, il ont tous leur propre menu pop-up alors qu'il suffirais simplement d'appeler celui de Windows

Edit: regarde sa et dit moi ce que tu en pense, comment il fait lui ce programme alors hein ?

Image
Image

s'il vous plais, aidez moi :)
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
dayvid
Messages : 1242
Inscription : mer. 11/nov./2009 18:17
Localisation : Poitiers (Vienne)

Re: Question sur FileSystem

Message par dayvid »

Bon pour vous encourager un peu à m'aider, regarder ce que j'ai fait pour le moment
je trouve que c'est bien moi mais reste énormément de travail

La recherche n'est pas encore terminer mais déjà c'est pas mal
on ne peut pas rechercher pour le moment mais ça va venir

Ce qui est bien dans mon programme de recherche
c'est que vous entrez le nom de fichier et si voulue son extension
et si vous faite une erreur dans le nom du fichier, il vous le dit
et aussi que si vous mettez une extension et quelle est connue du programme
il change automatiquement l'extension dans la combo type du fichier

Code : Tout sélectionner


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 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()
  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 
              
            Case #PB_EventType_LeftClick
              mouse_event_ ( #MOUSEEVENTF_RIGHTDOWN ,xm,ym,0,1) ; appuis 
              Delay (100) 
              mouse_event_ ( #MOUSEEVENTF_RIGHTUP ,xm,ym,0,1) ;relache
          EndSelect      
        ElseIf EventGadget = #Button_7
        ElseIf EventGadget = #Text_8
        ElseIf EventGadget = #Text_9
        ElseIf EventGadget = #Frame3D_10
        EndIf
        ; ////////////////////////
      Case #PB_Event_CloseWindow
        EventWindow = EventWindow()
        If EventWindow = #Window_1
          CloseWindow(#Window_1)
          Break
        EndIf
    EndSelect
  ForEver
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()
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
dayvid
Messages : 1242
Inscription : mer. 11/nov./2009 18:17
Localisation : Poitiers (Vienne)

Re: Question sur FileSystem

Message par dayvid »

Alors, vous en pensez quoi ? :P
Mais j'ai besoin d'aide pour les menue pour pouvoir continuer :)
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
Warkering
Messages : 808
Inscription : ven. 08/janv./2010 1:14
Localisation : Québec, Canada

Re: Question sur FileSystem

Message par Warkering »

Juste pour clarifier, le menu contextuel de l'explorateur Windows peut être appelé par une fonction Windows.
Je sais que c'est faisable, puisque je l'avais fais l'autre fois, mais vu que j'ai mon nouveau portable, je n'ai plus mon exemple sous la main.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Question sur FileSystem

Message par Backup »

s'il s'agit de faire un popupmenu copier,coller

ben il suffit de faire :

Code : Tout sélectionner

If OpenWindow(0, 0, 0, 322, 150, "EditorGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  CreatePopupMenu(0)
  MenuItem(0, "Cut")
  MenuItem(1, "Copy")
  MenuItem(2, "Paste")
  
  EditorGadget(0, 8, 8, 306, 133)
  For a = 0 To 5
    AddGadgetItem(0, a, "Line "+Str(a))
  Next
  
  Repeat
    EventID = WaitWindowEvent()
    Select EventID
      Case #WM_RBUTTONUP
        DisplayPopupMenu(0, WindowID(0))
        
      Case #PB_Event_Menu
        Select EventMenu()
          Case 0 ; cut
            SendMessage_(GadgetID(0),#WM_CUT,0,0)
            
          Case 1 ; copy
            SendMessage_(GadgetID(0),#WM_COPY,0,0)
            
          Case 2 ; paste
            SendMessage_(GadgetID(0),#WM_PASTE,0,0)
            
        EndSelect
    EndSelect
  Until EventID = #PB_Event_CloseWindow
  
EndIf
mais lui demande :
Comment je fais pour faire apparaitre le menue pop-up de Windows
hors sous windows le menu popup est CONTEXTUEL
a part utiliser le bouton droit (par simulation d'appuis)
je suis pas sur qu'on puisse l'appeler autrement...
puisque son contenu dynamique change en fonction du context ..... :)
Répondre