jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: Répertoire parent Ven 12 Fév 2010 - 17:35 | |
| Mon objectif étant de faire un programme qui cherche des données dans un autre répertoire, il me fallait trouver l'équivalent de : cd "rep-enfant" ------ et cd.. ----- (pour revenir au répertoire parent) codes que j'utilisais en DOS (au Pléistocène) Et comme l'objectif de ce programme est qu'il soit utilisé sur divers ordinateurs et donc placé en des endroits différents, je ne pouvais utiliser des adresses absolues. Alors, pour ce qui est de passer au répertoire enfant, c'est facile car ça a été prévu par Jack. Il suffit de faire : dir_change "Nom-du-répertoire-enfant" Mais pour le répertoire parent ? Oh, il y a bien le plan B, qui est possible : mettre dir_current$ dans une variable : c$ par exemple, (avant de faire dir_change "Nom-du-répertoire-enfant") puis de demander à revenir ensuite au répertoire précédent par : dir_change c$ Mais existe-t-il un plan A ? (autrement dit l'équivalent du DOS cd..) Alors j'ai essayé dir_change ".." et ça marche ! Et je ne crois pas que cette astuce ait déjà été publiée en tout cas, elle n'est pas indiquée dans le Manuel de référence Alors, pour illustrer cette astuce, j'ai fait un programme qui ressemble (de loin) à l'explorateur Windows (une version datant au moins du Crétacé)(supérieur, quand même !) avec laquelle vous pourrez vous amuser (mais je sens que quelqu'un va y trouver à pinailler) (ou dire que tout le monde connaissait cette astuce depuis longtemps) - Code:
-
rem ' Rép-parent dim a$ label paren , enfan , go width 0,1000 : height 0,500 : caption 0,"Aller vers répertoire parent ou enfant" memo 1 : left 1,20 : top 1,50 : width 1,400 : height 1,400 : bar_vertical 1 button 2 : left 2,20 : top 2,10 : caption 2,"parent" : on_click 2,paren alpha 3 : left 3,120 : top 3,5 : caption 3,"Enfant" combo 4 : left 4,120 : top 4,20 : on_click 4,enfan alpha 5 : left 5,300 : top 5,35 : caption 5,"Répertoire courant" memo 6 : left 6,422 : top 6,50 : width 6,540 : height 6,400 : bar_vertical 6 alpha 7 : left 7,450 : top 7,35 caption 7,"Fichiers situés dans ce répertoire courant" item_add 1,dir_current$ : gosub go
end
paren: dir_change ".." item_add 1,dir_current$ gosub go return
enfan: dir_change item_index$(4) item_add 1,dir_current$ gosub go return
go: clear 4 : clear 6 a$=file_find_first$ while a$<>"_" if instr(a$,".")=0 item_add 4,a$ else item_add 6,a$ end_if a$=file_find_next$ end_while return
| |
|
Invité Invité
| Sujet: Re: Répertoire parent Ven 12 Fév 2010 - 19:15 | |
| Super ! |
|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Répertoire parent Ven 12 Fév 2010 - 21:00 | |
| Bel essai ! et compact, comme je les aime. Ca peut servir de base de départ pour un explorateur (dans la jungle des fichiers, évidemment). | |
|
Contenu sponsorisé
| Sujet: Re: Répertoire parent | |
| |
|