FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Aujourd'hui à 16:52

» KGF_dll - nouvelles versions
par Klaus Aujourd'hui à 14:16

» Compilateur FBPano
par Ouf_ca_passe Aujourd'hui à 12:25

» mise a jour calculatrice
par papydall Aujourd'hui à 2:01

» double guillemets "" dans un EDIT
par Marc Hier à 23:43

» Documentation de KGF
par Klaus Lun 20 Nov 2017 - 22:52

» Zoom sur une portion d'écran
par JL35 Lun 20 Nov 2017 - 21:51

» Recherche d'une expression dans un source
par Marc Lun 20 Nov 2017 - 13:08

» Tracer une grille n'importe où sur l'écran
par JL35 Dim 19 Nov 2017 - 22:14

» TourD Version 2
par Klaus Sam 18 Nov 2017 - 23:58

» La métamatière et le peuple
par JL35 Ven 17 Nov 2017 - 21:18

» Capture d'une zone de l'écran total
par JL35 Ven 17 Nov 2017 - 18:41

» qui peut résoudre mon prb
par pascal10000 Jeu 16 Nov 2017 - 17:30

» évènements et objets système : listage automatique
par Jean Claude Jeu 16 Nov 2017 - 11:15

» Panoramic et la reconnaissance vocale.
par papydall Jeu 16 Nov 2017 - 3:45

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2017
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
27282930   
CalendrierCalendrier

Partagez | 
 

 Utilitaire de suppression de fichiers

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Jean Claude

avatar

Nombre de messages : 5062
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Utilitaire de suppression de fichiers   Ven 23 Juin 2017 - 14:00

Bonjour à tous,

Je vous propose un petit utilitaire que j'ai fait spécialement pour moi.
Le but initial était de supprimer tous le fichiers *.bak d'un dossier "mes prog Panoramic" (c'est un exemple) d'une manière assez rapide.
Ensuite cela m'a permis de me familiariser avec les mots-clés FILE_... , DIR_... et aussi de poster une belle boulette hier sur ce forum.  Razz
Je vous le présente dans une version volontairement limitée à 2 extensions de fichiers, *.bak et *.txt , ceci pour éviter des catastrophes.

Si l'un d'entre vous trouve une solution pour que le programme n'affiche pas les dossiers système et les fichiers cachés, je suis preneur.

Avant de copier le code ci-dessous et de le lancer lisez ceci:

AVERTISSEMENT: l'utilisation de cet utilitaire suppose que l'utilisateur sait ce qu'il fait et qu'il sache ce qu'est une extension de fichier.
Je décline toute responsabilité, sur les pertes de fichiers qui pourraient résulter d'actions inappropriées de l'utilisateur.
Un conseil: lisez l'aide contenu dans cet utilitaire.

Code:
' Utilitaire de Suppression des fichiers *.bak d'un dossier pa Jean Claude juin/2017
' SupBak.bas
dir_change dir_current$ : error_french
dim_label_general() : Objets() : menu()

 a$="AVERTISSEMENT: l'utilisation de cet utilitaire suppose que l'utilisateur sait ce qu'il fait et qu'il sache ce qu'est une extension de fichier."
 a$=a$+chr$(13)+"L'auteur de cet utilitaire décline toute responsabilité, sur les pertes de fichiers qui pourraient résulter d'actions inappropriées de l'utilisateur."
 a$=a$+chr$(13)+chr$(13)+"Un conseil: lisez l'aide de cet utilitaire."
 message a$

' à faire: choix d'une extention personnalisée

END
rem ============================================================================
Go:
 inactive MGo%
 if Extension$="" then return
 a$="Vous avez choisi l'extension ''"+Extension$+"''"
 a$=a$+chr$(13)+"ATTENTION: les actions de suppression de fichiers que vous pourriez décider,"
 a$=a$+chr$(13)+"relèvent de votre responsabilité."
 a$=a$+chr$(13)+chr$(13)+"Soyez vigilant !"
 a$=a$+chr$(13)+chr$(13)+"Si vous avez un doute ne cliquez pas sur le bouton ''OK'' de ce message, sortez par sa croix rouge."
 if message_warning_ok(a$)=1
    active list1% : Rep$="C:\":DIR_CHANGE Rep$ : afi_rep(list1%)
    NewRep$=Rep$
 else
    message "Votre sagesse est écoutée. Le programme va fermer" : terminate
 end_if  
RETURN

Aide:
 a$="RAPPEL :  l'utilisation de cet utilitaire suppose que l'utilisateur sait ce qu'il fait et qu'il sache ce qu'est une extension de fichier."
 a$=a$+chr$(13)+"L'auteur de cet utilitaire décline toute responsabilité, sur les pertes de fichiers qui pourraient résulter d'actions inappropriées de l'utilisateur."
 a$=a$+chr$(13)+chr$(13)+"Pour commencer :  vous devez choisir l'extension, des fichiers que vous souhaitez supprimer, par le menu ''Extension''."
 a$=a$+chr$(13)+"Ensuite, cliquez sur ''GO'' dans le menu, lisez et validez le message d'avertissement."
 a$=a$+chr$(13)+chr$(13)+"Dans la colonne de gauche s'affiche tous les dossiers du répertoire sélectionné précédemment  (Remarque: le logiciel commence, à la racine, par le dossier ''C:'')."
 a$=a$+chr$(13)+"Dans la colonne de droite s'affichent tous les fichiers contenus dans le dossier sélectionné, ils correspondent à l'extension que vous avez choisie. (Remarque: le bouton ''supprimer'' devient actif)."
 a$=a$+chr$(13)+"Dans le bandeau de la fenetre s'affiche le chemin complet du dernier dossier sélectionné."
 a$=a$+chr$(13)+chr$(13)+"À ce stade vous pouvez choisir de faire des suppressions dans la liste de droite OU de cliquer sur un nouveau dossier dans la liste de gauche."
 a$=a$+chr$(13)+chr$(13)+"SUPPRESSION 1) :  un premier message vous demande si vous souhaitez supprimer des fichiers de la liste (Remarque: si vous répondez non, le logiciel est réinitialisé)."
 a$=a$+chr$(13)+chr$(13)+"SUPPRESSION 2) :  vous avez la possibilité de ne supprimer qu'une partie des fichiers affichés dans la liste de droite. Il suffit de répondre OUI ou NON à la question."
 a$=a$+chr$(13)+chr$(13)+"SUPPRESSION 2) (suite) :  pour chaque fichier la question de la suppression est posée. Ils disparaissent de la liste même SI VOUS AVEZ RÉPONDU NON, ne soyez pas inquiet, le nom du fichier n'est plus dans la liste mais il est toujours dans le dossier sélectionné (il n'est pas supprimé)."
 a$=a$+chr$(13)+chr$(13)+"À la fin des suppressions le logiciel est réinitialisé et c'est également le cas quand il il n'y a plus de sous-dossiers."
 a$=a$+chr$(13)+chr$(13)+"Pour terminer :  à tout moment vous pouvez utiliser le bouton ''Recommencer'' pour réinitialiser l'utilitaire."
 message a$
RETURN

Extension:
 active MGo% : inactive Mext%
 if number_click=Mbak% then Extension$=".bak"
 if number_click=Mtxt% then Extension$=".txt"
 
Return

explore:
  active BtRec%
  NewRep$=NewRep$+item_index$(list1%)+""
  Caption 0,left$(NewRep$,len(NewRep$)-1)
  c$="" : clear list1% : clear list2% : DIR_CHANGE NewRep$ : afi_rep(list1%)
  if count(list1%)=0
     a$=left$(NewRep$,len(NewRep$)-1) : NewRep$=a$
     ' item_add list1%,NewRep$
     if c$=".."
        message "  dossier vide  " : gosub Recommencer : return
     else  
        if c$=""
           message " plus de sous-dossier " : gosub Recommencer : return
        else  
           message " plus de sous-dossier " :' gosub Recommencer : return
           if count(list2%)>0 then item_add list1%,NewRep$ : inactive list1%
        end_if
     end_if  
  end_if
RETURN

Sup:
  inactive list1% : DIR_CHANGE NewRep$
  if message_confirmation_yes_no("Voulez-vous réellement faire une (ou des) suppression(s) de fichiers dans le dossier "+chr$(13)+chr$(13)+left$(NewRep$,len(NewRep$))+" ?")=1
     for n%=1 to count(list2%)
         a$=item_read$(list2%,1)
         if message_confirmation_yes_no("Voulez-vous supprimer ce fichier: "+a$+" ?")=1
            item_delete list2%,1 : file_delete a$
         else
            item_delete list2%,1
         end_if  
     next n%
     gosub Recommencer : return
  else
     gosub Recommencer : return
  end_if
RETURN

Recommencer:
     clear list1% : clear list2% : inactive BtSup% : inactive BtRec% : active Mext% : Extension$=""
RETURN
rem ============================================================================
SUB menu()
    dim MGo%,Mext%,Mbak%,Mtxt%,Maide% : label Go,Extension,Aide
    no%=no%+1 : Main_menu no%  
    no%=no%+1 : MGo%=no% : sub_menu no% : parent no%,no%-1 : caption no%,"GO !" : on_click no%,Go
    no%=no%+1 : Mext%=no% : sub_menu no% : parent no%,no%-2 : caption no%,"Choix Extension"
       no%=no%+1 : Mbak%=no% : sub_menu no% : parent no%,no%-1 : caption no%,"*.bak" : on_click no%,Extension
       no%=no%+1 : Mtxt%=no% : sub_menu no% : parent no%,no%-2 : caption no%,"*.txt" : on_click no%,Extension
    no%=no%+1 : Maide%=no% : sub_menu no% : parent no%,no%-5 : caption no%,"Aide" : on_click no%,Aide
    inactive MGo%
END_SUB

SUB Objets()
  ' Form 0
    width 0,750 : height 0, 600: caption 0, "Suppession de fichiers" : application_title "Suppession de fichiers"
    top 0,(screen_y/2)-(height(0)/2) : left 0,(screen_x/2)-(width(0)/2)
    color 0,200,200,255 : font_bold no%
    no%=no%+1 : list1%=no% : list no% : width no%,400 : height no%,height_client(0)-30 : left no%,5 : top no%,5
                on_click no%,explore
    no%=no%+1 : list2%=no% : list no% : width no%,200 : height no%,height_client(0)-30 : left no%,width(list1%)+10 : top no%,5
    no%=no%+1 : BtSup%=no% : button no% : caption no%,"Suppression": left no%,width(list1%)+width(list2%)+20 : top no%,10
                width no%,100 : inactive BtSup% : on_click BtSup%,Sup
    no%=no%+1 : BtRec%=no% : button no% : caption no%,"Recommencer": left no%,width(list1%)+width(list2%)+20 : top no%,55
                width no%,100 : inactive BtRec% : on_click BtRec%,Recommencer
END_SUB

SUB dim_label_general()
    dim n%,no%,list1%,list2%,BtSup%,BtRec%
    dim a$,b$,c$,Rep$,NewRep$,Extension$
    label explore,Sup,Recommencer
END_SUB

rem ============================================================================
SUB afi_rep(num_list%)
    if Extension$=".dll" then message "Accès refusé pour les dll" : terminate  
    if Extension$=".exe" then message "Accès refusé pour les *.exe" : terminate
    if Extension$=".bas" then message "Accès refusé pour les *.bas" : terminate
    a$ = FILE_FIND_FIRST$
   WHILE a$ <> "_"
'       IF a$ <> "." AND a$ <> ".."
          if file_extract_extension$(a$)=""
             ' accès interdit au boot et à l'os interdit
             b$=upper$(a$)
             if left$(b$,4)="BOOT"
             else  
                if left$(b$,2)="OS"
                else
                   item_add num_list%,a$
                end_if  
             end_if
          else
             c$=file_extract_name$(a$)
             if right$(c$,4)=Extension$
                item_add list2%,c$ : active BtSup%
             end_if  
          end_if
'        END_IF
       a$ = FILE_FIND_NEXT$
   END_WHILE
   FILE_FIND_CLOSE
END_SUB


Soyez prudent !
A+

Réédition: 23/06/2017 à 16:37 suite bug signalé par Yannick.


Dernière édition par Jean Claude le Sam 24 Juin 2017 - 10:52, édité 5 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7997
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 23 Juin 2017 - 15:20

@ Jean Claude,

Y a un souci.

Je sélectionne l' extension
Je clique sur Go
là j' ai les dossier du répertoire courant ( le bureau)
Je clique sur un des dossiers
Réponse = dossier vide (normal, il l' est)
mais l' affichage du premier liste me met le nom du dossier sauf que ce nom est tronqué.
Le nom est "Boite à Outils" et l' affichage "Boite à Outil" manque le "s".
Si je clique dessus  affraid bug.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5062
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Utilitaire de suppression de fichiers   Ven 23 Juin 2017 - 17:41

OK j'ai trouvé le problème, c'est arrangé.

J'ai réédité le code corrigé en début de post.

J'ai ajouté le répertoire sélectionné dans le bandeau de la fenêtre pour plus de lisibilité.

Par contre, normalement ça devrait commencé à la racine "C:" , à moins que tu ais modifié le code ?

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5860
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Utilitaire de suppression de fichiers   Ven 23 Juin 2017 - 18:17

Un petit truc qui serait sympa mais qui ferait encore une chose en plus dans la to do liste de Jack serait de pouvoir avoir une adresse UNC comme racine à la place d'une lettre de lecteur (adresse UNC: \\NomOuIpDuServeur\NomDuPartage\Dossier\NomDuFichier)

=> Cela permet d'accéder aux contenus des lecteurs réseaux facilement. Il y a de plus en plus d'équipements connectés avec des espaces mémoires partagés.
=> Cela devrait même permettre d'accéder au contenu de son téléphone s'il est connecté et autres usages.

Bon, c'est une remarque un peu hors sujet, mais il y a peut être déjà un moyen de le faire pour l'adapter à cet utilitaire d'où cette remarque sur ce post.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5062
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Utilitaire de suppression de fichiers   Ven 23 Juin 2017 - 18:21

Je viens de comprendre le problème de démarrage de la recherche à la racine.
Il manquait l'antislash \ à la ligne 24 du programme sur le forum.
Code:
   active list1% : Rep$="C:\":DIR_CHANGE Rep$ : afi_rep(list1%)

Je l'ai corrigé, mais si votre recherche ne commence pas à la racine, remplacé la ligne 24 par celle ci-dessus en vérifiant que la copie du forum ne bouffe pas l'antislash \.

Ce programme n'a pas d'intérêt s'il commence par le bureau, vous ne pourrez jamais aller ailleurs.

A+

PS: on s'est croisé Jicehel, as-tu testé le code ?
Pour ta remarque: elle n'est pas tout à fait hors sujet. Mais dans un sujet comme celui-ci elle risque de passer aux oubliettes.
Very Happy
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7997
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: Re   Ven 23 Juin 2017 - 20:31

@ Jean Claude,

Je ne peux pas tester pour l' instant, j' ai pris un carton rouge et me voilà
expulser de ma machine par mon minecrafter de fils.
Mad
Le nom commencé bien par c:\  c'est moi qui est zappe le début de l' adresse.
Mais, le programme, lui, m' avait bien piqué le s de outils.

Des que je peux je re-teste ton programme.
Laughing

@ Jicehel,

Ta suggestion est très intéressante mais poste la dans les demandes.
Ici, elle va passer à la trappe.
Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5062
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Utilitaire de suppression de fichiers   Ven 23 Juin 2017 - 21:11

T'inquiète pas Yannick, j'ai réparé les problèmes que tu as signalé.
D'ailleurs, merci de me les avoir fait découvrir en testant le programme.

Il n'y a rien qui presse, il faut bien que les Minecrafter se défoulent...  Very Happy

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7997
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: Re   Ven 23 Juin 2017 - 23:03

D' autant au' il me donne satisfaction et me rassure sur son avenir.
Ce n 'est pas le lieu pour en parler mais cela justifie que je fasse
un effort en lui laissant l' ordi le week-end et que je mette Panoramic sur 
pause.
Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Utilitaire de suppression de fichiers   

Revenir en haut Aller en bas
 
Utilitaire de suppression de fichiers
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Outil de comptage de fichiers et lignes source
» Hébergement gratuit images photos fichiers
» [Résolu] BDR suppression de clé refusée
» Comodo Cleaning Essentials, l'essentiel pour supprimer les indésirables
» [Résolu] OE6 : restaurer fichiers .dbx supprimés

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: