[R] Informations "Résumé" des propriétés d'un fichier

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

[R] Informations "Résumé" des propriétés d'un fichier

#1

Message par ZDS »

Bonjour à tous,

Tout d'abord je tiens à dire que cela fait plusieurs années que je code en AutoIt et la majorité des problèmes que j'ai rencontrée a trouvé sa solution ici, merci d'avance de retard ^^

Malheureusement, là, je bloque complètement : J'ai un programme principal en AutoIt qui fait appel à d'autres scripts (compilés ou pas). Ces scripts ajoutés (je les appelle "module") sont tous dans le même répertoire, pour obtenir le nom du fichier et son chemin, pas de problème. Ce que j'aimerai récupérer de ces modules, c'est le titre, le nom de l'auteur, les commentaires, etc... que l'on peut ajouter en faisant un clic droit>[Propriétés]>[Résumé]. Le seul topic que j'ai trouvé se rapprochant est celui-ci, mais apparemment, la solution proposée par Tlem est de lire directement dans le contenu du fichier, ce qui n'est pas trop le cas dans un script AutoIt. Quelqu'un saurait-il comment accéder à ces infos "résumé"?

Une seconde solution (beaucoup moins pratique, puisque les modules ne sont pas forcément de moi) serait de modifier chaque module pour pouvoir les appeler de façon classique RunWait($chemin) pour les exécuter, ainsi que de façon paramétrée RunWait($chemin&" -auteur") pour qu'ils retournent le nom de l'auteur (qui serait donc en "dur" dans le code) comme sur une sortie standard de commande DOS. Le soucis se pose que les exemples AutoItHelp disent bien comment un script A peut lire la sortie standard d'une commande DOS par exemple, mais je ne sais pas comment un script B peut écrire sur sa sortie pour être lisible par un autre. Quelqu'un aurait-il un exemple? De préférence quelque chose de synchrone, ou assimilé (je ferai moi même un système d'attente et de timeOut si besoin).

En bref, si c'est possible, j'aimerai le code d'une fonction _FileGetPropertyAttrib(...) prenant en paramètre un fichier [handle ou string] et un attribut [string] ("auteur", "titre",etc...), et retournant le contenu de l'attribut dans le résumé du fichier [string] , et un flag @error ( = 0 si aucune erreur ; = 1 si fichier introuvable ; = 2 si attribut invalide ; = 3 si autre erreur ), mais vous prenez pas la tête pour fignoler :)

Merci d'avance pour votre aide; si j'arrive à me "démerder" de mon coté, c'est avec plaisir que je posterai des exemples pour d'éventuels gens dans mon cas.

A bientôt,
Modifié en dernier par ZDS le ven. 11 juin 2010 09:46, modifié 2 fois.
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [..] Informations "Résumé" des propriétés d'un fichier

#2

Message par timmalos »

On va dire que tu es passé à coté , car une fonction répondant a tes besoins est disponible sur le forum, et comme je suis gentil:
(NB : Premiere page du forum 'Fonctions et UDF' en plus , tu n'as pas d'excuse)

http://www.autoitscript.fr/forum/viewto ... =21&t=2295
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: [..] Informations "Résumé" des propriétés d'un fichier

#3

Message par ZDS »

Désolé au moment où tu m'as répondu j'allais justement poster que j'en avais fait une "maison" qui consomme apparemment un peu moins de ressources ^^ :
► Afficher le textegetFichierListeProprietes(chemin) et getFichierPropriete($chemin,$propriete)
Merci beaucoup pour ton lien en tout cas (j'avais oublié de dire que cette opération aurait été très fréquente dans mon programme principal donc éviter les Struct sans destruction de pointeurs derrière).

Si quelqu'un pouvait quand même jeter un coup d'oeil à ma seconde demande, ou me dire si je dois reposter un autre topic (ça a pas tout à fait le même objectif), ça serait super et je passerai en [R]ésolu.

A bientôt !
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [..] Informations "Résumé" des propriétés d'un fichier

#4

Message par timmalos »

Euh, c'est quoi exactement ta 2eme question?
Et peux tu mettre ta fonction à la suite de celles presentes sur le lien que je t'ai passé? Merci d'avance
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [..] Informations "Résumé" des propriétés d'un fichier

#5

Message par ani »

j'avais trouvé un exemple (en vc++) dont j'avais mit de coté pour le traduire, çà retourne toute les proprieté du fichier ;)
http://support.microsoft.com/kb/186898/fr

Pour ceux qui aurait le courage de le traduire (avec les fonction structure) bonne chance ;) ....faut se baser sur la fonction get_tag_mp3 ;)
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: [..] Informations "Résumé" des propriétés d'un fichier

#6

Message par ZDS »

Rebonsoir.
timmalos a écrit :Euh, c'est quoi exactement ta 2eme question?
ZDS a écrit :Une seconde solution (beaucoup moins pratique, puisque les modules ne sont pas forcément de moi) serait de modifier chaque module pour pouvoir les appeler de façon classique RunWait($chemin) pour les exécuter, ainsi que de façon paramétrée RunWait($chemin&" -auteur") pour qu'ils retournent le nom de l'auteur (qui serait donc en "dur" dans le code) comme sur une sortie standard de commande DOS. Le soucis se pose que les exemples AutoItHelp disent bien comment un script A peut lire la sortie standard d'une commande DOS par exemple, mais je ne sais pas comment un script B peut écrire sur sa sortie pour être lisible par un autre. Quelqu'un aurait-il un exemple? De préférence quelque chose de synchrone, ou assimilé (je ferai moi même un système d'attente et de timeOut si besoin).
En fait, j'aimerai savoir comment faire en autoIt un programme ayant le même comportement qu'une commande "ipconfig", quelque chose de très sobre qui écrit uniquement sur la sortie standard. Et bien sur, son pendant de l'autre coté : comment lire les données en question. J'ai toujours un peu de mal à assimiler la différence qu'AutoIt fait entre ConsoleRead/Write et StdIORead/Write.

Pour faire simple :
Je souhaite faire deux scripts A et B.
A a une interface graphique, fait appel à B (par un Run? ShellExecute?) pour connaitre la date par exemple.
B n'a pas d'interface, il agit comme ipconfig ou tout autre commande DOS, il écrit sur sa sortie standard (StdIO? Console? parametrage à faire au préalable?).
A reprend la main (synchrone, donc par StdIO? sleep et bouclage comme pour InetGet?) et affiche la date fournie par B.

Je me doute que c'est tout con, mais l'aide d'AutoIt est vraiment pas explicite là dessus je trouve.
timmalos a écrit :Et peux tu mettre ta fonction à la suite de celles presentes sur le lien que je t'ai passé? Merci d'avance
Cette fois c'est moi qui t'ai devancé d'une heure ^^.

A bientôt !
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Informations "Résumé" des propriétés d'un fichier

#7

Message par Tlem »

Et FileGetVersion ne vous convient pas ? :shock:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: [..] Informations "Résumé" des propriétés d'un fichier

#8

Message par ZDS »

Disons que le FileGetVersion est assez incomplet (apparemment il ne fonctionne que pour des scripts compilés) et la plupart des modules déjà existant dans mon projet ont déjà les informations enregistrées dans l'onglet "Résumé". Mais ce coté là est résolu.

Je laisse ma seconde question en suspend (plus d'utilité pour moi ^^) et je pense qu'il y a une réponse à ça sur le forum, j'ai dû mal chercher ou passer à côté :?

A bientôt !
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Informations "Résumé" des propriétés d'un fichier

#9

Message par Tlem »

Pour votre exécutable qui doit écrire dans la console, il vous suffira de le d'utiliser la commande ConsoleWrite pour la sortie du texte et de le compilé en mode ... console (CUI). :P

Pour lire le retour d'un programme console, la consultation de la commande StdoutRead et de son exemple dans l'aide de AutoIt vous donnera toute la lumière nécessaire. :wink:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: [R] Informations "Résumé" des propriétés d'un fichier

#10

Message par ZDS »

On en est toujours au même soucis ^^ Il s'agit d'un script, pas d'un exécutable compilé. Et par contre pour rester dans l'idée, je trouve illogique que ConsoleWrite serve à écrire et StdIORead à lire.

Je vais ouvrir un autre topic sur cette demande, ça sera plus simple (ça dévie pas mal du sujet de départ ^^).
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
Répondre