FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Gestion d'un système client-serveur.
Choix d'un répertoire Emptypar Klaus Ven 17 Mai 2024 - 14:02

» item_index(résolu)
Choix d'un répertoire Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
Choix d'un répertoire Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
Choix d'un répertoire Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Choix d'un répertoire Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
Choix d'un répertoire Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
Choix d'un répertoire Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
Choix d'un répertoire Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
Choix d'un répertoire Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
Choix d'un répertoire Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
Choix d'un répertoire Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
Choix d'un répertoire Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
Choix d'un répertoire Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Choix d'un répertoire Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
Choix d'un répertoire Emptypar Jack Mar 30 Avr 2024 - 20:40

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le Deal du moment :
Bon plan achat en duo : 2ème robot cuiseur ...
Voir le deal
600 €

 

 Choix d'un répertoire

Aller en bas 
2 participants
AuteurMessage
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Choix d'un répertoire Empty
MessageSujet: Choix d'un répertoire   Choix d'un répertoire EmptyDim 6 Juil 2008 - 22:31

A ma connaissance il n'existe pas dans Panoramic de fonction de choix d'un répertoire, j'ai fait le petit essai que voici, à modifier en fonction des besoins de chacun. Je pars de la racine du disque dur ( C: ) et je n'ai pas traité les autres volumes, ça doit pouvoir se rajouter assez facilement.
Code:
Rem ** SELECTR.BAS, choix d'un répertoire
Rem ** Clic gauche: affichage des sous-répertoires du répertoire cliqué
Rem ** Clic droit:  choix du répertoire et sortie
Rem ** Clic sur ".": retour à la racine
Rem ** Clic sur "..": retour au répertoire "parent"
Rem ** Sortie: rep$ = nom complet du répertoire choisi.
dim rep$, rd$, f$, Savcur$, csp$, rp$(198)
dim ini%, nr%, x%, y%, yd%, ym%, lf%, hf%, il%
dim xs%, ys%, nlc%, r%, c%, lc%, i%, j%, rng%, nbr%, maxtab%
dim mousel%, mouser%
label Re1, Reb, Sui, Term, Bcle, bcw, Fin, Iprep
label Boutg, Boutd, Posclic
rem ----------------------------------------------------
rep$ = "C:": rem ** répertoire de départ (racine du disque)
IF DIR_EXISTS(rep$) = 0 THEN GOTO Fin
csp$ = "."
Savcur$ = DIR_CURRENT$: Rem Sauvegarde répertoire actuel
il% = 13 : rem interligne
hf% = 994: lf% = 540 :rem ** fenêtre d'affichage
rem ** hauteur utile= hf-30 (bandeau)
lc% = lf%/3: rem largeur d'une colonne d'affichage (3 colonnes)
nlc% = INT((hf%-30) /il%): rem ** nombre de lignes par colonne
WIDTH 0, lf%
HEIGHT 0, hf%
COLOR 0, 255, 255, 192: rem jaune clair
BORDER_SMALL 0
2D_TARGET_IS 0
FONT_BOLD 0
maxtab% = 198: rem ** dimension maximum des tableaux (hélas!)

rem --------------- affichage des sous-répertoires ---------------------
Re1:
CLS
2D_LINE lc%-2, 0, lc%-2, hf%-1
2D_LINE 2*lc%-2, 0, 2*lc%-2, hf%-1
rem CAPTION 0,rep$
yd% = 0: ym% = yd% + nlc%*il%
y% = yd% - il%: x% = 1
rd$ = rep$: IF LEN(rd$) = 2 THEN rd$ = rd$ + "\"
DIR_CHANGE rd$
ini% = 0: nr% = 0
IF LEN(rep$) > 3
  f$ = csp$: GOSUB Iprep
  f$ = csp$ + csp$: GOSUB Iprep
END_IF
Reb:
IF ini% = 0 THEN f$ = FILE_FIND_FIRST$: ini% = 1: GOTO Sui
f$ = FILE_FIND_NEXT$
IF f$ = "??????" THEN GOTO Reb: rem par exemple à la fin de C:\Windows
Sui:
IF f$ = "_" THEN GOTO Term
IF FILE_EXISTS(rep$ + "\" + f$) = 1 THEN GOTO Reb
GOSUB Iprep
GOTO Reb
Term:
FILE_FIND_CLOSE
nbr% = nr%: IF rp$(1) = csp$ THEN nbr% = nbr% - 2
CAPTION 0, rep$ + " (" + STR$(nbr%) + " répertoires)"

rem --------------- boucle d'attente -----------------------------------
Bcle:
mousel% = MOUSE_LEFT_DOWN(0): mouser% = MOUSE_RIGHT_DOWN(0)
IF mousel% = 0 AND mouser% = 0 THEN GOTO bcw
IF mouser% = 1 THEN GOTO Boutd
Boutg:
rem *** clic gauche: sous-répertoire à parcourir
IF MOUSE_LEFT_DOWN(0) = 1 THEN WAIT 100: GOTO Boutg: rem attente relâchement
GOSUB Posclic: IF rng% = -1 THEN GOTO bcw
IF rp$(rng%) = csp$ THEN rep$ = LEFT$(rep$, 2): GOTO Re1: rem racine
IF rp$(rng%) = csp$ + csp$
  j% = 0: rem répertoire parent
  FOR i% = LEN(rep$) TO 1 STEP -1
    IF MID$(rep$, i%, 1) = "\" AND j% = 0 THEN j% = i%
  NEXT i%
  rep$ = LEFT$(rep$, j% - 1): GOTO Re1
END_IF
rep$ = rep$ + "\" + rp$(rng%): GOTO Re1

Boutd:
IF MOUSE_RIGHT_DOWN(0) = 1 THEN WAIT 100: GOTO Boutd: rem attente relâchement
rem *** clic droit: choix du répertoire
GOSUB Posclic: IF rng% = -1 THEN GOTO bcw
IF LEFT$(rp$(rng%), 1) = csp$ THEN GOTO bcw
rep$ = rep$ + "\" + rp$(rng%)
PRINT_LOCATE x%, y% + il%: PRINT " ******** Répertoire: ********"
PRINT_LOCATE x%, y% + 2 * il%: PRINT rep$: GOTO Fin
bcw:
WAIT 200
GOTO Bcle

Fin:
DIR_CHANGE Savcur$: rem Retour au répertoire d'origine
END

rem ------------ sous-programmes -------------------------------------
Posclic:
xs% = MOUSE_X_POSITION(0)
c% = INT(xs% / lc%): rem ** colonne cliquée (0 à 2)
ys% = MOUSE_Y_POSITION(0)
r% = INT((ys% - yd%) / il%): rem ** rangée cliquée
rng% = 1 + r% + c% * nlc%
IF rng% < 0 OR rng% > nr% THEN rng% = -1
RETURN

Iprep:
nr% = nr% + 1: IF nr% > maxtab% THEN RETURN
rp$(nr%) = f$
y% = y% + il%
IF y% >= ym% THEN x% = x% + lc%: y% = yd%
PRINT_LOCATE x%, y%
PRINT f$: rem ** affichage du répertoire
RETURN

Edit: quelques petites modifs...


Dernière édition par JL35 le Mar 8 Juil 2008 - 23:10, édité 1 fois
Revenir en haut Aller en bas
Jack
Admin
Jack


Nombre de messages : 2386
Date d'inscription : 28/05/2007

Choix d'un répertoire Empty
MessageSujet: Re: Choix d'un répertoire   Choix d'un répertoire EmptyMar 8 Juil 2008 - 19:29

Citation :
A ma connaissance il n'existe pas dans Panoramic de fonction de choix d'un répertoire

Il y a DIR_CHANGE
avec comme explication dans le fiche du Manuel de Référence:
Citation :
LE RÉPERTOIRE COURANT DEVIENT LE REPERTOIRE D

Cette commande DIR_CHANGE D change le répertoire courant, qui devient le répertoire D. D est le nom absolu ou relatif du répertoire.

Si D est un nom relatif, D est considéré comme un sous-répertoire du répertoire courant.

Le nom absolu du répertoire est le nom complet, par rapport à la racine du système de fichier (ex: "c:\temp\files\" ou "c:\temp\files").

Le nom relatif est le nom du répertoire par rapport au répertoire courant (ex: "files").

Mais je ne sais pas si cela répond à ton besoin, car il faut taper cette commande et cela fige le nom du répertoire.
Tu aurais besoin de quoi?
Revenir en haut Aller en bas
https://panoramic.1fr1.net
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Choix d'un répertoire Empty
MessageSujet: Re: Choix d'un répertoire   Choix d'un répertoire EmptyMar 8 Juil 2008 - 22:59

En fait c'était pour parcourir le volume et faire choisir un répertoire à l'utilisateur du programme (voir le topic précédent: "affichage des smileys d'un répertoire", j'avais mis le répertoire en dur, mais musicgames me demandait si on pouvait faire choisir le répertoire par l'utilisateur).
Je connais DIR_CHANGE, d'ailleurs je l'utilise dans mon code ci-dessus.

Le besoin c'était l'équivalent pour les répertoires (choix d'un répertoire) de OPEN_DIALOG pour les fichiers (choix d'un fichier).
Evidemment on pourrait demander à l'utilisateur de taper lui-même le répertoire dans une boîte de dialogue, mais c'est moins pratique et avec risque d'erreurs que de parcourir une liste et cliquer.

Mais ce n'est pas un besoin courant à mon avis, on peut se débrouiller par programme et je ne pense pas qu'il faille une commande particulière pour ça.
Comme toujours en programmation, il y a moyen de contourner l'obstacle !

Merci encore pour ta réactivité.
Revenir en haut Aller en bas
Jack
Admin
Jack


Nombre de messages : 2386
Date d'inscription : 28/05/2007

Choix d'un répertoire Empty
MessageSujet: Re: Choix d'un répertoire   Choix d'un répertoire EmptyMar 8 Juil 2008 - 23:49

OK.
Je suis réactif quand j'ai une liaison internet sous la main, ce qui n'est pas toujours le cas: ces derniers temps, je me déplace beaucoup pour des raisons professionnelles.
J'avoue que je n'avais pas regardé ton code. Mais je finis tôt ou tard par tout regarder en détail.
Revenir en haut Aller en bas
https://panoramic.1fr1.net
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Choix d'un répertoire Empty
MessageSujet: Re: Choix d'un répertoire   Choix d'un répertoire EmptyMer 9 Juil 2008 - 14:54

Incidemment tu pourras constater dans le code ci-dessus que FILE_FIND_FIRST et NEXT renvoient bien les fichiers ET les sous-répertoires.
Je teste si c'est un fichier qui existe, et si non, j'en déduis que c'est un répertoire. C'est un peu lourd, mais je n'ai pas trouvé de solution plus élégante.
Revenir en haut Aller en bas
Jack
Admin
Jack


Nombre de messages : 2386
Date d'inscription : 28/05/2007

Choix d'un répertoire Empty
MessageSujet: Re: Choix d'un répertoire   Choix d'un répertoire EmptyMer 9 Juil 2008 - 20:24

J'ai bien vu toutes tes remarques sur les fichiers et repertoires renvoyées par ces deux commandes. Dès que je redeviens disponible pour PANORAMIC, je regarde tout cela dans le détail et je fais le nécessaire.
En ce moment, je suis pris à 100% par d'autres activités et qui sont importantes : ellles font "bouillir la marmite".
Revenir en haut Aller en bas
https://panoramic.1fr1.net
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Choix d'un répertoire Empty
MessageSujet: Re: Choix d'un répertoire   Choix d'un répertoire EmptyMer 9 Juil 2008 - 21:33

Je comprends bien que la mise au point de Panoramic pourrait être une activité à temps complet, alors si c'est en plus de l'activité professionnelle on ne peut qu'être admiratif pour le boulot fourni.

En ce qui concerne FILE_FIND..., ce n'est pas forcément une mauvaise chose, il faut bien un moyen aussi de trouver les répertoires. C'était simplement une remarque par rapport au manuel.
Revenir en haut Aller en bas
Contenu sponsorisé





Choix d'un répertoire Empty
MessageSujet: Re: Choix d'un répertoire   Choix d'un répertoire Empty

Revenir en haut Aller en bas
 
Choix d'un répertoire
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Liste (et choix) des fichiers d'un répertoire
» Choix de Police dans Choix et messages d'erreur parlants
» Paramètres ('Choix') de Panoramic_Editor
» Les choix de l'éditeur
» Ne cherchez plus vos couleurs grace à ma petite palette!

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: