OVH Cloud OVH Cloud

Description fichier ?

5 réponses
Avatar
Jean Guichard
Salut à tous :-)

Quelle classe pour obtenir les informations sur un fichier (click
droit/propriétés/onglet Résumé) : Titre, objet, auteur...

Jean

5 réponses

Avatar
Bismark Prods
Hello Thomas,

"LEBRUN Thomas" <lebrun_thomas_at_hotmail.com> a écrit dans le message de
news:
Jette un oeil du coté de System.Reflection



Tu pourrais m'expliquer ? Tu charge un fichier en reflection pour obtenir ce
type d'information ?

J'aurais commencé par utiliser FileInfo pour ma part, même si on obtiens
qu'un faible panel d'information. Sinon il y a les API Win32 ...

Mais ta démarche avec Reflection m'intéresse si tu voulais bien m'expliquer
brièvement ?

merci

Bismark


A+

-------------------
LEBRUN Thomas
http://morpheus.developpez.com


"Jean Guichard" wrote:

> Salut à tous :-)
>
> Quelle classe pour obtenir les informations sur un fichier (click
> droit/propriétés/onglet Résumé) : Titre, objet, auteur...
>
> Jean
>
>
>
>


Avatar
Zazar
Bonjour,

Quelle classe pour obtenir les informations sur un fichier (click
droit/propriétés/onglet Résumé) : Titre, objet, auteur...



Ces informations sont stockées dans ce qu'on appelle un flux. Sous NTFS, un
fichier est constitué de plusieurs flux: le flux principal (anonyme)
contient les données "réelles" du fichier, les autres flux (nommés)
contiennent des données annexes. Vous pouvez voir les flux comme des
sous-fichiers d'un fichier. Les fonctions de base de manipulation d'un
fichier ne permettent que de manipuler le flux principal. A ma connaissance,
il n'existe pas de classes dans le framework permettant d'accéder aux autres
flux; si vous tenez à les utiliser, il va vous falloir utiliser les API
WIN32: BackupRead, BackupSeek et BackupWrite. Je vous renvoie à la MSDN pour
savoir comment utiliser ces flux.
Pour connaître les noms des flux contenus dans un fichier, un moyen pratique
est de copier un fichier d'une partition NTFS vers une partition fat32 ou
vers une disquette: s'il contient des flux nommés, l'explorateur vous
préviendra et vous dira lesquels.

Bon courage.

--
Zazar
Avatar
sebastien981_nospam
Jean Guichard a formulé ce mercredi :
Salut à tous :-)

Quelle classe pour obtenir les informations sur un fichier (click
droit/propriétés/onglet Résumé) : Titre, objet, auteur...

Jean



Bonjour vous devez utiliser Type

Type t=typeof(double);

MethodInfo [] methods=t.GetMethods();
foreach (MethodInfo nextMethod in methods)
{
Console.Writelin.... ou autre chose
}


vous avez accès à chaque fois à deux méthodes si c'est au pluriel cela
retourne un tableau

ConstructorInfo => infos sur constructeur => GetConstructor() ,
GetConstructors()
EventInfo
FieldInfo
InterfaceInfo
MemberInfo
MethodInfo
PropertyInfo nb : GetProperty(), pluriel : GetProperties() tous les
autre il faut juste un s


comme il s'agit de Type vous avez aussi FullName, Name, BaseType,
NameSpace

et aussi

IsAbastract
IsClass
IsEnum
IsPrimitive dit s'il s'agit d'un type primitif de .Net
IsValueType dit si c un type valeur

voilà il vous reste juste a programmer l'application affichant ces
infos ;)

Sebastien
Avatar
Zazar
Bonjour,

>
> Quelle classe pour obtenir les informations sur un fichier (click
> droit/propriétés/onglet Résumé) : Titre, objet, auteur...
>
> Jean




(...)

voilà il vous reste juste a programmer l'application affichant ces
infos ;)



Le seul problème c'est que "ces infos", ce ne sont pas celles qu'il a
demandées. :)

--
Zazar
Avatar
Zazar
Bonjour,

Et bien en utilisant System.Reflection.Assembly, il a accès à certaines
informations sur l'executable, telle que par exemple son numéro de


version.

Ce numéro de version là est totalement désolidarisé de celui affiché par la
méthode donnée par l'OP (et encore en supposant que l'assembly ne fasse
qu'un seul fichier, sinon la comparaison n'a aucun sens).

Bien sur, cela ne donne pas tout mais il y a quand même des choses.



Certes, mais aucune d'entre elles ne fait partie de ce que l'OP a demandé.

De plus, cela ne fonctionne pas pour les autres fichiers, pas exemple sur


le
fichier C:toto.txt.

Comme il n'as pas précisié s'il coulait des informations sur son


executable
ou sur un autre fichier,



Il a demandé sur "un fichier" et a donné pour exemple une méthode qui marche
pour tous les fichiers : ça veut dire un fichier quelconque. (Sauf s'il
s'est trompé dans sa question évidemment, mais si on comme à répondre aux
questions en supposant que l'OP pensait à autre chose que ce qu'il a
demandé, ça ne va pas être trés productif).

je lui ai conseillé cette méthode, qui marche mais
pour son executable.



Je finis quand même sur une note positive à propos de votre méthode : elle
ne marche pas que pour l'exécutable mais pour n'importe quel assembly.

--
Zazar