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
» I Love You
par JL35 Jeu 19 Oct 2017 - 16:25

» MARK_ON déclenche un événement ON_CLICK à la place de ...
par Jean Claude Mer 18 Oct 2017 - 18:08

» mise a jour calculatrice
par joeeee2017 Mer 18 Oct 2017 - 15:57

» [solved] 3D_LINE How to ?
par Jicehel Mer 18 Oct 2017 - 11:01

» Convertisseur de base 10 de 2 à 36
par gigi75 Mar 17 Oct 2017 - 18:49

» calculatrice avec touches movibles
par joeeee2017 Dim 15 Oct 2017 - 1:11

» CORTANA
par gigi75 Sam 14 Oct 2017 - 16:32

» Calculatrice
par Jean Claude Sam 14 Oct 2017 - 12:30

» Compilateur FBPano
par jean_debord Jeu 12 Oct 2017 - 9:53

» KGF_dll - nouvelles versions
par Klaus Mar 10 Oct 2017 - 18:49

» à propos de Panoramic_Editor [Résolu]
par Klaus Mar 10 Oct 2017 - 3:19

» Un petit "coucou" à tous les Panoramiciens !
par Jack Ven 6 Oct 2017 - 10:24

» Pourquoi le compilateur stagne
par mindstorm Mer 4 Oct 2017 - 20:38

» Panoramic ?
par Marc37 Mer 4 Oct 2017 - 0:39

» Premiers pas avec Arduino
par Marc37 Mer 4 Oct 2017 - 0:29

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Octobre 2017
LunMarMerJeuVenSamDim
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
CalendrierCalendrier

Partagez | 
 

 Sub: données d'un fichier

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
JL35



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

MessageSujet: Sub: données d'un fichier   Mer 1 Jan 2014 - 22:09

Après la dernière sub de 2013 hier soir, la 1ère de l'année 2014.
Juste pour montrer l'utilité d'un petit fichier batch, exécuté depuis Panoramic, une sub qui donne les caractéristiques d'un fichier:
Code:
DIM f$, fr$
f$ = "C:\Program Files (x86)\Panoramic Editor\PANORAMIC_EDITOR.exe": ' <- exemple
fr$ = "C:\Resul.txt"

WIDTH 0,640: HEIGHT 0,180
MEMO 1: FULL_SPACE 1: FONT_NAME 1,"Lucida Console"
FileInfos(f$,fr$)
FILE_LOAD 1, fr$: FILE_DELETE fr$
END
' =================================================
SUB FileInfos(f$,fr$)
' Données du fichier f$ -> fr$
DIM_LOCAL a$,fb$: fb$ = "C:\Carfich.bat"
DATA "@echo off"
DATA "FOR %%? IN ("+CHR$(34)+f$+CHR$(34)+") DO ("
DATA " ECHO Nom de fichier       : %%~n? >"+fr$
DATA " ECHO Extension            : %%~x? >>"+fr$
DATA " ECHO Nom en format 8.3    : %%~sn? >>"+fr$
DATA " ECHO Attributs            : %%~a? >>"+fr$
DATA " ECHO Drive                : %%~d? >>"+fr$
DATA " ECHO Taille fichier       : %%~z? >>"+fr$
DATA " ECHO Dernière modification: %%~t? >>"+fr$
DATA " ECHO Dossier parent       : %%~dp? >>"+fr$
DATA " ECHO Chemin complet       : %%~f? >>"+fr$
DATA " ECHO Chemin en format 8.3 : %%~sf? >>"+fr$
DATA " ECHO Emplacement dans PATH: %%~dp$PATH:? >>"+fr$
DATA ")"
FILE_OPEN_WRITE 1,fb$
READ a$: WHILE a$<>"@echo off": READ a$: END_WHILE
WHILE a$<>")": FILE_WRITELN 1,a$: READ a$: END_WHILE: FILE_WRITELN 1,a$
FILE_CLOSE 1
EXECUTE_WAIT fb$
FILE_DELETE fb$
END_SUB
avec le petit code pour l'appeler.
Là j'ai mis toutes les possibilités, mais il est bien évident que certaines sont sans grand intérêt (donc à supprimer), d'autres par contre sont intéressantes, pour obtenir notamment:
- le nom du fichier en version courte (pour les noms de fichiers qui contiennent des espaces).
- les attributs du fichier
- la taille du fichier
- les date et heure de dernière modification
- le chemin complet du fichier en version courte.

Et c'est évidemment à adapter, les textes explicatifs du batch ne sont là que pour montrer l'usage.

D'ailleurs je m'aperçois que j'ai fait quelque chose d'analogue il n'y a pas longtemps, mais en un peu plus compliqué avec moins de renseignements (notamment les versions 'courtes' des chemins d'accès).
http://panoramic.free-boards.net/t3214-sub-infos-fichier
Et attention: dans le post cité en référence, ça ne marchait que pour les versions de Windows égales ou supérieures à Vista, du fait de la redirection | clip vers le clipboard, fonction qui n'existe pas (encore) sous XP (jjn4 j'ai édité pour toi, chez qui ça ne marchait pas).

On peut préférer des fonctions séparées, mais attention, les sorties se feront dans le clipboard et ça ne marchera qu'à partir de Vista (contrairement à la sub ci-dessus) (mais on pourrait également faire les sorties dans un fichier, comme ci-dessus, en remplaçant les | clip par >fichierdesortie):
Code:
SUB FileSize(f$)
' Taille fichier f$ -> clipboard
DIM_LOCAL fb$: fb$ = "C:\Carfich.bat"
FILE_OPEN_WRITE 9,fb$
    FILE_WRITELN 9, "@echo off"
    FILE_WRITELN 9, "FOR %%? IN ("+CHR$(34)+f$+CHR$(34)+") DO ECHO %%~z? | clip"
FILE_CLOSE 9
EXECUTE_WAIT fb$: FILE_DELETE fb$
END_SUB

SUB FileDate(f$)
' Date/Heure fichier f$ -> clipboard
DIM_LOCAL fb$: fb$ = "C:\Carfich.bat"
FILE_OPEN_WRITE 9,fb$
    FILE_WRITELN 9, "@echo off"
    FILE_WRITELN 9, "FOR %%? IN ("+CHR$(34)+f$+CHR$(34)+") DO ECHO %%~t? | clip"
FILE_CLOSE 9
EXECUTE_WAIT fb$: FILE_DELETE fb$
END_SUB

SUB FileShort(f$)
' Chemin court fichier f$ -> clipboard
DIM_LOCAL fb$: fb$ = "C:\Carfich.bat"
FILE_OPEN_WRITE 9,fb$
    FILE_WRITELN 9, "@echo off"
    FILE_WRITELN 9, "FOR %%? IN ("+CHR$(34)+f$+CHR$(34)+") DO ECHO %%~sf? | clip"
FILE_CLOSE 9
EXECUTE_WAIT fb$: FILE_DELETE fb$
END_SUB

SUB FileLines(f$)
' Nombre de lignes d'un fichier texte f$ -> clipboard
DIM_LOCAL fb$: fb$ = "C:\Carfich.bat"
FILE_OPEN_WRITE 9,fb$
    FILE_WRITELN 9,"@echo off"
    FILE_WRITELN 9,"FOR /f %%? IN ('type "+CHR$(34)+f$+CHR$(34)+"^|find "+CHR$(34)+CHR$(34)+" /v /c') DO set /a cnt=%%?"
    FILE_WRITELN 9,"@ECHO %cnt% | clip"
FILE_CLOSE 9
EXECUTE_WAIT fb$: FILE_DELETE fb$
END_SUB
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
jean_debord

avatar

Nombre de messages : 756
Age : 63
Localisation : Limoges
Date d'inscription : 21/09/2008

MessageSujet: Re: Sub: données d'un fichier   Jeu 2 Jan 2014 - 11:03

Pour XP, on peut télécharger clip.exe ici

Papydall avait donné la recette dans son article sur la ligne de commande Smile
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.unilim.fr/pages_perso/jean.debord/index.htm
Yannick

avatar

Nombre de messages : 7994
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 2 Jan 2014 - 14:56

chez moi, avec W7 :

"File access denied"
 Crying or Very sad
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
bignono

avatar

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

MessageSujet: Re: Sub: données d'un fichier   Jeu 2 Jan 2014 - 16:14

Bonjour Ygeronimi,  Smile 
Il faut mettre:
fr$ = "C:\temp\Resul.txt" au lieu de fr$ = "C:\Resul.txt"
fb$ = "C:\temp\Carfich.bat" au lieu de fb$ = "C:\Carfich.bat"
et ça marche!
A+  Wink  Wink  Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Sub: données d'un fichier   Jeu 2 Jan 2014 - 16:24

C’est parce que W7 n’aime pas qu’on aille tripoter sa racine ! (la racine de son c)  Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
mindstorm

avatar

Nombre de messages : 534
Age : 48
Localisation : charente
Date d'inscription : 13/02/2013

MessageSujet: Re: Sub: données d'un fichier   Jeu 2 Jan 2014 - 17:36

Je vois que vous etes tous en forme
je profite du post pour vous souhater une bonne annee
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



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

MessageSujet: Re: Sub: données d'un fichier   Jeu 2 Jan 2014 - 18:25

Tu as raison bignono, c'est mieux avec C:\Temp, c'est ce qu'il y avait au départ mais j'ai mis ensuite directement sous la racine de C: pour que ce soit plus universel et comme dit papydall en langage imagé ça ne plait pas à tous les systèmes, il faut avoir je pense des privilèges particuliers (administrateur je pense).
Et merci jean_debord pour le tuyau pour clip (je l'avais d'ailleurs moi-même sous XP).

Bonne année également à toi mindstorm !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7994
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 2 Jan 2014 - 19:15

Merci Bignono.

Effectivement, cela fonctionne mieux en passant par "Temp".
 Very Happy
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



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

MessageSujet: Re: Sub: données d'un fichier   Jeu 2 Jan 2014 - 20:08

C'est le problème de tous ces petits fichiers de manoeuvre temporaires qu'on ne sait pas trop où mettre.

C'est pourquoi (je me répète) je déclare depuis toujours une partie de la mémoire vive en volume virtuel (Ramdisk Z:), 32 M ça suffit largement et ça ne prend que très peu sur l'ensemble de nos volumes de mémoire actuels (minimum 2G). C'est bien pratique, ça évite les dossiers temporaires, ça se manipule comme n'importe quel disque auxiliaire, et c'est nettoyé automatiquement à chaque extinction du pc (ce dont il faut avoir bien conscience !).
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Sub: données d'un fichier   

Revenir en haut Aller en bas
 
Sub: données d'un fichier
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Problème de disque dur
» Edge 705: ce fichier ne contient aucune donnée????
» Fichier gmapsupp.img
» Ouvrir un fichier dans Mapsource sans effacer les données en cours?
» Ou sont les fichier perso de BaseCamp?

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: