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
» bouton dans autre form que 0
Liste (et choix) des fichiers d'un répertoire Emptypar leclode Aujourd'hui à 13:59

» KGF_dll - nouvelles versions
Liste (et choix) des fichiers d'un répertoire Emptypar Klaus Aujourd'hui à 11:41

» Gestion d'un système client-serveur.
Liste (et choix) des fichiers d'un répertoire Emptypar Klaus Aujourd'hui à 10:23

» PANORAMIC V 1
Liste (et choix) des fichiers d'un répertoire Emptypar papydall Sam 4 Mai 2024 - 3:43

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Liste (et choix) des fichiers d'un répertoire Emptypar Froggy One Jeu 2 Mai 2024 - 11:16

» @Jack
Liste (et choix) des fichiers d'un répertoire Emptypar Jack Mar 30 Avr 2024 - 20:40

» trop de fichiers en cours
Liste (et choix) des fichiers d'un répertoire Emptypar papydall Lun 29 Avr 2024 - 23:39

» Une calculatrice en une ligne de programme
Liste (et choix) des fichiers d'un répertoire Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
Liste (et choix) des fichiers d'un répertoire Emptypar leclode Sam 27 Avr 2024 - 17:59

» Bataille navale SM
Liste (et choix) des fichiers d'un répertoire Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Les maths du crocodile
Liste (et choix) des fichiers d'un répertoire Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
Liste (et choix) des fichiers d'un répertoire Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Dessine-moi une galaxie
Liste (et choix) des fichiers d'un répertoire Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
Liste (et choix) des fichiers d'un répertoire Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
Liste (et choix) des fichiers d'un répertoire Emptypar papydall Dim 21 Avr 2024 - 23:30

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 : -40%
Tefal Ingenio Emotion – Batterie de cuisine 10 ...
Voir le deal
59.99 €

 

 Liste (et choix) des fichiers d'un répertoire

Aller en bas 
+3
Jicehel
bignono
JL35
7 participants
AuteurMessage
JL35




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

Liste (et choix) des fichiers d'un répertoire Empty
MessageSujet: Liste (et choix) des fichiers d'un répertoire   Liste (et choix) des fichiers d'un répertoire EmptyLun 13 Jan 2014 - 22:10

énième édition (mais ça sert toujours), assez semblable à ce qui a déjà été fait, et entièrement en Panoramic comme le voulait Minibug.
En entrée, le répertoire et l'extension éventuelle souhaitée (ou * : tous les fichiers et sous-répertoires)
Le résultat est dans le clipboard, sous forme d'une chaîne formatée, prête à être chargée dans un Memo (Clipboard_Paste), triée par ordre alphabétique, avec les sous-répertoires en tête (nom précédé de [D] )
Code:
SUB Dirf(rep$,ext$)
' Liste des fichiers de rep$, d'extension ext$ (si ext$= "*", tous les fichiers)
' Résultat: chaîne dans le clipboard, fichiers triés, sous-répertoires en tête
' (NB: rep$ accepte les noms de répertoires contenant des espaces).
DIM_LOCAL svr$, a$, f$, ndl%, i%
ndl% = 5000: WHILE OBJECT_EXISTS(ndl%)=1: ndl%=ndl%+1000: END_WHILE
DLIST ndl%
svr$ = DIR_CURRENT$: DIR_CHANGE rep$
IF ext$<>"*" AND LEFT$(ext$,1)<>"." THEN ext$="."+ext$
ext$ = UPPER$(ext$)
f$ = FILE_FIND_FIRST$
WHILE f$ <> "_"
    IF f$ <> "." AND f$ <> ".."
        IF ext$ = "*" OR UPPER$(FILE_EXTRACT_EXTENSION$(f$)) = ext$
            IF FILE_EXISTS(f$) = 0 THEN f$ = " "+f$
            ITEM_ADD ndl%,f$
        END_IF
    END_IF
    f$ = FILE_FIND_NEXT$
END_WHILE
FILE_FIND_CLOSE
DIR_CHANGE svr$: ' restore le répertoire d'origine
SORT ndl%: a$ = ""
FOR i% = 1 TO COUNT(ndl%)
    f$ = ITEM_READ$(ndl%,i%): IF LEFT$(f$,1)=" " THEN f$="[D]"+MID$(f$,2,100)
    a$=a$+f$+CHR$(13)+CHR$(10)
NEXT i%
DELETE ndl%
CLIPBOARD_STRING_COPY LEFT$(a$,LEN(a$)-2)
END_SUB


Dernière édition par JL35 le Mar 14 Jan 2014 - 20:19, édité 1 fois (Raison : modifié un peu le titre (voir plus bas))
Revenir en haut Aller en bas
bignono

bignono


Nombre de messages : 1127
Age : 66
Localisation : Val de Marne
Date d'inscription : 13/11/2011

Liste (et choix) des fichiers d'un répertoire Empty
MessageSujet: Re: Liste (et choix) des fichiers d'un répertoire   Liste (et choix) des fichiers d'un répertoire EmptyMar 14 Jan 2014 - 11:14

Merci JL35, C'est super cette sub, bien pratique.
A+ Wink Wink Wink
Revenir en haut Aller en bas
JL35




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

Liste (et choix) des fichiers d'un répertoire Empty
MessageSujet: Re: Liste (et choix) des fichiers d'un répertoire   Liste (et choix) des fichiers d'un répertoire EmptyMar 14 Jan 2014 - 18:27

Merci bignono !
J'ai modifié un peu la sub, pour envoyer le résultat directement dans un LIST (paramètre supplémentaire: le n° du List), et faciliter la sélection d'un ou plusieurs fichiers dans la liste, avec un sous-programme de sélection: il y a affichage d'une coche (en fait un X) pour chaque fichier sélectionné. On peut sélectionner une série de fichiers consécutifs d'un coup en maintenant la touche shift enfoncée: cliquer le 1er puis le dernier de la série.
Pour désélectionner un fichier sélectionné: recliquer dessus.
Après on exploite la liste en testant les éléments qui ont un X en tête.
Code:
' Choix d'un fichier ou d'une série de fichiers dans un répertoire
LABEL Self
DIM n%, i%, ix%, a$, b$, pre%
DIM rep$
rep$ = "C:\UTIL": ' <===== par exemple

HEIGHT 0,900: BORDER_SMALL 0
MEMO 1: WIDTH 1,500: HIDE 1

n% = 10
LIST n%: TOP n%,20: LEFT n%,30: WIDTH n%,250: HEIGHT n%,840
FONT_NAME n%,"Courier New": ON_CLICK n%,Self: COLOR n%,255,255,200

Dirf(rep$,"*",n%)
pre% = 0
END
' ==========================================
Self:
' sélection d'un fichier ou d'une série de fichier avec cochage des fichiers cliqués
' Sélection d'une série: clic le 1er élément en maintenant la touche Shift,
' puis sans relâcher clic le dernier élément.
' Désélection d'un fichier sélectionné: clic sur son nom pour le décocher.
ix% = ITEM_INDEX(n%)
IF SCANCODE = 160: ' Touche Shift enfoncée
    IF pre% = 0
        a$ = "X"+MID$(ITEM_READ$(n%,ix%),2,50)
        ITEM_DELETE n%,ix%: ITEM_INSERT n%,ix%,a$
        pre% = ix%+1
    ELSE
        FOR i% = pre% TO ix%
            a$ = "X"+MID$(ITEM_READ$(n%,i%),2,50)
            ITEM_DELETE n%,i%: ITEM_INSERT n%,i%,a$
        NEXT i%
        pre% = 0
    END_IF
ELSE
    a$ = ITEM_READ$(n%,ix%)
    IF LEFT$(a$,1) = "X"
        b$ = " "
    ELSE
        b$ = "X"
    END_IF
    ITEM_DELETE n%,ix%: ITEM_INSERT n%,ix%,b$+MID$(a$,2,LEN(a$)-1)
END_IF
RETURN
' ===========================================
SUB Dirf(rep$,ext$,nl%)
' Liste des fichiers de rep$, d'extension ext$ (si ext$= "*", tous les fichiers)
' Résultat: dans le LIST nl%, fichiers triés, sous-répertoires en tête
' Les noms de la liste sont précédés de deux espaces, pour cochage éventuel (X)
' (NB: rep$ accepte les noms de répertoires contenant des espaces).
DIM_LOCAL svr$, a$, f$, i%
CLEAR nl%
svr$ = DIR_CURRENT$: DIR_CHANGE rep$
CAPTION 0, rep$
IF ext$<>"*" AND LEFT$(ext$,1)<>"." THEN ext$="."+ext$
ext$ = UPPER$(ext$)
f$ = FILE_FIND_FIRST$
WHILE f$ <> "_"
    IF f$ <> "." AND f$ <> ".."
        IF ext$ = "*" OR UPPER$(FILE_EXTRACT_EXTENSION$(f$)) = ext$
            IF FILE_EXISTS(f$) = 0 THEN f$ = " "+f$
            ITEM_ADD nl%,f$
        END_IF
    END_IF
    f$ = FILE_FIND_NEXT$
END_WHILE
FILE_FIND_CLOSE
DIR_CHANGE svr$: ' restaure le répertoire d'origine
SORT nl%: a$ = ""
FOR i% = 1 TO COUNT(nl%)
    f$ = ITEM_READ$(nl%,i%): IF LEFT$(f$,1)=" " THEN f$="[D]"+MID$(f$,2,100)
    ITEM_DELETE nl%,i%: ITEM_INSERT nl%,i%,"  "+f$
NEXT i%
END_SUB
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Liste (et choix) des fichiers d'un répertoire Empty
MessageSujet: Re: Liste (et choix) des fichiers d'un répertoire   Liste (et choix) des fichiers d'un répertoire EmptyMar 14 Jan 2014 - 21:30

Bravo jl35 Wink très bon outil
Revenir en haut Aller en bas
JL35




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

Liste (et choix) des fichiers d'un répertoire Empty
MessageSujet: Re: Liste (et choix) des fichiers d'un répertoire   Liste (et choix) des fichiers d'un répertoire EmptyMar 14 Jan 2014 - 22:45

Merci Jicehel (et bonne année à toi).
Là j'essaie de faire une sub qui intégrerait le tout: listage des fichiers, changement de répertoires et choix de fichiers, mais je me heurte à des problèmes de gestion des événements dans la sub, avec des access violation et des runtime error... alors je suis un peu sceptique pour l'aboutissement !
Mais bon, c'est un jeu, du moment qu'il y a d'autres solutions...
Revenir en haut Aller en bas
Minibug

Minibug


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

Liste (et choix) des fichiers d'un répertoire Empty
MessageSujet: Re: Liste (et choix) des fichiers d'un répertoire   Liste (et choix) des fichiers d'un répertoire EmptyMer 15 Jan 2014 - 18:39

Merci pour cette belle sub JL,

Donc en résumé si on va au plus court, on peut résumer comme cela :

Code:

DIM f$ , rep$ , ext$

rep$="D:\PROGRAMMATION BASIC\Prog. en cours\KALORIK\utilisateur" : ext$="cfg"

DIR_CHANGE rep$
IF ext$<>"*" AND LEFT$(ext$,1)<>"." THEN ext$="."+ext$
ext$ = UPPER$(ext$)
f$ = FILE_FIND_FIRST$

WHILE f$ <> "_"
    IF f$ <> "." AND f$ <> ".."
        IF ext$ = "*" OR UPPER$(FILE_EXTRACT_EXTENSION$(f$)) = ext$
             print f$
        END_IF
    END_IF
    f$ = FILE_FIND_NEXT$
END_WHILE

FILE_FIND_CLOSE

Merci a tous, cela m'a permis d'avancer encore un peu plus en Panoramic !
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
JL35




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

Liste (et choix) des fichiers d'un répertoire Empty
MessageSujet: Re: Liste (et choix) des fichiers d'un répertoire   Liste (et choix) des fichiers d'un répertoire EmptyMer 15 Jan 2014 - 20:33

En expurgeant au maximum c'est ça, ça dépend de tes besoins et de l'application dans laquelle tu veux l'intégrer, par exemple il faut peut-être quand même tester si c'est bien un fichier (et non un sous-répertoire), et je trouve que sous forme de sub c'est plus souple à utiliser (et réutiliser au besoin), mais chacun peut adapter à sa guise, c'est très simple.

Et dans ton exemple, puisque ce n'est pas une sub, tu peux supprimer les lignes 6 et 7 en définissant ext$ = ".CFG"
Revenir en haut Aller en bas
Minibug

Minibug


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

Liste (et choix) des fichiers d'un répertoire Empty
MessageSujet: Re: Liste (et choix) des fichiers d'un répertoire   Liste (et choix) des fichiers d'un répertoire EmptyMer 15 Jan 2014 - 21:34

Effectivement tu as raison...

En fait lorsque j'ai lu le poste j'ai pensé a l'usage que j'allais avoir dans mon programme.
Et du coup je n'ai pas pris le temps de chercher confused (c'est pas bien je sais...)

Mais vous m'avez permis de trouver ce dont j'avais besoin alors encore merci a tous.

Bonne soirée  Wink Wink Wink 
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
JL35




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

Liste (et choix) des fichiers d'un répertoire Empty
MessageSujet: Re: Liste (et choix) des fichiers d'un répertoire   Liste (et choix) des fichiers d'un répertoire EmptyMer 15 Jan 2014 - 22:48

Tu avais raison, si c'est à usage unique ce n'est pas la peine de prévoir tous les cas de figure possible puisque dans ce cas tu maîtrises tous les éléments, ce n'est pas comme pour une sub, plus universelle.
Bonne soirée à toi également... et à tous les autres qui veillent encore...
Revenir en haut Aller en bas
JL35




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

Liste (et choix) des fichiers d'un répertoire Empty
MessageSujet: Re: Liste (et choix) des fichiers d'un répertoire   Liste (et choix) des fichiers d'un répertoire EmptyDim 19 Jan 2014 - 17:09

Finalement j'ai fait une SUB complète qui contient tout: affichage des répertoires et sélection d'un ou de plusieurs fichiers.
On peut sélectionner (ou désélectionner) un fichier avec le clic gauche souris, ou une série de fichiers avec la touche Maj enfoncée en même temps (les fichiers sélectionnés sont cochés).
Si on change de répertoire ou de volume, les sélections précédentes éventuelles sont ignorées.
En entrée de la Sub: répertoire de départ, extension des fichiers désirés (ou * ou rien: tous les fichiers).
En sortie: dans le clipboard la liste des chemins complets des fichiers sélectionnés sous forme d'une chaîne Ascii avec séparateurs chr$(13)+chr$(10) (retour chariot/interligne).
La sub est un peu longue (~160 lignes), mais elle intègre tout le nécessaire.
Avec un petit exemple d'appel, en tête:
Code:
DIM rep$, ext$
HIDE 0
MEMO 10: TOP 10,20: WIDTH 10,500: HEIGHT 10,400

rep$ = "C:"
ext$ = "": ' tous les fichiers et sous-répertoires
Selfich(rep$,ext$)

CLIPBOARD_PASTE 10: ' liste des fichiers sélectionnés
SHOW 0
END
' //////////////////////////////////////////////////////////////////////////////
SUB Selfich(rep$,ext$)
' Liste et/ou choix des fichiers de rep$, d'extension ext$ (si ext$= "*" ou "", tous les fichiers)
' Les fichiers sont affichés triés, sous-répertoires en tête
' Les noms de sous-répertoires sont précédés de '<D>', et les noms de fichiers
' sont précédés de deux espaces, pour cochage éventuel (X)
' (NB: rep$ accepte les noms de répertoires contenant des espaces).
' Choix d'un ou plusieurs fichiers:
' - un fichier: cliquer le nom du fichier: le nom sera coché dans la liste
' - une série: touche Maj enfoncée, cliquer le 1er fichier, puis cliquer le dernier
' Désélection d'un fichier: recliquer son nom.
' NB: si on change de répertoire, la sélection précédente éventuelle est ignorée.
' En sortie, la liste des fichiers sélectionnés (chemins complets) est rendue
' ---------  dans le clipboard.
DIM_LOCAL nf%, nm%, nl%, np%, nb%, a$, b$, f$, i%, ix%, j%, pre%, exf%, occ%
nf% = 5000: WHILE OBJECT_EXISTS(nf%)=1: nf%=nf%+1000: END_WHILE
nm%=nf%+1: WHILE OBJECT_EXISTS(nm%)=1: nm%=nm%+1: END_WHILE
nl%=nm%+1: WHILE OBJECT_EXISTS(nl%)=1: nl%=nl%+1: END_WHILE
np%=nl%+1: WHILE OBJECT_EXISTS(np%)=1: np%=np%+1: END_WHILE
IF LABEL("Formexit")=0 THEN LABEL Formexit
IF LABEL("Clikb")=0 THEN LABEL Clikb
IF LABEL("Clikf")=0 THEN LABEL Clikf
IF LABEL("Direp")=0 THEN LABEL Direp
FORM nf%: WIDTH nf%,300: HEIGHT nf%,900: BORDER_SMALL nf%: ON_CLOSE nf%,Formexit
MEMO nm%: PARENT nm%,nf%: WIDTH nm%,400: HIDE nm%
LIST nl%: PARENT nl%,nf%: TOP nl%,20: HEIGHT nl%,HEIGHT(nf%)-54: WIDTH nl%,WIDTH(nf%)-16
FONT_NAME nl%,"Courier New"
ON_CLICK nl%,Clikf: COLOR nl%,255,255,190
' liste des lettres des volumes montés -> clipboard
DIM_LOCAL fq$, q$: q$ = CHR$(34)+"X"+CHR$(34): fq$ = "C:\Temp\Tbat.bat"
FILE_OPEN_WRITE 9,fq$
FILE_WRITELN 9,"@echo off"
' infos sur les volumes si argument quelconque, sinon seulement les lettres de volumes
FILE_WRITELN 9,"set INFO=%1"
FILE_WRITELN 9,"call :Drive C D E F G H I J K L M N O P Q R S T U V W X Y Z"
FILE_WRITELN 9,"set INFO="
FILE_WRITELN 9,"goto :EOF"
FILE_WRITELN 9,":Drive"
FILE_WRITELN 9,"vol %1: > nul 2>nul"
FILE_WRITELN 9,"If ERRORLEVEL 1 goto Next"
FILE_WRITELN 9,"if not "+q$+"%INFO%=="+q$+" (vol %1:) else echo %1:"
FILE_WRITELN 9,":Next"
FILE_WRITELN 9,"shift"
FILE_WRITELN 9,"if NOT "+q$+"%1=="+q$+" goto :Drive"
FILE_CLOSE 9
EXECUTE_WAIT "CMD.exe /C "+fq$+" | clip"
FILE_DELETE fq$
a$=CLIPBOARD_STRING_PASTE$: ' volumes montés
BUTTON np%: PARENT np%,nf%: WIDTH np%,30: HEIGHT np%,20
FONT_NAME np%,"Wingdings": CAPTION np%,CHR$(231)
ON_CLICK np%,Clikf: HIDE np%
nb% = np%: ix% = 30
i% = INSTR(a$,CHR$(13))
WHILE i%>0
    nb%=nb%+1: WHILE OBJECT_EXISTS(nb%)=1: nb%=nb%+1: END_WHILE
    BUTTON nb%: PARENT nb%,nf%: LEFT nb%,ix%: HEIGHT nb%,20: WIDTH nb%,25
    CAPTION nb%,TRIM$(LEFT$(a$,i%-1))+"\": a$=MID$(a$,i%+1,50): ON_CLICK nb%,Clikb
    ix%=ix%+25: i%=INSTR(a$,CHR$(13))
END_WHILE
IF RIGHT$(rep$,1)<> "\"  THEN rep$=rep$+"\"
IF ext$ = "" THEN ext$ = "*"
ext$ = "*."+ext$
' ==============================================================================
Direp:
occ% = 1
IF RIGHT$(rep$,1) <> "\" THEN rep$ = rep$ + "\"
CAPTION nf%,rep$+ext$
HIDE np%: IF LEN(rep$)>3 THEN SHOW np%
EXECUTE_WAIT "CMD.exe /C DIR "+CHR$(34)+rep$+"*.*"+CHR$(34)+" /O:GN /B | clip"
CLEAR nm%: CLIPBOARD_PASTE nm%
CLEAR nl%
IF COUNT(nm%) > 0
    FOR i% = 1 TO COUNT(nm%)
        a$ = ITEM_READ$(nm%,i%)
        IF FILE_EXISTS(rep$+a$) = 1 THEN EXIT_FOR
        ITEM_ADD nl%, "<D>"+a$: ' affichage systématique des sous-répertoires
    NEXT i%
    IF i% <= COUNT(nm%)
        b$ = UPPER$(MID$(ext$,2,10))
        FOR j% = i% TO COUNT(nm%)
            a$ = ITEM_READ$(nm%,j%)
            IF b$ = ".*"
                ITEM_ADD nl%,"  "+a$: ' affichage de tous les fichiers
            ELSE
                IF UPPER$(RIGHT$(a$,LEN(b$))) = b$
                    ITEM_ADD nl%,"  "+a$: ' affichage des fichiers choisis
                END_IF
            END_IF
        NEXT j%
    END_IF
END_IF
occ% = 0
WHILE exf% = 0: END_WHILE
' Sortie
a$ = ""
IF COUNT(nl%) > 0
    FOR i% = 1 TO COUNT(nl%)
        b$ = ITEM_READ$(nl%,i%)
        IF LEFT$(b$,1) = "X"
            a$=a$+rep$+MID$(b$,3,LEN(b$)-2)+CHR$(13)+CHR$(10)
        END_IF
    NEXT i%
    IF a$ <> "" THEN a$ = LEFT$(a$,LEN(a$)-2)
END_IF
' liste des fichiers sélectionnés (chemins complets) dans le clipboard
CLIPBOARD_STRING_COPY a$
DELETE nf%
EXIT_SUB
' ==============================================================================
Clikb:
' clic sur un volume
IF occ% = 1 THEN RETURN
i% = NUMBER_CLICK: rep$ = CAPTION$(i%)
GOTO Direp
' ==============================================================================
Clikf:
' clic sur un sous-répertoire ou un fichier
IF occ% = 1 THEN RETURN
IF NUMBER_CLICK = np%
    FOR i% = LEN(rep$)-1 TO 1 STEP -1: IF MID$(rep$,i%,1)="\" THEN EXIT_FOR
    NEXT i%
    rep$ = LEFT$(rep$,i%-1): GOTO Direp: ' répertoire parent
END_IF
ix% = ITEM_INDEX(nl%): IF ix%<1 THEN RETURN
a$ = ITEM_READ$(nl%,ix%)
IF LEFT$(a$,3)="<D>"
    IF RIGHT$(rep$,1)<>"\" THEN rep$ = rep$+"\"
    rep$ = rep$+MID$(a$,4,LEN(a$)-3): GOTO Direp
END_IF
IF SCANCODE = 160: ' Touche Shift enfoncée: série
    IF pre% = 0
        a$ = "X"+MID$(ITEM_READ$(nl%,ix%),2,50): ' clic sur le 1er
        ITEM_DELETE nl%,ix%: ITEM_INSERT nl%,ix%,a$
        IF ix% < COUNT(nl%) THEN pre% = ix%+1
    ELSE
        IF ix%<pre% THEN RETURN
        FOR i% = pre% TO ix%
            a$ = "X"+MID$(ITEM_READ$(nl%,i%),2,50): ' clic sur le dernier
            ITEM_DELETE nl%,i%: ITEM_INSERT nl%,i%,a$
        NEXT i%
        pre% = 0: ' réinit
    END_IF
ELSE
    a$ = ITEM_READ$(nl%,ix%): ' un fichier
    IF LEFT$(a$,1) = "X"
        b$ = " ": ' désélection
    ELSE
        b$ = "X": ' sélection
    END_IF
    ITEM_DELETE nl%,ix%: ITEM_INSERT nl%,ix%,b$+MID$(a$,2,LEN(a$)-1)
    pre% = 0
END_IF
SCANCODE = 0
RETURN
' ==============================================================================
Formexit:
exf% = 1
RETURN
END_SUB
' //////////////////////////////////////////////////////////////////////////////
Un bémol toutefois:
Parfois, en quittant le petit programme d'appel de la sub (par la croix en haut à droite), j'obtiens un
'Panoramic.exe a cessé de fonctionner'
alors que le programme s'est bien exécuté et a fait son boulot.
Je ne vois pas du tout pourquoi, sans doute une ressource non libérée, pourtant en quittant on devrait tout nettoyer automatiquement...
Et dans ce cas, je m'aperçois en regardant les tâches actives (avec Tasklist.exe) qu'il reste un Panoramic.exe actif, que je dois tuer (taskkill.exe).


Dernière édition par JL35 le Dim 19 Jan 2014 - 20:03, édité 1 fois
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7002
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Liste (et choix) des fichiers d'un répertoire Empty
MessageSujet: Re: Liste (et choix) des fichiers d'un répertoire   Liste (et choix) des fichiers d'un répertoire EmptyDim 19 Jan 2014 - 18:32

Salut JL35

Ta sub complète , je l’adopte !
Vous parlez de 'Panoramic.exe a cessé de fonctionner'.
Sous XP je ne connait pas ce phénomène. Laughing 
Vive XP !
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Francis-mr




Nombre de messages : 186
Date d'inscription : 26/11/2012

Liste (et choix) des fichiers d'un répertoire Empty
MessageSujet: Re: Liste (et choix) des fichiers d'un répertoire   Liste (et choix) des fichiers d'un répertoire EmptyDim 19 Jan 2014 - 18:46

Bonsoir
Sous Win7, je ne connais pas ce phénomène non plus. Very Happy
Revenir en haut Aller en bas
JL35




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

Liste (et choix) des fichiers d'un répertoire Empty
MessageSujet: Re: Liste (et choix) des fichiers d'un répertoire   Liste (et choix) des fichiers d'un répertoire EmptyDim 19 Jan 2014 - 19:57

Bonsoir à tous,
Je suis également sous win 7, ça n'a rien de systématique et c'est même assez rare, mais ça m'arrive... et je n'arrive pas à faire le rapprochement avec ce que j'ai fait avant pour provoquer ça.
Mais tant mieux si je suis le seul !  Smile

PS J'ai édité pour modifier légèrement le commentaire en tête de la sub, pour éviter les confusions.
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7002
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Liste (et choix) des fichiers d'un répertoire Empty
MessageSujet: Re: Liste (et choix) des fichiers d'un répertoire   Liste (et choix) des fichiers d'un répertoire EmptyDim 19 Jan 2014 - 23:50

@Francis-mr
Liste (et choix) des fichiers d'un répertoire 3d-ClinOeilPouce
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Klaus

Klaus


Nombre de messages : 12289
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Liste (et choix) des fichiers d'un répertoire Empty
MessageSujet: Re: Liste (et choix) des fichiers d'un répertoire   Liste (et choix) des fichiers d'un répertoire EmptyLun 20 Jan 2014 - 0:00

Juste pour offrir une alternative, pour ceux qui utilisent déjà KGF.dll:
connaissez-vous la fonction
Code:
res% = dll_call3("SelectFileToOpen",adr(racine$),adr(filtre$),handle(memo%))
 
qui permet de sélectionner un ou plusieurs fichiers, dans un sélecteur standard Windows tel qu'il apparaît lorsu'on fait Open ou Ovrir dans n'importe quel programme Windows . La liste des noms de fichiers sélectionnés est retournée dans un mémo (qui peut êtgre caché).
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé





Liste (et choix) des fichiers d'un répertoire Empty
MessageSujet: Re: Liste (et choix) des fichiers d'un répertoire   Liste (et choix) des fichiers d'un répertoire Empty

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

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: