Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Pour explorer vos disques | |
| | Auteur | Message |
---|
bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Pour explorer vos disques Lun 9 Sep 2013 - 14:58 | |
| Bonjour à tous! Un tout petit programme qui permet d'explorer le contenu de vos disques et dossiers. - Code:
-
dim i,d$,f$ label go,go2 width 0,533:height 0,700 list 10:left 10,5:top 10,5:width 10,470:height 10,600:font_name 10,"Lucida Console":font_bold 10:sort_on 10:on_double_click 10,go2 alpha 20:top 20,620:left 20,10 for i=65 to 90 if disk_exists(chr$(i))=1 then button i:width i,40:left i,475:top i,((i-65)*25)+5:caption i,chr$(i)+":\":on_click i,go next i end
go: dir_change caption$(number_click):f$=file_find_first$:explore():return
go2: d$=item_read$(10,item_index(10)) if left$(d$,4)<>"(+) " then return d$=dir_current$+"\"+mid$(d$,5,len(d$)-4)+"\" caption 0,d$:dir_change d$:f$=file_find_first$:explore() return
sub explore() dim_local d,f clear 10 repeat if file_exists(f$)=0 then f$="(+) "+f$:d=d+1 if f$<>"(+) ." then item_add 10,f$:f=f+1 if f$="(+) .." then d=d-2:f=f-1 f$=file_find_next$ until f$="_" file_find_close f=f-d caption 20,str$(d)+" dossier(s) et "+str$(f)+" fichier(s)" caption 0,dir_current$ end_sub
Par contre, si vous rencontrez des dossiers comme $Recycle.bin, Documents and settings, Recovery ou System Volume information vous aurez droit à un petit message d'erreur, mais ce n'est pas bloquant pour le programme sauf pour Documents and settings je crois. A+ | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Pour explorer vos disques Lun 9 Sep 2013 - 17:15 | |
| Bonjour bignono, Sympathique ta petite sub, mais il y a toujours le problème de la racine des volumes, pour lesquels il manque toujours les deux premiers éléments de la liste (c'est un problème connu et signalé). Par exemple chez moi sous C: il y a 39 dossiers et 5 fichiers, tu en trouves 38 et 4. Sous Z: (partie mémoire affectée en volume) tu trouves 0 fichier alors qu'il y en a deux. Ca y est, je comprends, il semble que ce problème a été réglé par Jack dans la dernière version d'essai, mais je ne l'utilise pas, ayant un autre problème avec cette version... désolé. N'empêche qu'il est sympa, je suis en train de le bricoler à ma façon, c'est pas mal ! Il y a quand même des anomalies pour certains volumes, mal reconnus (mais dues à Panoramic): par exemple pour une clé usb il signale une erreur bizarre (... pas de disque monté...) et attend une confirmation, puis reconnaît bien le volume. S'il y a plusieurs clés montées il ne fait l'erreur qu'une fois... J'avais déjà été confronté à tous ces problèmes, ce qui fait que j'étais passé par des fonctions ms-dos pour faire la même chose.
Dernière édition par JL35 le Lun 9 Sep 2013 - 17:35, édité 1 fois | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Pour explorer vos disques Lun 9 Sep 2013 - 17:33 | |
| Salut Bignono, Chez moi ça plante d'entrée et impossible ou d'annuler, ou de recommencer, ou de continuer. Obligé de tuer la tâche. A+ | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Pour explorer vos disques Lun 9 Sep 2013 - 17:36 | |
| Salut Jean Claude, on s'est croisés, j'éditais... par contre, je ne vois pas bien pourquoi ça plante chez toi... ??? Une remarque pour l'ami bignono: - on peut descendre les répertoires un par un, mais on ne peut pas les remonter, il faut revenir à la racine. - ce serait bien d'avoir déjà C: au lancement plutôt que du vide: une ligne à ajouter avant le END: - Code:
-
dir_change "C:\":f$=file_find_first$:explore() end | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 9 Sep 2013 - 17:52 | |
| Chez moi cela fonctionne...
Bravo Bignono ! | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Pour explorer vos disques Lun 9 Sep 2013 - 18:10 | |
| Une variante, adaptée à mon idée avec les remarques que j'ai faites: - Code:
-
dim i,d$,f$ label go,go1,go2 width 0,300:height 0,700: color 0,128,255,255: border_small 0 button 9: top 9,1: left 9,7: WIDTH 9,25:font_name 9,"Wingdings" caption 9,chr$(233):on_click 9,go1 list 10:left 10,5:top 10,25:width 10,width(0)-63:height 10,height(0)-100 color 10,255,255,192:sort_on 10:on_click 10,go2 font_name 10,"Lucida Console":font_size 10,9:' font_bold 10 alpha 20:top 20,HEIGHT(0)-65:left 20,10: font_bold 20 for i=65 to 90 if disk_exists(chr$(i))=1 button i:width i,40:left i,width(0)-58:top i,((i-65)*25)+5:caption i,chr$(i)+":\" on_click i,go end_if next i dir_change "C:\":f$=file_find_first$:explore() end
go: dir_change caption$(number_click):f$=file_find_first$:explore() return
go1: d$=dir_current$: if len(d$)<4 then return for i = len(d$) to 1 step -1: if mid$(d$,i,1)="\" then exit_for next i: dir_change left$(d$,i):f$=file_find_first$:explore() return
go2: d$=item_read$(10,item_index(10)) if left$(d$,4)<>"(+) " then return d$=dir_current$+"\"+mid$(d$,5,len(d$)-4)+"\" caption 0,d$:dir_change d$:f$=file_find_first$:explore() return
sub explore() dim_local d,f clear 10 repeat if file_exists(f$)=0 then f$="(+) "+f$:d=d+1 if f$<>"(+) ." then item_add 10,f$:f=f+1 if f$="(+) .." then d=d-2:f=f-1 f$=file_find_next$ until f$="_" file_find_close f=f-d caption 20,str$(d)+" dossier(s) et "+str$(f)+" fichier(s)" caption 0,dir_current$ end_sub mais j'ai toujours le problème avec les volumes usb... même quand je les ai ôtés, l'erreur persiste à chaque lancement, quelqu'un a essayé avec une clé ? | |
| | | bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: Pour explorer vos disques Lun 9 Sep 2013 - 18:27 | |
| Bonjour jl35 Je ne vois pas pourquoi tu rajoutes une flèche en haut pour remonter les répertoires, puisque quand tu es dans un répertoire, tu as "(+) .." qui est affiché en tête, et tu n'as qu'à double cliquer dessus pour remonter à la racine du répertoire . A+ | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Pour explorer vos disques Lun 9 Sep 2013 - 18:35 | |
| Pas compris... si je double-clique sur le + (ce qui veut dire je présume qu'il y a des sous-répertoires) je descend dans les sous-répertoires, mais je n'ai pas le moyen de faire le chemin inverse et de les remonter un à un jusqu'à la racine ? et d'ailleurs pourquoi un double-clic ? pourquoi pas un simple clic ? | |
| | | bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: Pour explorer vos disques Lun 9 Sep 2013 - 18:53 | |
| Je reprends: 1°) Quand on clique sur le bouton "c:\", dans le list s'affiche tous les dossiers, précédés de "(+) " afin d'indiquer qu'il s'agit d'un répertoire, et ensuite, tous les fichiers. par exemple: (+) dossier repertoire1 (+) dossier repertoire2 (+) dossier repertoire3 fichier.txt prog.bas prog.bak
2°) quand on double clique sur par exemple "(+) dossier repertoire1", on va lister tous les sous répertoires et fichiers. par exemple: (+) .. (+) sousdossier fiche.bas bateau.jpg etc...
3°) à partir de là, si tu double clique sur "(+) sousdossier" tu affiches tout ce qu'il contient comme sous répertoires et fichiers ou bien si tu cliques sur "(+) .." tu remontes au répertoire parent.
Ai-je été assez clair dans mon explication?
A+ | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Pour explorer vos disques Lun 9 Sep 2013 - 19:52 | |
| Très clair bignono, merci pour ta sollicitude.
Jusqu'au point 3, pour descendre les sous-répertoire, ça va, j'ai bien compris. Le seul point qui me chiffonne un peu, c'est si je veux remonter la chaîne. - Si le sous-répertoire ne contient que des fichiers, aucun clic n'est opérant (sauf pour surligner l'élément) - Si le sous-répertoire contient des sous-répertoires ET des fichiers, seul le double-clic sur un sous-répertoire est effectif, et il fait descendre d'un niveau supplémentaire, pas moyen de remonter, double ou simple click;
Si je comprends bien ce que tu dis, le double-clic fait descendre, et le simple clic fait remonter ? mais ai-je bien compris ? je dois être un peu bouché ce soir, mais je ne vois dans le programme qu'un on_double_click, mais pas de on_click, qui d'ailleurs n'a aucun effet. | |
| | | bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: Pour explorer vos disques Mar 10 Sep 2013 - 6:56 | |
| Bonjour à tous Bon, j'ai revu un tout petit peu ce programme, et maintenant, si on double clique sur un item qui commence par "(+) ", on descend dans le répertoire enfant, et si on double clique sur l'item "(-) .." on remonte au répertoire parent. Cela porte moins à confusion: tant qu'il y a "+" on peut explorer le répertoire, si c'est "-", on remonte au niveau précédent. Je pense que c'est simple avec le double clic, non? Maintenant, il reste le simple clic pour sélectionner un item (fichier ou dossier) afin de programmer des opérations de suppression, renommage, déplacement, tri, etc... pour ceux qui veulent aller plus loin. - Code:
-
dim i,d$,f$ label go,go2 width 0,533:height 0,screen_y-40:color 0,128,255,255:border_small 0 list 10:left 10,5:top 10,5:width 10,470:height 10,height(0)-65 font_name 10,"Lucida Console":font_bold 10:sort_on 10:on_double_click 10,go2 alpha 20:top 20,height(0)-58:left 20,10:font_bold 20:font_color 20,200,0,0 for i=65 to 90 if disk_exists(chr$(i))=1 then button i:width i,40:left i,475:top i,((i-65)*25)+5:caption i,chr$(i)+":\":on_click i,go next i end
go: dir_change caption$(number_click):f$=file_find_first$:explore():return
go2: if item_index(10)=0 then return d$=item_read$(10,item_index(10)) if left$(d$,4)<>"(+) " and left$(d$,4)<>"(-) " then return if d$="(-) .." d$=dir_current$:d$=file_extract_path$(d$) else d$=dir_current$+"\"+mid$(d$,5,len(d$)-4)+"\" end_if caption 0,d$:dir_change d$:f$=file_find_first$:explore() return
sub explore() dim_local d,f clear 10 repeat if file_exists(f$)=0 then f$="(+) "+f$:d=d+1 if f$="(+) .." then f$="(-) .." if f$<>"(+) ." then item_add 10,f$:f=f+1 if f$="(-) .." then d=d-2:f=f-1 f$=file_find_next$ until f$="_" file_find_close f=f-d caption 20,str$(d)+" dossier(s) et "+str$(f)+" fichier(s)" caption 0,dir_current$ end_sub
édité à 12h47 le 10/09/2013 A+
Dernière édition par bignono le Mar 10 Sep 2013 - 12:48, édité 1 fois | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Pour explorer vos disques Mar 10 Sep 2013 - 7:10 | |
| Bravo Bignono, c'est excellent. Par contre quand il n'y a plus de répertoire, chez moi, on n'a plus de - ou de .. pour remonter au répertoire d'avant. | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Pour explorer vos disques Mar 10 Sep 2013 - 8:01 | |
| Bonjour à tous, Toujours pareil chez moi J'ai pas le temps aujourd’hui , je verrais demain. A+ | |
| | | bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: Pour explorer vos disques Mar 10 Sep 2013 - 13:03 | |
| Il y avait un bug dans mon programme. Si on double cliquait dans une zone blanche du list, on avait un message d'erreur et cela plantait. J'ai édité le programme pour rectifier ce bug. @ Jean-Claude Je ne comprend pas ce qui se passe chez toi. Mon programme tourne bien sur mes 3 ordinateurs. Celui des filles, de ma femme et le mien. As-tu tous les droits d'administrateur? @ Jicehel, normalement quand tu descends tous les sous répertoire, jusqu'au dernier, tu dois toujours avoir "(-) .." pour pouvoir remonter! Je ne comprend pas ce qui se passe! Quand j'essaye un de vos programmes qui a l'air de bien tourner en général chez les autres et qu'il me pose problème chez moi, je ferme tout, j'éteint l'ordinateur, je débranche l'alimentation, et j'attends une à deux minutes le temps que les condensateurs chimiques de la carte mère se déchargent afin que les mémoires vives ne soient plus alimentées, puis je remets tout en route. Dans 90% des cas, ça marche! A+ | |
| | | jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| | | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Pour explorer vos disques Jeu 12 Sep 2013 - 18:15 | |
| Bravo Bognono,
Aujourd’hui ça marche, va savoir pourquoi ???
C'est un code que je vais étudier car j'ai souvent essayé de faire quelque chose dans le genre sans y parvenir.
A+ | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Jeu 12 Sep 2013 - 18:30 | |
| | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Pour explorer vos disques Jeu 12 Sep 2013 - 18:33 | |
| Milles excuses Bravenono, je ferais attention la prochaine fois. | |
| | | Invité Invité
| Sujet: Re: Pour explorer vos disques Mar 3 Déc 2013 - 0:00 | |
| Bonsoir, Pour mon programme en cours, je viens d'essayer ce programme. J'avais déjà fait ce genre de truc, mais il doit-être resté sur un ancien ordi, et était plus complexe. J'ai repris la version de JL35 et adapté, et je vois qu'il y avait une suite. Peu importe ça marche et ça me fait gagné du temps.
Sympa! |
| | | bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: Pour explorer vos disques Mar 3 Déc 2013 - 6:58 | |
| | |
| | | Contenu sponsorisé
| Sujet: Re: Pour explorer vos disques | |
| |
| | | | Pour explorer vos disques | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |