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
» I Love You
par JL35 Aujourd'hui à 16:25

» MARK_ON déclenche un événement ON_CLICK à la place de ...
par Jean Claude Hier à 18:08

» mise a jour calculatrice
par joeeee2017 Hier à 15:57

» [solved] 3D_LINE How to ?
par Jicehel Hier à 11:01

» Convertisseur de base 10 de 2 à 36
par gigi75 Mar 17 Oct 2017 - 18:49

» calculatrice avec touches movibles
par joeeee2017 Dim 15 Oct 2017 - 1:11

» CORTANA
par gigi75 Sam 14 Oct 2017 - 16:32

» Calculatrice
par Jean Claude Sam 14 Oct 2017 - 12:30

» Compilateur FBPano
par jean_debord Jeu 12 Oct 2017 - 9:53

» KGF_dll - nouvelles versions
par Klaus Mar 10 Oct 2017 - 18:49

» à propos de Panoramic_Editor [Résolu]
par Klaus Mar 10 Oct 2017 - 3:19

» Un petit "coucou" à tous les Panoramiciens !
par Jack Ven 6 Oct 2017 - 10:24

» Pourquoi le compilateur stagne
par mindstorm Mer 4 Oct 2017 - 20:38

» Panoramic ?
par Marc37 Mer 4 Oct 2017 - 0:39

» Premiers pas avec Arduino
par Marc37 Mer 4 Oct 2017 - 0:29

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Octobre 2017
LunMarMerJeuVenSamDim
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
CalendrierCalendrier

Partagez | 
 

 Et voici RÉCAPITULORAMIC

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

avatar

Nombre de messages : 1601
Date d'inscription : 13/09/2009

MessageSujet: Et voici RÉCAPITULORAMIC   Ven 28 Fév 2014 - 14:28

Et, comme annoncé ce jour dans « Présentation et bavardage »,
voici RÉCAPITULORAMIC, un premier programme tactile,
ta ta ta ta (clairon), le programme que je vous avais annoncé.

Principe :
Il s'agit d'un programme qui récapitule tout ce que vous avez
dans vos multiples clés USB et qui vous permet d'en consulter
le contenu sans avoir à dénicher préalablement la bonne clé.
Bien sûr, il est fait avec de gros boutons pour être utilisable
en tactile. Il fonctionne sur XP et Windows 8 (et 7 aussi, je suppose).

Fonctionnement :
Il y a, en fait, 2 programmes :
- Récapituloramic
- Treeviewramic
Pour les utiliser, il faut :
- enregistrer les 2 programmes dans le même dossier
- transformer Treeviewramic en executable.

Limites :
Et sachez que même si vous possédez des centaines ou même des milliers de
clés USB, pas de problème. RÉCAPITULORAMIC peut en récapituler jusqu'à l'infini...

Conseils d'utilisation :
- Donnez à vos clés des noms descriptifs aussi précis que possibles
- Passez les clés dans un scanner et donnez à la photo de ces clés
(en taille réelle) le même nom que celui que vous avez donné à cette clé
(mais en jpg)
- lisez l'aide, c'est toujours utile, et je les fais toujours simples.

Nota Bene :
Je trouve ce programme vraiment utile et ne manque pas de l'employer
dès que je cherche un truc dans mes diverses clés.
Etes-vous du même avis ?
Bien sûr, en principe, il n'y a plus de bugs, mais si vous en trouvez...

Voici d'abord RÉCAPITULORAMIC :
Code:
rem ' Récapituloramic - par jjn4
  dim a$ , b$ , i$ , j$ : rem Variables provisoires alphanumériques
  dim a , b , g , h , i , j , k , w , z : rem Variables provisoires numériques
  dim rc$ : rem Répertoire Courant
  dim im : rem Indice de modification dans l`un des deux mémos
  dim ir : rem Indicateur de Recherche
  dim nc : rem Nombre de clés recensées
  dim nc$(10) : rem Noms des Commandes
  dim nu : rem Numéro de la clé USB consultée
  dim tp$ : rem Titre du programme
  dim vp$ : rem Version du programme
  tp$="RÉCAPITULORAMIC - Le programme qui récapitule vos clés USB" : ' Titre
  vp$="Version 040713-0.2" : rem ' Ici est l'intitulé de la version
  rc$=dir_current$
  label affich , aide , calc , clef , coller , copier , enreg
  label fin , imago , impr , lancer , modif
  label new , recap , recens , rech , suppr , tiroir1 , tiroir2 , zquit
 
rem Datas
  data "Nouveau" , "Chercher" , "Récap" , "Enregistrer" , "Copier"
  data "Coller"  , "Supprimer" , "Imprimer" , "Aide" , "Quitter"
  for i=1 to 10
      read nc$(i)
  next i
 
rem form0
  full_space 0
  caption 0,tp$+" - "+vp$
  on_close 0,fin

memo 10 : rem Petite fenêtre de texte à gauche
  width 10,100
  height 10,screen_y-335
  bar_vertical 10
  item_add 10,"Description complète de la clé et diverses indications"
  inactive 10
 
picture 11 : rem Zone en bas à gauche où va apparaître l`imago de la clé
  top 11,screen_y-330
  width 11,98
  height 11,218
  stretch_on 11
  file_save 11,"Récap-blanc.bmp"
  on_click 11,imago
 
memo 12 : rem Grande fenêtre de texte à droite
  left 12,104
  top 12,66
  width 12,screen_x-140
  height 12,screen_y-177
  bar_vertical 12
  inactive 12
 
rem : rem Bouton des clé USB en haut
  for i=1 to int((screen_x-130)/61)
      button i+19
        left i+19,61*(i-1)+103
        top i+19,2
        width i+19,61
        height i+19,60
        font_size i+19,12
        inactive i+19
        caption i+19,str$(i)
        on_click i+19,clef
  next i
  caption 0,int((screen_x-130)/61)
  for i=int((screen_x-130)/61)-1 to int((screen_x-130)/61)
      active i+19
      off_click i+19
  next i
  font_name int((screen_x-130)/61)+19,"Wingdings"
  font_size int((screen_x-130)/61)+19,20
  caption int((screen_x-130)/61)+19,chr$(232)
  on_click int((screen_x-130)/61)+19,tiroir1
  font_name int((screen_x-130)/61)+18,"Wingdings"
  font_size int((screen_x-130)/61)+18,20
  caption int((screen_x-130)/61)+18,chr$(234)
  on_click int((screen_x-130)/61)+18,tiroir2

container 50 : rem Plateau articulé pour les boutons de commande de droite
  left 50,screen_x-115
  top 50,61
  width 50,85
  height 50,screen_y-171

rem : Boutons des commandes de droite
  for i=1 to 10
      button i+59
        parent i+59,50
        left i+59,4
        top i+59,int((screen_y-180)/10)*(i-1)+8
        width i+59,76
        height i+59,int((screen_y-180)/10)
        caption i+59,nc$(i)
  next i
  for i=62 to 67
      inactive i
  next i
  on_click 60,new
  on_click 61,rech
  on_click 62,recap
  on_click 63,enreg
  on_click 64,copier
  on_click 65,coller
  on_click 66,suppr
  on_click 67,impr
  on_click 68,aide
  on_click 69,zquit

dlist 80 : rem Liste des clés existantes
  sort_on 80

form 90 : rem Fenêtre où va être demandé l`emplacement de la clé
  hide 90
  left 90,500
  top 90,110
  width 90,200
  height 90,120
  caption 90,"Quelle lettre"
 
alpha 91
  parent 91,90
  left 91,10
  top 91,5
  font_size 91,10
  caption 91,"Précisez l'emplacement"+chr$(13)+"  où se trouve la clé :"
 
combo 92
  parent 92,90
  left 92,20
  top 92,50
  width 92,50
 
button 93
  parent 93,90
  left 93,90
  top 93,48
  caption 93,"Lancer"
  on_click 93,lancer

memo 100 : rem Zone de texte pour les résultats de recherche
  hide 100
  left 100,104
  top 100,int(screen_y/2)+95
  width 100,screen_x-220
  height 100,screen_y-int(screen_y/1.3)
  bar_vertical 100
 
alpha 101 : rem Affichage de l`indicateur de recherche
  hide 101
  left 101,130
  top 101,int(screen_y/2)+70
  font_bold 101
  font_size 101,12
  caption 101,"RÉSULTATS DE LA RECHERCHE :"
 
alpha 102 : rem Affichage de l`indicateur d`attente
  hide 102
  left 102,500
  top 102,int(screen_y/2)+70
  font_bold 102
  font_size 102,12
  font_color 102,255,0,0
  caption 102,"ATTENDEZ - RECHERCHE EN COURS"

rem Recensement des clés
  gosub recens
 
end : rem ' Fin des déclarations et début des routines

affich: : rem Affichage des numéros sur les boutons de clés existantes
  for i=20 to int((screen_x-130)/61)+17
      inactive i
      if nc>0
        for j=1 to nc
            if val(caption$(i))=j
              active i
            end_if
        next j
      end_if
  next i
return

aide: : rem Aide à l`utilisation de Récapituloramic
  application_title "Mieux comprendre Récapituloramic"
  a$="UTILITÉ : Récapituloramic est une sorte de carnet permettant de récapituler"+chr$(13)
  a$=a$+"  le contenu de chacune des clés USB que vous possédez sans avoir à les trouver,"+chr$(13)
  a$=a$+"  et à chaque fois, les brancher et en demander le contenu. Là, il suffit d'un clic."+chr$(13)
  a$=a$+chr$(13)
  a$=a$+"FONCTIONNEMENT :"+chr$(13)
  a$=a$+"  Le nombre de clés USB enregistrées peut être infini. Pour passer aux numéros"+chr$(13)
  a$=a$+"suivants, cliquer sur la flèche dirigée vers le bas. Pour faire revenir la fléche"+chr$(13)
  a$=a$+"vers le haut, cliquer sur la flèche latérale (orientée vers la droite) ou sur la"+chr$(13)
  a$=a$+"zone située en bas et à gauche (photo de la clé)."+chr$(13)
  a$=a$+"  La flèche latérale (droite-gauche) sert à faire alterner l'apparition des boutons"+chr$(13)
  a$=a$+"de commande et de la barre de défilement de la zone de texte centrale."+chr$(13)
  a$=a$+"  La zone en bas et à gauche sert à afficher la photo de la clé USB sélectionnée."+chr$(13)
  a$=a$+"Scannez la clé avec un logiciel adéquat et enregistrez-la dans le même répertoire"+chr$(13)
  a$=a$+"avec le même nom que la clé, précédé de « Récap- » et suivi de « .jpg » ou «.bmp »."+chr$(13)
  a$=a$+"  La zone située en haut à gauche est destinée à y insérer, en plus du nom donné à la"+chr$(13)
  a$=a$+"clé, une description de cette clé et diverses autres indications utiles."+chr$(13)
  a$=a$+"  Le système de recherche scrute le contenu de toutes les clés enregistrées pour voir"+chr$(13)
  a$=a$+"si le mot ou l'expression recherché s'y trouve (cela peut être plutôt long si vous"+chr$(13)
  a$=a$+"possédez une infinité de clés). Pour faire disparaître le panneau de recherche,"+chr$(13)
  a$=a$+"cliquez une deuxième fois sur le bouton « Chercher »."+chr$(13)
  a$=a$+"  Le bouton « Récap » permet de faire la synthèse complète de la structuration"+chr$(13)
  a$=a$+"de la clé choisie et d'en faire apparaître le résultat dans la zone de texte centrale."+chr$(13)
  a$=a$+"Les répertoires et sous-répertoires sont récapitulés en premier, à la façon d'un"+chr$(13)
  a$=a$+"lexique structuré. Les petites flèches vers la droite désignent les dossiers situés"+chr$(13)
  a$=a$+"dans la racine. Suivent ensuite les dossiers numérotés contenus dans chacun des"+chr$(13)
  a$=a$+"répertoires et sous-répertoires du lexique."
  message a$
return

calc: : rem Ajoute des espaces au calcul des mégaoctets pour mieux voir
  for g=4 to 6
      w=0 : h=0 : k=0 : i$=""
      a=instr(item_read$(12,g),":")
      a$=right$(item_read$(12,g),len(item_read$(12,g))-a-1)
      j=instr(a$,".")
      if instr(left$(a$,j)," ")=0
        if j>0
            w=j
            h=1
        else
            w=len(a$)
            h=0
        end_if
        for i=w to 1 step -1
            k=k+1
            if k=3+h
              i$=" "+mid$(a$,i,1)+i$
              k=0+h
            else
              i$=mid$(a$,i,1)+i$
            end_if
        next i
        if j>0 then i$=i$+right$(a$,len(a$)-j)
        i$=trim$(i$)
        item_insert 12,g,left$(item_read$(12,g),a)+" "+i$
        item_delete 12,g+1
      end_if
  next g
return

clef: : rem Modifications faisant suite à l`appui sur le bouton d`une autre clé
  if im=1 then gosub enreg
  off_change 10
  off_change 12
  nu=val(caption$(number_click))
  for i=1 to int((screen_x-130)/61)-2
      font_size i+19,12
      font_bold_off i+19
  next i
  font_size number_click,16
  font_bold number_click
  if file_exists(item_read$(80,nu)+".txt")=1
      file_load 12,item_read$(80,nu)+".txt"
  else
      file_open_write 1,item_read$(80,nu)+".txt"
      file_close 1
  end_if
  if file_exists(item_read$(80,nu)+".tit")=1
      file_load 10,item_read$(80,nu)+".tit"
  else
      file_open_write 1,item_read$(80,nu)+".tit"
      file_close 1
  end_if
  if file_exists("Récap-blanc.bmp")=1
      file_load 11,"Récap-blanc.bmp"
  end_if
  if file_exists(item_read$(80,nu)+".bmp")=1
      file_load 11,item_read$(80,nu)+".bmp"
  end_if
  if file_exists(item_read$(80,nu)+".jpg")=1
      file_load 11,item_read$(80,nu)+".jpg"
  end_if
  caption 0,tp$+" - "+vp$+" --> "+right$(item_read$(80,nu),len(item_read$(80,nu))-6)
  for i=62 to 67
      active i
  next i
  active 10
  active 12
  on_change 10,modif
  on_change 12,modif
return

coller: : rem Copier une partie sélectionnée du texte
  clipboard_paste 12
return

copier: : rem Coller le contenu du presse-papier
  clipboard_copy 12
return

enreg: : rem Enregistrer le contenu des deux mémos
  a$="Enregistrer "+right$(item_read$(80,nu),len(item_read$(80,nu))-6)
  a$=a$+", confirmez-vous votre demande ?"
  a=message_confirmation_yes_no(a$)
  if a=1
      file_save 12,item_read$(80,nu)+".txt"
      file_save 10,item_read$(80,nu)+".tit"
  end_if
  im=0
return

fin: : rem Processus faisant suite à la fermeture radicale de la fenêtre
  if im=1 then gosub enreg
return

imago: : rem Changer le sens de la flèche en cliquant sur l`imago
  if val(caption$(20))>1
      caption int((screen_x-130)/61)+18,chr$(233)
  end_if
return

impr: : rem Imprimer le contenu de la clé
  a=message_confirmation_yes_no("Confirmez-vous votre demande d'imprimer le texte ?")
  if a=1
      if dir_exists("C:\Prowi")=0
        dir_make "C:\Prowi"
      end_if
      file_save 12,"C:\Prowi\Provi.txt"
      execute_wait "write.exe /p C:\Prowi\Provi.txt"
      file_delete "C:\Prowi\Provi.txt"
      dir_remove "C:\Prowi"
      dir_change rc$
  end_if
return

lancer: : rem Lancer la récapitulation du contenu d`une clé
  hide 90
  file_open_write 1,"Récap.txr"
      file_writeln 1,right$(item_read$(80,nu),len(item_read$(80,nu))-6)
      file_writeln 1,text$(92)+":"
  file_close 1
  execute_wait "Treeviewramic.exe"
  clear 12
  file_load 12,"Treeviewramic.txt"
  gosub calc
return

modif: : rem Conséquences d`une modification du contenu d`une clé
  im=1
return

new: : rem Ajout d`une nouvelle clé
  if im=1 then gosub enreg
  a$="Donnez le nom de cette nouvelle clé "+chr$(13)+"Exemple : Clé verte Toshiba"
  a$=message_input$("Créer un nouveau fichier",a$,"")
  if a$<>""
      a=0
      for i=1 to len(a$)
        if instr(a$,"\")>0 then a=1
        if instr(a$,"/")>0 then a=1
        if instr(a$,":")>0 then a=1
        if instr(a$,"*")>0 then a=1
        if instr(a$,"?")>0 then a=1
        if instr(a$,chr$(34))>0 then a=1
        if instr(a$,"<")>0 then a=1
        if instr(a$,">")>0 then a=1
        if instr(a$,"|")>0 then a=1
      next i
      if a=0
        item_add 80,"Récap-"+a$
        nc=nc+1
        nu=nc
        gosub affich
        file_open_write 1,"Récap-"+a$+".txt"
        file_close 1
        file_open_write 1,"Récap-"+a$+".tit"
            file_writeln 1,a$
            file_writeln 1,string$(10,"-")
        file_close 1
        if file_exists("Récap-"+a$+".bmp")=1
            file_load 11,"Récap-"+a$+".bmp"
        end_if
        if file_exists("Récap-"+a$+".jpg")=1
            file_load 11,"Récap-"+a$+".jpg"
        end_if
        clear 10
        clear 12
        clear 80
        item_add 10,"Description complète de la clé et diverses indications"
        for i=1 to int((screen_x-130)/61)-2
            font_size i+19,12
            font_bold_off i+19
        next i
        gosub recens
        for i=62 to 67
            inactive i
        next i
        if file_exists("Récap-blanc.bmp")=1
            file_load 11,"Récap-blanc.bmp"
        end_if
        caption 0,tp$+" - "+vp$
        im=0
      end_if
  end_if
return

recap: : rem Demande de confirmation de la récapitulation et du disque corresp
  a$="Obtenir le récapitulatif complet de "
  a$=a$+right$(item_read$(80,nu),len(item_read$(80,nu))-6)+chr$(13)
  a$=a$+"confirmez-vous votre demande ?"
  a=message_confirmation_yes_no(a$)
  if a=1
      clear 92
      for i=90 to 67 step -1
        if disk_exists(chr$(i))=1
            item_add 92,chr$(i)
        end_if
      next i
      show 90
  end_if
return

recens: : rem Recensement des clés déjà existantes
  nc=0
  a$=file_find_first$
  while a$<>"_"
      if a$<>"." and a$<>".."
        if left$(a$,6)="Récap-" and right$(a$,4)=".txt"
            item_add 80,left$(a$,len(a$)-4)
            nc=nc+1
        end_if
      end_if
      a$=file_find_next$
  end_while
  file_find_close
  gosub affich
return

rech: : rem Processus de recherche
  if ir=0
      a$="Quel mot ou expression voulez-vous chercher ?"
      a$=message_input$("Chercher une séquence",a$,"")
      if a$<>""
        h=0
        clear 100
        item_add 100,"Séquence cherchée : "+a$
        height 12,screen_y-int(screen_y/2)
        for i=100 to 102
            show i
        next i
        if count(80)>0
            for i=1 to count(80)
              k=0
              file_open_read 1,item_read$(80,i)+".txt"
                  while file_eof(1)<>1
                    file_readln 1,i$
                    if instr(i$,a$)>0
                        if k=0
                          item_add 100,item_read$(80,i)+" ("+str$(i)+") :"
                          k=1
                        end_if
                        item_add 100,"  "+i$
                        h=1
                    end_if
                  end_while
              file_close 1
            next i
            beep
            hide 102
        end_if
      end_if
      ir=1
      if h=0 then item_add 100,"Aucune clé USB ne contient cette séquence"
  else
      hide 100
      hide 101
      height 12,screen_y-177
      ir=0
  end_if
return

suppr: : rem Supprimer une clé
  a=message_confirmation_yes_no("Confirmez-vous votre demande de supprimer cette clé ?")
  if a=1
      file_delete item_read$(80,nu)+".txt"
      file_delete item_read$(80,nu)+".tit"
      clear 10
      clear 12
      clear 80
      item_add 10,"Description complète de la clé et diverses indications"
      for i=1 to int((screen_x-130)/61)-2
        font_size i+19,12
        font_bold_off i+19
      next i
      gosub recens
      for i=62 to 67
        inactive i
      next i
      if file_exists("Récap-blanc.bmp")=1
        file_load 11,"Récap-blanc.bmp"
      end_if
      caption 0,tp$+" - "+vp$
      im=0
  end_if
return

tiroir1: : rem Articulation des boutons verticaux
  if caption$(int((screen_x-130)/61)+19)=chr$(232)
      for i=2 to 85
        left 50,screen_x-115+i
        width 50,85-i
      next i
      hide 50
      caption int((screen_x-130)/61)+19,chr$(231)
      if val(caption$(20))>1
        caption int((screen_x-130)/61)+18,chr$(233)
      end_if
  else
      caption int((screen_x-130)/61)+19,chr$(232)
      caption int((screen_x-130)/61)+18,chr$(234)
      show 50
      for i=2 to 85
        left 50,screen_x-30-i
        width 50,i
      next i
  end_if
return

tiroir2: : rem Articulation des boutons horizontaux
  if im=1 then gosub enreg
  off_change 10
  clear 10 : inactive 10
  item_add 10,"Description complète de la clé et diverses indications"
  off_change 12
  clear 12 : inactive 12
  for i=1 to int((screen_x-130)/61)-2
      font_size i+19,12
      font_bold_off i+19
  next i
  if caption$(int((screen_x-130)/61)+18)=chr$(234)
      for i=1 to int((screen_x-130)/61)-2
        caption i+19,str$(val(caption$(i+19))+int((screen_x-130)/61)-2)
      next i
  else
      if val(caption$(20))>1
        for i=1 to int((screen_x-130)/61)-2
            caption i+19,str$(val(caption$(i+19))-int((screen_x-130)/61)+2)
        next i
      end_if
      if val(caption$(20))<2
        caption int((screen_x-130)/61)+18,chr$(234)
        if show(50)=0
            gosub tiroir1
        end_if
      end_if
  end_if
  gosub affich
  for i=62 to 67
      inactive i
  next i
  caption 0,tp$+" - "+vp$
  if file_exists("Récap-blanc.bmp")=1
      file_load 11,"Récap-blanc.bmp"
  end_if
return

zquit: : rem Quitter ce programme
terminate

Et voici maintenant TREEVIEWRAMIC :
Code:
rem ' Treeviewramic par jjn4 - Version 040713-0.2
  dim a$ , b$ , i$ : rem Variables provisoires alphanumériques
  dim g , h , i , j , v , w : rem Variables provisoires numériques
  dim rc$ : rem Répertoire Courant
  dim de$ : rem Disque exploré
  dim ds : rem Disk Size
  dim df : rem Disk Freee
  dim im : rem Indice de modification
  dim ip : rem Indice de Profondeur des sous-répertoires trouvés
  dim nc$ : rem Nom de la Clé USB explorée
  dim nd$ : rem Nom du Disque à explorer
  dim ns : rem Nombre d`anti-Slashs trouvés
  dim pe : rem Paramètre d`erreur
  dim xp : rem Positions de la pendule de progression
  xp=183 : rc$=dir_current$
  label erreur , go , repere1 , repere2 , repere3 , repere4
  on_error_goto erreur

rem Ouverture du fichier des coordonnées du fichier à explorer
  file_open_read 1,"Récap.txr"
      file_readln 1,nc$
      file_readln 1,nd$
  file_close 1

rem form0
  left 0,300
  top 0,50
  width 0,580
  height 0,140
  caption 0,"TREEVIEWRAMIC récapitule le contenu de votre clé USB"

dlist 10 : rem Contient tous les répertoires et ss-rep avec leur adresse
  sort_on 10

dlist 11 : rem Supplée au dliste 10 pour rechercher les ss-répertoires

dlist 12 : rem Contient le texte final résultant de l`analyse

alpha 15 : rem Zone où est affichée la pendule
  left 15,445
  font_name 15,"Wingdings"
  font_size 15,70
  hide 15
 
alpha 16 : rem Zone où est affiché l`inscription rouge
  left 16,35
  top 16,20
  font_size 16,16
  font_color 16,255,0,0
  caption 16,"ATTENDEZ - RÉCAPITULATIF  EN  COURS"
  hide 16

alpha 17 : rem Zone où est affiché le temps estimé
  left 17,75
  top 17,55
  font_size 17,16
  font_color 17,0,0,255
  hide 17

rem fonctionnement
  gosub go
  dir_change rc$
  file_save 12,"Treeviewramic.txt"
repere4:
  terminate

end : ' -----------------------------------------------------------------

erreur:
  select pe
      case 0 : goto repere4
      case 1 : goto repere1
      case 2 : goto repere2
  end_select
return

go: : rem Récapitulatif des répertoires et fichiers trouvés
  rem ' Là, il remplit la liste de gauche de la racine du disque
  show 15
  show 16
  show 17
  ds=disk_kilo_size(left$(nd$,1))
  df=disk_kilo_free(left$(nd$,1))
  h=int((ds-df)/5000000)+1
  a$=""
  if h>1 then a$="s"
  caption 17,"Temps estimé : "+str$(h)+" minute"+a$
  clear 10
  de$=nd$+"\"
  dir_change de$
  a$=file_find_first$
  while a$<>"_"
      if a$<>"." and a$<>".."
        if dir_exists(a$)=1
            item_add 10,de$+a$
        end_if
      end_if
      a$=file_find_next$
  end_while
  file_find_close
  im=0
  ip=2
  caption 15,chr$(xp)
  repeat : rem ' Là, il fait la même chose avec les sous-répertoires en second
      im=0 : pe=1
      if count(10)>0
        for i=1 to count(10)
            b$=item_read$(10,i)+"\"
            ns=0
            for j=1 to len(b$)
              if mid$(b$,j,1)="\"
                  ns=ns+1
              end_if
            next j
            if ns=ip
              dir_change b$
              a$=file_find_first$
              while a$<>"_"
                  if a$<>"." and a$<>".."
                    if dir_exists(a$)=1
                        item_add 11,b$+a$
                    end_if
                  end_if
                  a$=file_find_next$
              end_while
              file_find_close
            end_if
repere1: :  rem ' Cas où le programme tombe sur un fichier caché et gelé
        next i
      end_if
      rem ' Là, il inclut la liste de droite dans celle de gauche
      if count(11)>0
        im=1
        ip=ip+1
        for i=1 to count(11)
            item_add 10,item_read$(11,i)
        next i
      end_if
      clear 11
      xp=xp+1
      if xp>194 then xp=183
      caption 15,chr$(xp)
  until im=0
  beep
  rem ' Là, on crée le lexique du récapitulatif
  clear 12
  item_add 12,"Récapitulatif du contenu de la clé USB : "+nc$
  item_add 12,"Le "+date$+" à "+time$
  item_add 12,string$(35,"=")
  item_add 12,"Espace total  : "+str$(ds)+" Ko"
  item_add 12,"Espace occupé : "+str$(ds-df)+" Ko"
  item_add 12,"Espace libre  : "+str$(df)+" Ko"
  item_add 12,string$(35,"=")
  item_add 12,""
  item_add 12,""
  item_add 12,"Récapitulatif des répertoires contenus dans la clé :"
  item_add 12,string$(50,"-")
  b$="" : j=0
  if count(10)>0
      for i=1 to count(10)
        a$=right$(item_read$(10,i),len(item_read$(10,i))-3)
        w=0 : h=0
        for j=1 to len(a$)
            if mid$(a$,j,1)="\"
              h=h+1
              w=j
            end_if
        next j
        if h>0
            b$=right$(a$,len(a$)-w)
        else
            b$=a$
        end_if
        b$=string$(5*h+1," ")+b$
        i$=str$(i)
        i$=string$((6-len(i$))*2," ")+i$
        if h=0
            item_add 12,i$+";-->  "+b$
        else
            item_add 12,i$+";      "+b$
        end_if
      next i
  end_if
  xp=xp+1
  if xp>194 then xp=183
  caption 15,chr$(xp)
  rem ' Maintenant, on ajoute le récapitulatif des fichiers par répertoire
  item_add 12,string$(35,"=")
  item_add 12,""
  item_add 12,""
  item_add 12,"Récapitulatif des fichiers contenus dans chaque répertoire :"
  item_add 12,string$(50,"-")
  v=0 : pe=2
  if count(10)>0
      for i=1 to count(10)
        h=0 : w=0 : g=0
        de$=item_read$(10,i)
        b$=right$(de$,len(de$)-3)
        for j=len(b$) to 1 step -1
            if mid$(b$,j,1)="\"
              h=1
              exit_for
            end_if
        next j
        if h=1
            i$=right$(b$,len(b$)-j)
            xp=xp+1
            if xp>194 then xp=183
            caption 15,chr$(xp)
        else
            i$=b$
        end_if
        item_add 12,str$(i)+":    "+i$
        item_add 12,b$
        item_add 12,string$(35,"-")
        dir_change de$
        a$=file_find_first$
        while a$<>"_"
            if a$<>"." and a$<>".."
              if file_exists(a$)=1
                  item_add 12,str$(i)+";  "+a$
                  w=w+1
              end_if
            end_if
            a$=file_find_next$
        end_while
        file_find_close
        goto repere3
repere2: : rem ' Cas où le programme tombe sur un fichier caché et gelé
  item_add 12,"Fichiers indétectables"
repere3:
        item_add 12,string$(25,"-")
        item_add 12,"Total fichiers : "+str$(w)
        item_add 12,""
        item_add 12,""
        v=v+w
      next i
  end_if
  item_add 12,string$(30,"=")
  item_add 12,"Nombre total de fichiers :"
  item_add 12,v
return

Ah, une petite chose, vous allez peut-être trouver le fonctionnement
de l'horloge un peu bizarre...
Mais rassurez-vous, c'est normal.
Sur Mars, le temps est décompté d'une autre façon que sur la Terre,
et en plus, il ne se déroule pas d'une façon aussi régulière...
 Laughing alien Laughing 
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://jjn4.e-monsite.com
Yannick

avatar

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

MessageSujet: re   Ven 28 Fév 2014 - 15:29

Tu pourrais améliorer le visuel avec la toolbar de KGF.dll et des icones en 32x32 
voir plus si tu ne passes pas par une librairie...

Ceci dit c' est une bonne idée et cela me sera très utile, je garde !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

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

MessageSujet: Re: Et voici RÉCAPITULORAMIC   Ven 28 Fév 2014 - 16:43

Le descriptif est tentant. Je vais tester ça ce weekend
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
jjn4

avatar

Nombre de messages : 1601
Date d'inscription : 13/09/2009

MessageSujet: +++   Sam 1 Mar 2014 - 17:15

C'est vrai que je pourrais faire un visuel plus joli,
mais c'est le côté pratique, que j'ai privilégié.
Vous me direz que ça n'empêche pas,
mais je n'aime pas tellement qu'un
programme se trimballe plein de casseroles
(des JPG, des ico, des dll...).
Bon, vous allez me dire que je suis vieux jeu...
Mais après tout, c'est normal pour un retraité.
(même un jeune retraité)
 Laughing alien Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://jjn4.e-monsite.com
Contenu sponsorisé




MessageSujet: Re: Et voici RÉCAPITULORAMIC   

Revenir en haut Aller en bas
 
Et voici RÉCAPITULORAMIC
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Me Voici Me Voila
» Voici venu le temps des rires et des chants !
» Coucou Me Voici =D
» Et voici Eriam, pour le meilleur et pour le pire ! :D
» Kikoo, me voici!

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos projets-
Sauter vers: