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
» Une copie de Panoramic Editeur
par Minibug Aujourd'hui à 1:17

» Problème mathématique en 3D
par Marc Hier à 18:24

» Nouvelle version 0.33
par jean_debord Hier à 9:02

» Reprise du développement et de la documentation
par Fredisland Hier à 7:14

» Objet 3D_PLANE, réalisation d'un dé en 3D
par Marc Mar 22 Mai 2018 - 0:33

» Cacher la barre des tâches
par Klaus Lun 21 Mai 2018 - 21:27

» Une "base de connaissance" - pour jouer ou plus si affinité
par Minibug Lun 21 Mai 2018 - 10:29

» quel est ce comportement de Panoramic_editor
par Oscaribout Lun 21 Mai 2018 - 0:22

» Des FORM(s) Colorés
par Jean Claude Dim 20 Mai 2018 - 20:58

» Recherches dans un fichier texte
par JL35 Dim 20 Mai 2018 - 20:18

» Problème d'affichage des pages du forum (Résolu)
par Jean Claude Dim 20 Mai 2018 - 20:00

» Créer une application *.exe
par Yannick Ven 18 Mai 2018 - 20:01

» [RÉSOLU] Priorité affichage des objets : comment la définir?
par papydall Ven 18 Mai 2018 - 18:22

» Aucune différence entre ON_CLICK et ON_DOUBLE_CLICK
par Jean Claude Jeu 17 Mai 2018 - 8:37

» [Résolu] Récuperer les fonctions systeme de Panoramic
par Minibug Mar 15 Mai 2018 - 23:21

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2018
LunMarMerJeuVenSamDim
 123456
78910111213
14151617181920
21222324252627
28293031   
CalendrierCalendrier

Partagez | 
 

 Sub: données d'un fichier

Aller en bas 
AuteurMessage
JL35



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

MessageSujet: Sub: données d'un fichier   Mer 1 Jan 2014 - 20: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 : 795
Age : 63
Localisation : Limoges
Date d'inscription : 21/09/2008

MessageSujet: Re: Sub: données d'un fichier   Jeu 2 Jan 2014 - 9: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 : 8077
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 2 Jan 2014 - 12: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 : 1127
Age : 60
Localisation : Val de Marne
Date d'inscription : 13/11/2011

MessageSujet: Re: Sub: données d'un fichier   Jeu 2 Jan 2014 - 14: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 : 5907
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 - 14: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 : 553
Age : 49
Localisation : charente
Date d'inscription : 13/02/2013

MessageSujet: Re: Sub: données d'un fichier   Jeu 2 Jan 2014 - 15: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 : 6257
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Sub: données d'un fichier   Jeu 2 Jan 2014 - 16: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 : 8077
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 2 Jan 2014 - 17: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 : 6257
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Sub: données d'un fichier   Jeu 2 Jan 2014 - 18: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
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: