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
» Un prg Panoramic s'abime avec le temps
par papydall Aujourd'hui à 3:14

» Planétarium virtuel.
par Pedro Alvarez Hier à 16:58

» Dessin 2D: largeur de trait (résolu !)
par Jicehel Hier à 15:16

» Promenade dans le Ciel
par papydall Hier à 3:13

» PanExpress : l'éditeur Panoramic avec création d'objet
par Minibug Sam 23 Juin 2018 - 17:00

» Nouvelle version 0.34
par jean_debord Sam 23 Juin 2018 - 9:39

» Quantité de mémoire utilisée par un exe
par mindstorm Jeu 21 Juin 2018 - 21:22

» Projet de planétarium virtuel.
par Jean Claude Jeu 21 Juin 2018 - 19:02

» Animation: Feux de signalisation
par Minibug Mer 20 Juin 2018 - 20:28

» Problème avec 'file_load'.
par Pedro Alvarez Lun 18 Juin 2018 - 8:12

» Version instantanée V 0.9.28i20 du 13/06/2018
par jjn4 Sam 16 Juin 2018 - 14:25

» string$(0,chr$(32)) sans erreur
par silverman Ven 15 Juin 2018 - 19:56

» Version instantanée V 0.9.28i19 du 13/06/2018
par Minibug Ven 15 Juin 2018 - 19:14

» Mes souhaits d'amélioration de Panoramic.
par Pedro Alvarez Jeu 14 Juin 2018 - 20:17

» [RÉSOLU] Message d'erreur impossible à indentifier
par Minibug Mer 13 Juin 2018 - 20:52

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Juin 2018
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier

Partagez | 
 

 Explorateur particulier

Aller en bas 
AuteurMessage
Oscaribout



Nombre de messages : 167
Date d'inscription : 29/12/2016

MessageSujet: Explorateur particulier   Dim 24 Déc 2017 - 16:34

Bon suite au sujet suivant:

Problème de lancement...

Programme rechargé le 25 déc à 17 h 30 pour remplacer la barre oblique en chr$(92) à cause des problèmes du forum.

Nouvelle version 27/déc 17 à 19 h 00

Nouvelle version le 28/12/17. Ajout d'un teste pour éviter l'ajout d'une ligne vide dans les raccourcis.

Edit important: J'ai oublié de dire ce programme utilise la dll de Klaus




Voici le programme

Code:
'  Explorer  avec prise de note des fichiers

label disque , dossier , choix , parent , fichier , ajout , principal , sauve_info , efface_filtre
label modif26 , l_list , lecture_fiche , supprime7 , erreur , go_filtre , fichier_item
label monte_item , descendre_item ,check27 , execute11 , efface_11
dim bas$
[color=#006699][/color]' ##################################################
dll_on "c:\kgf.dll"
bas$=  "C:\PANO\B_P\INSTANTANE_8-7-17\PANORAMIC.exe"   :' pour exécuter les prg.bas
' ##################################################
hide 0
' dossier de travail
if DIR_EXISTS("C:\temp") = 0 then dir_make "C:\temp"
dir_change "C:\temp\"
dim instal$:instal$=dir_current$   :' "C:\temp\"

top 0,screen_y/2-400 : caption 0,"Explorateur"

dim f$ ,a% , test% ,a$ , b$ ,d$ ,  dossier$ ,boite_vue% , bin% , v%(10000) , le%  , dos$ ,t$:t$=chr$(13)
dim dir_parametre$ , dossierSCANNEUR$ , programSCANNEUR$ , fiche$ ,i% , img$ , x%,y% , prg$ , clic24%
dim o% , o$ , l0%,l1%  , w0% , w1% ,filtre% ,tron$ , memoir$ , menu70% , t1%,t2% , execute% ,nom_court$
o% = 250 : ' écart

 width 0,700+o%  :height 0,560  :border_small 0
 color 0,190,190,190:top 0,010:left 0,200
 picture 5:full_space 5 : left 5,3:top 5,3 : width 5,width(0)-22:height 5,height(0)-48
 color 5,210,220,220

dir_change "C:\"
open_dialog 150

alpha  23:left 23,10: top 23,78:color 23,255,204,102 : font_bold 23

alpha  16:top 16, 95:left 16,55:font_color 16,255,255,0:font_bold 16:font_size 16,14
          caption 16,"Raccourcis"
list   24:left 24,10: top 24,120:width 24,220 : height 24,385 : color 24,210,220,220 : font_bold 24 :on_click 24,principal
          hint 24,"_______Raccourcis_______"+chr$(13)+"Dossiers en MAJUSCULE"+chr$(13)+"fichiers en MINUSCULE"
          font_name 24,"Microsoft Sans Serif"
          
button 20:left 20,235: top 20,160:width 20,15:height 20,20: caption 20,chr$(241):font_name 20,"Wingdings" :font_size 20,15
         hint 20,"Monte la ligne d'un cran"+t$+"Le coche doit-être sur 'modifie'"
button 21:left 21,235: top 21,200:width 21,15:height 21,20: caption 21,chr$(242):font_name 21,"Wingdings" :font_size 21,15
         hint 21,"Descend la ligne d'un cran"+t$+"Le coche doit-être sur 'modifie'"
on_click 20,monte_item  : on_click 21,descendre_item
check  27:left 27,170: top 27,100 : caption 27,"marche" : mark_on 27: width 27,60 : on_click 27,check27
          hint 27,"Marche: exécution du programme"+t$+"modifie: déplacement des items "+t$+"ou suppression de la ligne"
dlist  25:' dossier des dossier de la list 10
          if file_exists(instal$+chr$(92)+"explore_dos.fic") = 1
             file_load 25,instal$+chr$(92)+"explore_dos.fic"
             file_load 24,instal$+chr$(92)+"explore_name.fic"
          end_if
button  8:left 8,25:width 8,60:height 8,25:caption 8,"Ajout":top 8,35 : on_click 8,ajout
          hint 8,"ajoute le raccourcis du dossier"+ chr$(13)+"ou du fichier cliqué en dernier"+chr$(13)+caption$(23)
button  7:left 7,100:width 7,60:height 7,25:caption 7,"Supprime":top 7,35 : on_click 7,supprime7
          hint 7,"Le coche doir être sur: 'modifie'"+t$+"pour supprimer"
edit   15:top 15,50:left 15,5+o%:width 15,435:font_size 15,10:font_bold 15:color 15,255,255,153
          on_click 15,l_list : hint 15,"NOM du fichier"+t$+"      ---------------"+t$+"En cliquant ici, on modifie "+t$+"l'affichage des fichiers"
MEMO   26:left 26,left(15)+440 :top 26,50:width 26,width(0)-20-left(26)-10: height 26,200
               color 26,192,192,192 : on_change 26,modif26 : hide 26   : hint 26,"INFORMATION sur le fichier"

' objet  WB Klaus
dim res%,wb%,hnd% , res_l%,res_t%,res_w%,res_h% , url$
res_l% = left(26)
res_t% = top(26) + height(26)+10
res_w% = width(26)
res_h% = height(0)-top(26)-height(26)-60
hnd% = handle(0)
res% = dll_call1("WBCreate",hnd%)
res% = dll_call4("WBLocate",res_l%,res_t%,res_w%,res_h%)
container 36:left 36,res_l%:top 36,res_t%:width 36,res_w%:height 36,res_h%:color 36,210,220,220 :' pour cacher le browser
' -------------------------

button 31 :left 31,width(0)-80:top 31,25:height 31,25:width 31,60:caption 31,"Sauve info" :on_click 31,sauve_info : hide 31
           height 31,18
memo   35:left 35,left(26):top 35,200:width 35,width(26): height 35,300 :color 35,200,200,200:bar_vertical 35 : hide 35

button 22:top 22,66+30:left 22,10+o%:width 22,45:height 22,18:caption 22,"parent":on_click 22,parent : font_size 22,8
alpha  19:top 19,65+30:left 19,80+o%:font_color 19,255,255,255:font_bold 19:font_size 19,10:caption 19,"dossier(s)"
alpha   6:top  6,65+30:left 6,500:font_color 6, 255,255,255:font_bold 6 :font_size 6, 10:caption 6,"Fichier(s)"

list   10:top 10,85+30:left 10,5+o%:width 10,230:height 10,390-30:font_size 10,8:font_bold 10:color 10,255,255,204
          on_click 10,choix :font_name 10,"Microsoft Sans Serif"
list   11:top 11,85+30:width 11,200:left 11,240+o%:height 11,305-30 : font_name 11,"Microsoft Sans Serif" :font_bold 11
          L1%=left(11) : L0% = left(10)+50 : w1%=width(11) : w0%= w1%+180 : on_click 11,fichier_item
alpha  13:top 13,5:left 13,190:font_color 13,255,255,255:font_bold 13:font_size 13,10:caption 13,"Lecteur:"
list   14:top 14,21:left 14,190:height 14,50:width 14,52:font_size 14,11:color 14,255,255,210 : on_click 14,disque
         for a%=asc("C") to asc("Z")
            a$= chr$(a%)+":" : if dir_exists(a$)=1 then item_add 14,a$
         next a%   : ' remplir le list 14, de tous les disques existant. Reste qu'il n'y a pas de mise à jour

alpha  17:top 17,500:left 17,5+o%:font_color 17,255,255,255:font_bold 17:font_size 17,10:caption 17,"créé nouveau dossier :"
dlist  30 : dlist 34

form 40:hide 40    :left 40,left(0)+50:top 40,top(0)+20:width 40,width(0)-70:height 40,height(0)-50 : border_small 40
memo 41:parent 41,40:full_space 41 : font_size 41,10:font_bold 41 : bar_both 41

button 45:left 45,575:top 45,96:caption 45,"lecture":width 45,45:on_click 45,lecture_fiche :height 45,18
' °°°°°°°°°°°°°°°°°°°°°°°°°°°°°
' ZONE de filtrage dans la recherche
container 50:left 50,left(15):width 50,width(0)-left(50)-100:height 50,35   :' hide 50
   alpha 51:parent 51,50:left 51,15: top 51,0:caption 51,"début"
   edit  52:parent 52,50:left 52,5:width 52,100:font_size 52,7:font_bold 52:top 52,10
   '
   alpha 53:parent 53,50:left 53,135:top 53,0:caption 53,"milieu"
   edit  54:parent 54,50:left 54,120:width 54,100:font_size 54,7:font_bold 54:top 54,10
   '
   alpha 55:parent 55,50:left 55,250:top 55,0:caption 55,"extension"
   edit  56:parent 56,50:left 56,235:width 56,100:font_size 56,7:font_bold 56:top 56,10
  
   button 58:parent 58,50:left 58,350:width 58,80:top 58,10:caption 58,"GO":height 58,20:on_click 58,go_filtre
  
   button 57:parent 57,50:left 57,510:top 57,10:caption 57,"efface tout":on_click 57,efface_filtre
             height 57,20: width 57,80
   ' -----------------------------------------
   button 12:left 12,623:top 12,93:caption 12,"J":font_name 12,"Wingdings" :font_size 12,16:width 12,24:height 12,24
             on_click 12,execute11 : font_bold 12 : hint 12,"exécution du fichier"
            
   button 18:left 18,650:top 18,96:caption 18,"Efface": width 18,40:height 18,20 : on_click 18,efface_11
show 0

END : ' @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

'   _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/
'  _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/
check27:
    off_click 27
    if checked(27) = 0
       mark_off 27 : caption 27,"modifie"
    else
       mark_on 27  : caption 27,"marche"
    end_if
    on_click 27,check27
return
'   _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/
'  _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/
monte_item:
   if checked(27) = 0
      if item_index(24) > 0
         clic24% = item_index(24)
      end_if

      if clic24% > 1
         a$ = item_read$(24,clic24%) : b$ = item_read$(25,clic24%)
         item_delete 24,clic24% : item_delete 25,clic24%
         clic24%=clic24%-1
         item_insert 24,clic24%,a$ : item_insert 25,clic24%,b$
      end_if
      file_save 25,instal$+chr$(92)+"explore_dos.fic"
      file_save 24,instal$+chr$(92)+"explore_name.fic"
   end_if
return
'   _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/
'  _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/
efface_11:
   a$ = caption$(23)
   if message_confirmation_yes_no("Etes-vous sûr de vouloir effacer:"+t$+a$) = 1
      file_delete a$
      item_delete 11,item_index(11)
   end_if
return
'   _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/
'  _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/
descendre_item:
   if checked(27) = 0
      if item_index(24) > 0
         clic24% = item_index(24)
      end_if

      if clic24% < count(24)
         a$ = item_read$(24,clic24%) : b$ = item_read$(25,clic24%)
         item_delete 24,clic24% : item_delete 25,clic24%
         clic24%=clic24%+1
         item_insert 24,clic24%,a$ : item_insert 25,clic24%,b$
      end_if
      file_save 25,instal$+chr$(92)+"explore_dos.fic"
      file_save 24,instal$+chr$(92)+"explore_name.fic"
   end_if
return
'   _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/
'  _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/
supprime7:
   if checked(27) = 0
      i%=item_index(24)
      if i% > 0
         if message_confirmation_yes_no("Etes-vous sûr de vouloir supprimer le raccourcis"+chr$(13)+item_index$(24)) = 1
            item_delete 24,i% : item_delete 25,i%
            file_save 25,instal$+chr$(92)+"explore_dos.fic"
            file_save 24,instal$+chr$(92)+"explore_name.fic"
         end_if
      end_if
   end_if
return
'   _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/
'  _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/
efface_filtre:
   text 52,"" : text 54,"" : text 56,""
return
'   _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/
'  _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/
erreur:
   if message_information_yes_no("On arrête à une erreur de lecture sur le fichier:")+fiche$) = 1 then stop:else :fiche$=""
   ' on continu sur lecture_fiche, goto de l'erreur oblige
lecture_fiche:
    on_error_goto erreur
    if file_exists(fiche$)=1 then file_load 41,fiche$ :show 40
    off_error_goto
return
'   _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/
'  _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/
l_list:
   if left(11) = L1%
      left 11,l0%:width 11,w0%
   else
      left 11,l1%:width 11,w1%
   end_if
return
'   _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/
'  _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/
fichier_item:
   fiche$ = item_index$(11) :le% = len(fiche$)
fichier:
   off_click 11 : filtre%=0
   clear 26:color 26,220,220,220 : hide 31:' hide 27
   ' 26= memo   27= hviewer
   show 36
      dos$ = dir_current$ + chr$(92)
   if file_exists(dos$+ "zzzexplore.info") = 1
      file_load 30,dos$+"zzzexplore.info"
      if item_read$(30,count(30)) = "" then item_delete 30,count(30)
   else
      clear 30
   end_if

   text 15,fiche$
   img$ = file_extract_extension$(lower$(fiche$))
   if img$ = ".jpg" or img$ = ".bmp" or img$=".png" or img$=".gif" :' or img$ = ".html" or img$ = ".htm"
      if img$ = ".html" or img$ = ".htm"      :  ' il faut faire un script htlm pour hviewer
         a$ = caption$(23)+text$(15)
         res% = dll_call1("WBUrl",adr(a$))
         hide 36
      else
         hviewer(fiche$)
      end_if
   end_if

   if filtre% = 0
      if count(30) > 0
         for a% = 1 to count(30)
            a$ = item_read$(30,a%)
            clear 26 : ' remplir le memo INFO 26
            if left$(lower$(a$),le%) = lower$(fiche$)  :' fiche$ est le nom du fichier
               a$ = right_pos$(a$,le%+2)
               repeat
                  i%=instr(a$,chr$(15))
                  if i%>0
                     b$ = left$(a$,i%-1)
                     a$ = right_pos$(a$,i%+1)
                     item_add 26,b$
                  else
                     item_add 26,a$
                  end_if
               until i%=0 or scancode = 27
               show 26  : color 26,255,255,255
               exit_for
            end_if
         next a%
      end_if
   end_if
   caption 23,dir_current$ + chr$(92) + fiche$  : clipboard_string_copy caption$(23)
   hint 8,"ajoute le raccourcis du dossier"+ chr$(13)+"ou du fichier cliqué en dernier"+chr$(13)+caption$(23)
   show 26 : hide 31
   on_click 11,fichier_item
   filtre%=0
return
'   _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/
'  _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/
disque:
   left 11,l1% : width 11,w1%
   f$ = "..":for a%=1 to 10:dir_change f$:next a%
   f$= item_index$(14):dossier$=f$+chr$(92) : dir_change f$ : memoir$=f$
   gosub dossier
return
'   _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/
'  _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/
sub filtre(b$)
         ' on peut ici faire les teste et sortir si les filtres sont négatifs
   filtre%= 3
   o$ = lower$(text$(52)) : le% = len(o$)
   ' début de teste
   if o$ = ""
      filtre%=filtre%-1
   else
      if left$(lower$(o$),le%) = left$(b$,le%) then filtre%=filtre% -1
   end_if
  
   '  milieu
   o$ = lower$(text$(54)) : le% = len(o$)
   if o$ = ""
      filtre% = filtre%-1
   else
      if instr(lower$(b$),o$) > 0 AND right$(b$,le%) <> o$  then filtre% = filtre%-1
   end_if
   '
   o$ = lower$(text$(56)) : le% = len(o$)
   if o$ = ""
      filtre%=filtre%-1
   else
      if right$(b$,le%) = o$ then filtre% = filtre%-1
   end_if
   o$ = ""
end_sub
'   _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/
'  _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/
dossier:
   text 15,fiche$ : caption 23,dir_current$  :' message "voir 15 et 23
   hint 8,"ajoute le raccourcis du dossier"+ chr$(13)+"ou du fichier cliqué en dernier"+chr$(13)+caption$(23)
   clear 10:clear 11
   a$ = file_find_first$
  
   while a$<>"_"
      Test%=File_Exists(a$)
      if Test%=0  :' donc dossier
         if left$(a$,1) = "." or left$(a$,2) = ".."
         else
            item_add  10,a$
         end_if
      else        :' fichier
         filtre(a$)
         if a$ <> "zzzexplore.info" and filtre% = 0 then item_add 11,a$
      end_if
      a$ = file_find_next$
   end_while
   file_find_close
   left 11,l1% : width 11,w1%
return
'   _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/
'  _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/
parent:
   left 11,l1% : width 11,w1% : text 15,"" : fiche$ = ""
   if dossier$ = "" then dossier$ = dir_current$
   if right$(dossier$,1) = chr$(92) then dossier$ = left$(dossier$,len(dossier$)-1)
   dossier$=reverse$(dossier$) : i% = instr(dossier$,chr$(92))
   if  i% > 0
      dossier$ = right_pos$(dossier$,i%)  : dossier$ = reverse$(dossier$)
   else
      dossier$ = reverse$(dossier$)
   end_if
   dir_change dossier$ :memoir$=dossier$ : gosub dossier
   hide 26 : show 36
return
'   _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/
'  _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/
' appel par list 10  ou bouton 58:GO
choix:
   F$=item_index$(10) : memoir$ = f$
go_filtre:
   left 11,l1% : width 11,w1%
   hide 26:clear 26  : text 15,"" : fiche$ = ""
  
   if dir_exists(memoir$) = 1 then dir_change memoir$
   dossier$=dir_current$+chr$(92)
   if item_index(10)>0

   else
      tron$ = ""
      for a%=len(dossier$) to 1 step -1
         tron$ = tron$ +"|"+str$(a%)

         if mid$(dossier$,a%,1) = chr$(92) then exit_for
      next a%
      if a%>2 then dossier$=left$(dossier$,a%-1)
   end_if
   gosub dossier
return
'   _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/
'  _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/
ajout:
   a$ = dir_current$
   b$ = caption$(23)
   if b$ <> ""
      if dir_exists(b$) = 1
         if file_extract_name$(b$) <> ""
            item_add 24,upper$(file_extract_name$(b$))
            item_add 25,"1)" + dir_current$+chr$(92)
         end_if
      else
         item_add 24,lower$(file_extract_name$(b$))
         item_add 25,"0)" + dir_current$+chr$(92)
      end_if
      file_save 25,instal$+chr$(92)+"explore_dos.fic"
      file_save 24,instal$+chr$(92)+"explore_name.fic"
   end_if
return
'   _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/
'  _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/
'appel par list24 raccourcis
principal:
   if checked(27) = 1
      a% = item_index(24)
      principal(a%)
   end_if
return
'   _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/
'  _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/
sub principal(a%)
   dim_local a$ , flag% , d$ , e$ , folder$  :' 24 est le list des accès direct, avec dlist 25
   clear 26:hide 26 : text 15,""
   a$ = item_read$(25,a%) : if dir_exists(right_pos$(a$,3)) = 1 then memoir$ = right_pos$(a$,3) :' ex: '1)ici'
   d$ = left$(a$,2)
   e$ = right_pos$(item_read$(25,a%),3) : memoir$=e$
   dir_change e$ : gosub dossier
  
   if d$ = "1)" :' dossier
   else
      e$ = e$ + item_read$(24,a%) : fiche$ = item_read$(24,a%)
      ' ici on prg la lecture éventuelle des infos
      dos$ = dir_current$ + chr$(92)
      if file_exists(dos$+ "zzzexplore.info") = 1
         file_load 30,dos$+"zzzexplore.info"
         if item_read$(30,count(30)) = "" then item_delete 30,count(30)
      else
         clear 30
      end_if
      ' ----------------------------------------
      if right$(lower$(e$),4)=".bas"
         message e$
         nom_court$ = string$(255," ")
         res% = dll_call2("GetShortName",adr(e$),adr(nom_court$))
         nom_court$ = trim$(nom_court$)  : message nom_court$
         fiche$="" :'           bas$ = PANORAMIC.exe ,   nom_court$ = "source.bas
         res% = DLL_call4("ExecuteProgram",adr(bas$),adr(nom_court$),adr(fiche$),1)
      else
         fiche$=""
         folder$=""  :'                     programme   rien        rien
         res% = DLL_call4("ExecuteProgram",adr(e$),adr(fiche$),adr(folder$),1)
      end_if
      ' ----------------------------------------
   end_if
   left 11,l1% : width 11,w1%
end_sub
'   _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/
'  _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/
sauve_info:
   sauve_info() :return  : ' lire 26 et cumuler les lignes avec chr$(15)
   '   _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/
sub sauve_info()
   dim_local a$ , b$ ,i% ,le%
   le% = len(fiche$)
   a$ = lower$(fiche$)+"|"
   if count(26) > 0
      for i% = 1 to count(26)
         a$ = a$ + item_read$(26,i%) + chr$(15)
      next i%
   end_if
  
   if count(30) = 0
      item_add 30,a$
      file_save 30,dos$+ "zzzexplore.info"
      color 26,255,204,100 : pause 500: color 26,255,255,255
   else
      for i% = 1 to count(30)
         if left$(lower$(item_read$(30,i%)),le%) = lower$(fiche$)
            item_delete 30,i%
            item_insert 30,i%,a$
            exit_for
         end_if
      next i%
      if i% > count(30) then item_add 30,a$
      file_save 30,dos$+"zzzexplore.info"
      color 26,255,204,100 : pause 500: color 26,255,255,255
   end_if
   hide 31
end_sub
'   _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/
'  _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/
modif26:
   color 26,240,240,240 : show 31
return
'   _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/
'  _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/
sub hviewer(img$)
   clear 34
   item_add 34," <BODY>"
   item_add 34,"<img src='"+ dos$ + img$ + "' width='"+str$(res_w%-45)+"'></img>"
   item_add 34,"</body>"
   file_save 34, instal$+"\zzzexplode_htm.html"
   url$ = instal$+"\zzzexplode_htm.html"
   res% = dll_call1("WBUrl",adr(url$))
   hide 36
end_sub
'   _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/ _/  _/ _/ _/
'  _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/
execute11:
      prg$ = chr$(34) + caption$(23) + chr$(34)
      if right$(lower$(prg$),4)=".bas"
         fiche$="" :'           bas$ = PANORAMIC.exe ,   e$ = "source.bas
         a$ = caption$(23)
         nom_court$ = string$(255," ")
         res% = dll_call2("GetShortName",adr(a$),adr(nom_court$))
         nom_court$ = trim$(nom_court$)
         res% = DLL_call4("ExecuteProgram",adr(bas$),adr(nom_court$),adr(fiche$),1)
      else
         fiche$=""
         nom_court$ = string$(255," ")
         res% = dll_call2("GetShortName",adr(prg$),adr(nom_court$))
         nom_court$ = trim$(nom_court$)
          '                                   programme   rien        rien
         res% = DLL_call4("ExecuteProgram",adr(nom_court$),adr(fiche$),adr(fiche$),1)
      end_if
      ' ------
return

En rouge sélecteur de disque
En bleu: zone de filtrage des fichiers
en violet: les raccourcis des dossiers (majuscule) et des fichiers (en minuscule) qui ont déjà étés ajoutés.
En marron une list de dossiers et à côté les fichiers.

Au départ on clique sur un disque présent et les dossiers et fichiers sont ajoutés au lists concernés. En cliquant sur un dossier, évidemment on entre dans le répertoire.

En cliquant sur un fichier, un certain nombre de choses se passe. Dans un temps très court un bouton apparait, si on clique rapidement le fichier est exécuté. Si on attend l'effacement du bouton, à droite se trouve un memo. C'est dans ce memo que l'on peut apporter des infos. Dès que ce dernier est modifié, il s'éclaircis et un bouton "Sauve info" apparait. Devinez! évidemment en cliquant dessus, le contenu est enregistré. En parcourant les fichiers chaque fiche contenant une info est découverte. En même temps pour certain type d'image, un affichage se fait au dessous. En cliquant sur "lecture" le contenu s'affiche dans une autre fenêtre.

Il y a une zône pour filtrer les fichiers en haut. Chaque edit peut avoir un filtre qui s'ajoute: le début du nom d'un fichier, le contenu d'une partie interne au nom, et la fin. En cliquant sur "GO" on relance l'affichage du list des fichiers en tenant compte du filtrage. Tant que les filtres sont présent, le clic sur un dossier fait que tous les fichiers sont triés. Il faut effacer les filtres pour avoir le contenu entier du dossier en ce qui concerne les fichiers.

L'affichage du bouton pour lancer un programme est provisoire, je reprendrais par la suite pour y mettre un bouton fixe en remplacement (j'ai pas le temps maintenant). Cela donne:

En cliquant rapidement sur le bouton, avant qu'il ne disparaisse, le programme s'exécute. Pour un fichier bas, il faudra renseigner le chemin en ligne 8 de 'panoramic.exe'.

Pour ajouter un dossier au raccourcis, il faut cliquer sur le dossier concerné, et ensuite sur le bouton "Ajout". Pour les fichiers, c'est identique. Il faut s'avoir que selon qu'on appuis sur un dossier ou un fichier, le chemin et le nom sont copier dans le presse papier, se qui permet l'intégration dans un source.

Pour retirer un raccourcis, on le choisi dans le list à gauche, et ensuite on le supprime après un message de confirmation.

Dans un edit en dessous des filtre, en cliquant dessus, on modifie l'affichage des fichiers. Ce dernier indique le nom du fichier, dans le cas où la place manquerait pour lire le nom.

Ce programme a subit beaucoup de transformation depuis le départ, et la numérotation des objets est plutôt fantaisiste.


Dernière édition par Oscaribout le Jeu 28 Déc 2017 - 11:38, édité 8 fois (Raison : Manque un lien)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Minibug

avatar

Nombre de messages : 2971
Age : 51
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

MessageSujet: Re: Explorateur particulier   Lun 25 Déc 2017 - 1:15

Salut Oscaribout !

Je viens de charger et tester ton programme.

J'ai d'abord sélectionné mon disk D puis j'ai choisi mon dossier IMAGES.
Jusque là pas de problèmes.

Ensuite j'ai choisi une image dans ma liste sauf que là le chemin n'est pas bon !
Voici le résultat :



C'est pas très grave...
Il suffit de vérifier la présence ou l'absence du "\" à la fin du chemin avant de rajouter le nom du fichier. Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Oscaribout



Nombre de messages : 167
Date d'inscription : 29/12/2016

MessageSujet: Re: Explorateur particulier   Lun 25 Déc 2017 - 9:27

Merci Minibug d'avoir testé.

J'ai modifié en direct dans le programme.
A la ligne 258 dans le sous-programme disque
  f$= item_index$(14):dossier$=f$+chr$(92) : dir_change f$ : memoir$=f$
L'anti-slash a disparu, j'ai mis chr$(92) à la place.

J'ai repris le programme qui est posté pour voir si il y a d'autre problème de ce genre, mais j'ai le temps de voir pour l'instant.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Minibug

avatar

Nombre de messages : 2971
Age : 51
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

MessageSujet: Re: Explorateur particulier   Lun 25 Déc 2017 - 15:12

Bonjour Oscaribout

J'ai testé de nouveau ton programme et le problème est le même...

Je pense qu'il faut que tu vérifies ton chemin et tester si le dernier caractère est bien un '\'
En faisant ceci par exemple :

IF RIGHT$(chemin$,1)<>"\" THEN chemin$=chemin$+"\"

ensuite on peut cliquer sur le fichier correspondant et là le chemin sera bon ! Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Oscaribout



Nombre de messages : 167
Date d'inscription : 29/12/2016

MessageSujet: Re: Explorateur particulier   Lun 25 Déc 2017 - 15:48

Avec le monde que j'ai, je ne peux que répondre rapidement.
Je n'ai aucun problème sur mon programme quelque soit la sélection, ou la méthode. Ca ne me gène pas de rajouter la ligne, mais je pense surtout qu'il y a le même problème à un autre endroit. La barre a été surement bouffée ailleurs. Dès que je peux, je regarde, mais pour l'instant mon ordi sert dans la cuisine pour ma femme.

Mais le problème se résoudra.
A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Oscaribout



Nombre de messages : 167
Date d'inscription : 29/12/2016

MessageSujet: Re: Explorateur particulier   Lun 25 Déc 2017 - 17:37

Bon j'ai trouvé. Il y a bien une dizaine de ligne où l'anti-slash à disparu.
D'ailleurs quelle utilité de mettre variable$ +""

J'ai remis la bonne version modifié sur le premier post.

J'espère ne pas en avoir oublié.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Minibug

avatar

Nombre de messages : 2971
Age : 51
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

MessageSujet: Re: Explorateur particulier   Lun 25 Déc 2017 - 19:17

Me revoilà !

Je viens de reprendre ton code et cette fois tout fonctionne ! cheers

Citation :
D'ailleurs quelle utilité de mettre variable$ +""
Oui c'est vrai que je n'y ai même pas prêté attention lorsque j'ai regardé ton code... Suspect

Le coup des Slashs qui sont mangés lors de la mise en ligne sur le forum est bien connu, j'aurai du y penser ! drunken
Le mieux lorsqu'on publie sur le forum c'est d'utiliser le CHR$(92) au lieu de "\" comme tu l'avais fait remarquer dans le post juste avant. Wink

Juste un petit défaut de placement, lors de la création de mon premier raccourci :



Edit :
Je viens de voir que j'avais du créer sans m'en rendre compte des raccourcis vides et du coup j'ai tout supprimer et une fois le programme relancé tout fonctionne...
Désolé ! Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Oscaribout



Nombre de messages : 167
Date d'inscription : 29/12/2016

MessageSujet: Re: Explorateur particulier   Lun 25 Déc 2017 - 19:37

Bien content que cela fonctionne maintenat.
J'ai regardé mon code, mais franchement comment est-il possible de pouvoir ajouter des lignes vides?

Code:
a$ = dir_current$
  b$ = caption$(23)
  if b$ <> ""
      if dir_exists(b$) = 1
        item_add 24,upper$(file_extract_name$(b$))
        item_add 25,"1)" + dir_current$+chr$(92)
      else
        item_add 24,lower$(file_extract_name$(b$))
        item_add 25,"0)" + dir_current$+chr$(92)
      end_if
      file_save 25,instal$+chr$(92)+"explore_dos.fic"
      file_save 24,instal$+chr$(92)+"explore_name.fic"
  end_if

Je ne vois pas comment éviter ce que tu présentes scratch et comment c'est possible Question
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Minibug

avatar

Nombre de messages : 2971
Age : 51
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

MessageSujet: Re: Explorateur particulier   Lun 25 Déc 2017 - 20:34

J'en ai aucune idée,

Mais c'est peut être lié à l'utilisation du programme avant la correction.
Ce qui à peut être engendré ce genre de chose ! drunken Suspect
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Oscaribout



Nombre de messages : 167
Date d'inscription : 29/12/2016

MessageSujet: Re: Explorateur particulier   Mer 27 Déc 2017 - 19:12

Je viens de remettre le code renouvelé.

J'ai revu le lancement de l'exécution d'un programme, ajouté un bouton pour supprimer un fichier dans un dossier, ajouté un check pour pouvoir agir sur les items de raccourcis, et pour supprimer une ligne.



----------
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Minibug

avatar

Nombre de messages : 2971
Age : 51
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

MessageSujet: Re: Explorateur particulier   Mer 27 Déc 2017 - 22:28

Bonsoir Oscaribout !

J'ai trouvé comment ajouter un raccourcis 'vide' !

Il suffit dès le départ de sélectionner le lecteur (C D etc...) et de cliquer sur 'ajouter' un raccourcis.
ensuite tu choisis le dossier et le fichier de ton choix et tu 'ajoutes' de nouveau le fichier correspondant
Tu verra immédiatement le résultat ! drunken rendeer geek
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Oscaribout



Nombre de messages : 167
Date d'inscription : 29/12/2016

MessageSujet: Re: Explorateur particulier   Jeu 28 Déc 2017 - 0:34

J'avais fermé le programme comme quoi il était fini. Mais c'est logique. Dans le dlist 25 on a le dossier, et file_extract_name$ d'un disque, il reste rien pour le list 24.

Je mets la modification à faire ici, je reprendrai plus tard dans le 1er post. Ce doit-être en ligne 377 environ.

Code:
ajout:
   a$ = dir_current$
   b$ = caption$(23)
   if b$ <> ""
      if dir_exists(b$) = 1
         if file_extract_name$(b$) <> ""
            item_add 24,upper$(file_extract_name$(b$))
            item_add 25,"1)" + dir_current$+chr$(92)
         end_if
      else
         item_add 24,lower$(file_extract_name$(b$))
         item_add 25,"0)" + dir_current$+chr$(92)
      end_if
      file_save 25,instal$+chr$(92)+"explore_dos.fic"
      file_save 24,instal$+chr$(92)+"explore_name.fic"
   end_if
return

Je vois que tu es le seul à tester, y trouves-tu un intérêt à ce programme?
Je te remercie pour tes interventions, vu que j'ai horreur d'intervenir si ça ne présente pas d'intérêt pour le forum
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Minibug

avatar

Nombre de messages : 2971
Age : 51
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

MessageSujet: Re: Explorateur particulier   Jeu 28 Déc 2017 - 0:59

Citation :
Je vois que tu es le seul à tester, y trouves-tu un intérêt à ce programme?
Je te remercie pour tes interventions, vu que j'ai horreur d'intervenir si ça ne présente pas d'intérêt pour le forum

Je pense qu'il y a un intérêt mais peut être que c'est l'ergonomie qu'il faut travailler.
Rendre l'ensemble plus simple et plus conviviale. En fait c'est interface qui ne me semble pas top !
Peut être cacher les raccourcis et ne les afficher que sur demande avec un bouton RACCOURCIS par exemple...
Pareil pour la barre de recherche, tu peux faire en sort de la masquer et l'utilisateur l'affiche uniquement en cas de besoins.

Après il y a sûrement d'autres petites choses à améliorer. il faut voir dans quel but utiliser cet outil... Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Oscaribout



Nombre de messages : 167
Date d'inscription : 29/12/2016

MessageSujet: Re: Explorateur particulier   Jeu 28 Déc 2017 - 1:24

Ce programme n'était pas fait pour être publié, mais je voulais m'y retrouver dans tous mes fichiers. Mais en le construisant j'ai fait pas mal de modifications. Je me suis rendu compte que j'étais très en retard, que j'avais plus d'un an à rattraper. Toutes les nouvelles fonctions dont certaines que je ne retrouvais pas.

Comme on m'a dit "Bien sûr que ça nous intéresse ! On n'est pas pressé, mais intéressé." j'ai pris la décision de poster le programme. Je me suis dit que il pouvait être le début d'une autre adaptation de votre part. Je sais que pour certain il faut faire un menu, alors que moi je m'en 'fou'. Une fois qu'on a l'exemple devant soi, on sait mieux ce dont on a besoin, et on a un canevas de départ. Ca ne me gênerait absolument pas qu'il soit repris, et que j'adapte un autre style (à condition que la sauvegarde des infos soit identique pour ne pas tout refaire).

Je ne trouve plus le temps de programmer. Ce que je faisais avant en une journée, je fais trainer, et les jours, sinon les semaines passent. Je ne peux plus passer le temps à programmer. Ca me donne une bonne raison de ne plus avoir ma place ici. C'est pas un problème de forum ou de membre, mais de moi avec mon environnement.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Marc

avatar

Nombre de messages : 796
Age : 57
Localisation : TOURS
Date d'inscription : 17/03/2014

MessageSujet: Re: Explorateur particulier   Jeu 28 Déc 2017 - 3:56

Bonjour à tous !

@Oscaribout
Tu as bien fait de diffuser ton programme : au moment où j’écris, ton topic a dépassé les 200 vues !
Même si je ne suis pas intervenu, j’ai suivi le fil de la discussion et j’ai essayé ton programme. Et je pense qu’il y en a plein d’autres qui l’ont fait aussi…
En tout cas merci de ton partage !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Oscaribout



Nombre de messages : 167
Date d'inscription : 29/12/2016

MessageSujet: Re: Explorateur particulier   Jeu 28 Déc 2017 - 11:48

Mise à jour avec les dernière modifications.

Je vous remercie pour vos remarques. Je comprend parfaitement ce qui est dit, et il est tout à fait normal qu'il n'y ait peut de réaction, surtout que moi-même je ne me manifeste plus. Et pour cause, j'essaye de me mettre en retrait.

Les remarques de Minibug sont parfaitement justifiées, mais je laisse ainsi le rendu du programme. A vous de le modifier à votre guise. J'ai mon outils, et j'ai des priorités. Maintenant mes besoins ne sont pas les vôtres.

Bonne journée!

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Explorateur particulier   

Revenir en haut Aller en bas
 
Explorateur particulier
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Un petit explorateur
» Problème avec l'explorateur Windows (Résolu)
» internet explorer est tres lent sous vista
» MAPSource ne reconnait pas mon Nuvi
» etrex venture dans l'explorateur Window [Résolu]

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: