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
» Panoramic et ses curiosités
par Klaus Aujourd'hui à 2:20

» Synedit Parameters
par Klaus Aujourd'hui à 1:33

» Utilitaire de suppression de fichiers
par Yannick Hier à 23:03

» Code à vérifier SVP (Oups ! résolu)
par Jean Claude Jeu 22 Juin 2017 - 21:16

» Compilateur FBPano
par jean_debord Jeu 22 Juin 2017 - 9:56

» Bienvenue à Virtualalan !
par UltraVox Jeu 22 Juin 2017 - 9:18

» Concours de Morpions
par jjn4 Jeu 22 Juin 2017 - 0:04

» ShortName$(F) [Cloturé]
par papydall Mer 21 Juin 2017 - 16:19

» Remplacer espace par tiret dans noms des dossiers / fichiers
par papydall Mer 21 Juin 2017 - 15:27

» Menu personalisé avec icones et menu contextuel
par Laurent (Minibug) Mer 21 Juin 2017 - 12:44

» La liste des choses à faire ...
par Jack Mar 20 Juin 2017 - 22:49

» Quoi de neuf à propos de Goric 3D ? (@Jack)
par UltraVox Mar 20 Juin 2017 - 21:06

» Nom court et anti fenetre dos
par silverman Mar 20 Juin 2017 - 18:31

» Ludothèque Panoramic
par jjn4 Mar 20 Juin 2017 - 18:09

» Proposition à la communauté
par Yannick Mar 20 Juin 2017 - 15:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Juin 2017
LunMarMerJeuVenSamDim
   1234
567891011
12131415161718
19202122232425
2627282930  
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 : 5882
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 : 725
Age : 62
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 : 7825
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 : 1079
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 : 5384
Age : 66
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/ En ligne
mindstorm

avatar

Nombre de messages : 530
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 : 5882
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 : 7825
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 : 5882
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
» Minecraft-like - stocker les données - SQL ou autre
» Création et manipulation d'une "base de données" externe...
» Edge 705: ce fichier ne contient aucune donnée????
» Fichier gmapsupp.img

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC 32 bits :: Vos sources, vos utilitaires à partager-
Sauter vers: