Page 1 sur 1

je cherche a cree une petite application suivante:

Publié : jeu. 29/juil./2004 15:36
par jbernard13
bonjour

je voudrais savoir svp

je cherche a cree une petite application
qui rechercherai l'extension suivantes
*.jar , et une fois trouver si il ya des fichiers
de m'afficher la recherche afin que j'efface les fichiers.


merci


Jbernard13

Publié : jeu. 29/juil./2004 17:27
par Heis Spiter
Soit tu utilise l'APi donnée précédement. Soit tu zyuete le code que j'ai posté en parti Trucs & astuces et tu modifie afin qu'il fasse ce que tu veux.

Publié : jeu. 29/juil./2004 19:17
par nico
Moi j'aimerais bien aider Jbernard13 alors si quelqu'un à un code, qu'il me l'envoie par email et je le posterai ici.

Merci de m'aider! :mrgreen:

Publié : jeu. 29/juil./2004 19:24
par Oliv

Code : Tout sélectionner

Procedure.s ListFiles(directory.s , filename.s, extension.s , directoryid.l ) 
  If Right(directory,1)<>"\" 
    directory+"\" 
  EndIf 
  ExamineDirectory(directoryid,directory,"*.*") 
  dirid=NextDirectoryEntry() 
  While dirid 
    Select dirid 
      Case 1 
        file.s=DirectoryEntryName() 
        this_extension.s=LCase(GetExtensionPart(file)) 
        this_filename.s=LCase(Left(file,Len(file)-Len(this_extension))) 
        If Len(this_extension) 
          this_filename=Left(this_filename,Len(this_filename)-1) 
        EndIf 
        If this_extension=extension Or extension="*" 
          If this_filename=filename Or filename="*" 
            file.s=directory+DirectoryEntryName() 
          
          Debug file
          ; commandes à effectuer ici
          
          
          EndIf 
        EndIf 
      Case 2 
        If DirectoryEntryName()<>"." And DirectoryEntryName()<>".."      
          ListFiles(directory+DirectoryEntryName()+"\",filename,extension,directoryid+1)      
          UseDirectory(directoryid) 
        EndIf 
    EndSelect 
    dirid=NextDirectoryEntry() 
  Wend 
  ProcedureReturn "" 
EndProcedure 



ListFiles(PathRequester("Selectionner le dossier-disque",""),"*","jar",0)
Je me souviens que j'avais trouvé ce code sur codearchiv mais je ne sais plus où

Publié : jeu. 29/juil./2004 20:36
par nico
Je viens de lire mes emails, c'est sympa, y a un code! :wink:

Code : Tout sélectionner

Enumeration 
  #MainWindow 
  #ListIconGadget 
  #Text1 
  #Repertoire 
  #Requete 
  #Text2 
  #Extension 
  #Text4
  #Fichier
  #Recherche 
  #Suppression 
  #Actualiser 
  #Text3 
  #Police=0 
EndEnumeration 


Procedure.s ListFiles(directory.s , FileName.s, extension.s , directoryid.l ) 
  If Right(directory,1)<>"\" 
    directory+"\" 
  EndIf 
  ExamineDirectory(directoryid,directory,"*.*") 
  dirid=NextDirectoryEntry() 
  While dirid 
    Select dirid 
      Case 1 
        file.s=DirectoryEntryName() 
        this_extension.s=LCase(GetExtensionPart(file)) 
        this_filename.s=LCase(Left(file,Len(file)-Len(this_extension))) 
        If Len(this_extension) 
          this_filename=Left(this_filename,Len(this_filename)-1) 
        EndIf 
        If this_extension=extension Or extension="*" 
          If this_filename=FileName Or FileName="*" 
            file.s=directory+DirectoryEntryName() 
            
            AddGadgetItem(#ListIconGadget, -1, file) 
            
          EndIf 
        EndIf 
      Case 2 
        If DirectoryEntryName()<>"." And DirectoryEntryName()<>".."      
          ListFiles(directory+DirectoryEntryName()+"\",FileName,extension,directoryid+1)      
          UseDirectory(directoryid) 
        EndIf 
    EndSelect 
    dirid=NextDirectoryEntry() 
  Wend 
  ProcedureReturn "" 
EndProcedure 


Procedure Recherche(valeur.l) 
  ListFiles(GetGadgetText(#Repertoire),GetGadgetText(#Fichier),GetGadgetText(#Extension),0) 
  If CountGadgetItems(#ListIconGadget)=0 
    MessageRequester("Info", "Aucun fichier n'a été trouvé", #PB_MessageRequester_Ok) 
  Else 
    MessageRequester("Info", "Recherche terminée", #PB_MessageRequester_Ok) 
  EndIf 
  SetGadgetText(#Text3,"") 
EndProcedure 


If OpenWindow(#MainWindow, 0, 0, 550, 500, #PB_Window_ScreenCentered | #PB_Window_SystemMenu, "Jbernard13") 
  
  If CreateGadgetList(WindowID()) And ListIconGadget(#ListIconGadget, 20, 160, 500, 280, "Fichiers", 400, #PB_ListIcon_MultiSelect|#PB_ListIcon_CheckBoxes) 
    AddGadgetColumn(#ListIconGadget,1,"Etat",80) 
    TextGadget(#Text1, 20, 20, 500, 20,"Indiquer le répertoire") 
    StringGadget(#Repertoire,20, 42, 400, 20,"c:\") 
    ButtonGadget(#Requete, 440, 42, 80, 20, "Répertoire") 
    
    TextGadget(#Text2, 120, 84, 100, 20,"Extension") 
    StringGadget(#Extension,120, 106, 40, 20,"jar")
    
    TextGadget(#Text4, 20, 84, 100, 20,"Fichier") 
    StringGadget(#Fichier,20, 106, 100, 20,"*")    
    
    ButtonGadget(#Recherche, 200, 106, 120, 20, "Lancer la recherche") 
    ButtonGadget(#Suppression, 340, 106, 180, 20, "Supprimer les fichiers sélectionnés")    
    ButtonGadget(#Actualiser, 160, 460, 220, 20, "Retirer de la liste les fichiers supprimés") 
    
    LoadFont(#Police, "Courrier", 40, #PB_Font_Bold) 
    TextGadget(#Text3, 20, 136, 300, 20, "") 
    SetGadgetFont(#Text3, #Police) 
    CloseFont(#Police) 
    
    Repeat 
      event=WaitWindowEvent() 
      Select event 
        Case #PB_EventGadget 
          Select EventGadgetID() 
            Case #Requete 
              chemin$ = PathRequester("Sélectionner un répertoire", "c:\")  
              SetGadgetText(#Repertoire,chemin$)

            Case #Recherche 
              ClearGadgetItemList(#ListIconGadget) 
              SetGadgetText(#Text3,"Patienter pendant la recherche S.V.P") 
              ThreadID=CreateThread(@Recherche(), 0) 
              
            Case #Suppression 
              nombre.l=0:Probleme.l=0 
              For Element = 0 To CountGadgetItems(#ListIconGadget)-1  
                If GetGadgetItemState(#ListIconGadget, Element) & #PB_ListIcon_Checked 
                  fichier$=GetGadgetItemText(#ListIconGadget, Element, 0) 
                  Resultat = DeleteFile(fichier$) 
                  If Resultat 
                    SetGadgetItemText(#ListIconGadget, Element, "Effacé", 1) 
                    nombre=nombre+1 
                  Else 
                    SetGadgetItemText(#ListIconGadget, Element, "Erreur", 1) 
                    Probleme=Probleme+1 
                    
                  EndIf 
                EndIf 
              Next 
              
              MessageRequester("Info", "Nb de fichiers supprimés: "+Str(nombre), #PB_MessageRequester_Ok) 
              If Probleme 
                MessageRequester("Info", Str(Probleme)+"fichier(s) n'ont pu être supprimé(s)", #PB_MessageRequester_Ok) 
              EndIf 
              
            Case #Actualiser 
              For Element = 0 To CountGadgetItems(#ListIconGadget)-1 
                texte$=GetGadgetItemText(#ListIconGadget, Element,1) 
                If texte$="Effacé" 
                  RemoveGadgetItem(#ListIconGadget, Element) 
                  Element=Element-1 
                EndIf 
              Next 
              
          EndSelect 
          
        Case #PB_EventCloseWindow 
          Quit=1 
          
      EndSelect  
    Until Quit  
  EndIf 
EndIf 
End  
[Edit: j'ai rajouté 3 lignes de code]
[Edit: modifié]

Publié : jeu. 29/juil./2004 21:15
par jbernard13
je vous remercie beaucoup de m'aider
car je suis en maladie je souffre de vertige et de trouble de mouvement
et je sors pas de chez moi ...



jbernard13

Publié : jeu. 29/juil./2004 21:19
par nico
Je l'ai modifié pour rajouter la création d'un Thread pour la recherche, c'est mieux!

:)

Publié : jeu. 29/juil./2004 21:21
par jbernard13
merci

dis moi nico peux m'expliquer tout le code

merci d' aider c'est sympas



jbernard13

Publié : jeu. 29/juil./2004 21:42
par nico
C'est simple, j'ai piqué le code de Sebi pour lister les fichiers, puis après j'ai piqué le code de Fred pour l'affichage des fichiers dans la ListIcon avec les CheckBox et j'ai bricolé autour. 8)

Je ne sais pas si je vais avoir le temps de commenter, je vais être occupé les 4 jours qui viennent et quelques jours après, je pars en Vacances!

:)

[Edit: code modifié]

Publié : ven. 30/juil./2004 7:44
par jbernard13
merci nico

moi je pars pas je soigne mes vertiges et mon system nerveux
j'en ai pour un mois de traitement et je peux pas conduire .





Jbernard13

Publié : ven. 30/juil./2004 8:18
par brossden
Bonjour

Nico , je crois qu'il serait judicieux de rajouter :
SetGadgetText(#Repertoire,chemin$)
en ligne 95 pour rafraichir le champs du répertoire selectionné par le bouton [Répertoire] !

ce qui donnerait inclus dans ton code :

Code : Tout sélectionner


            Case #Requete 
              chemin$ = PathRequester("Sélectionner un répertoire", "c:\")  
              SetGadgetText(#Repertoire,chemin$) ;<<<<<<<<<<<<<<<<<<<<---------------
            Case #Recherche 



Publié : ven. 30/juil./2004 20:05
par nico
C'est une erreur de ma part, cette ligne existait déjà mais je l'ai supprimé par mégarde lors des modifications sinon effectivement ça na aucun intéret!

Merci à toi!

:)