GetAttr renvoie 8192 et 8124 [Résolu]

cs_gagou9 128 Messages postés vendredi 19 septembre 2003Date d'inscription 20 novembre 2007 Dernière intervention - 30 juin 2005 à 19:40 - Dernière réponse :  Mutos
- 25 avril 2006 à 17:43
bonjour

j'utilise la fonction getAttr() de vb

voila mon code



Private Sub File1_Click()

'attributs.Caption = attr(Dir1.Path & "" & File1.FileName)

MsgBox GetAttr(Dir1.Path & "" & File1.FileName)

End Sub



Private Function attr(fichier) As String

Select Case GetAttr(fichier)

Case 0

attr = "Normal"

Case 4

attr = "Systeme"

Case 32

attr = "Archive"

Case 36

attr = "Archive et syteme"

Case 2

attr = "Caché"

Case 6

attr = "Caché et systeme"

Case 34

attr = "Caché et archive"

Case 38

attr = "Caché, Archive et systeme"

Case 1

attr = "Lecture seule"

Case 5

attr = "Lecture seule et systeme"

Case 33

attr = "Lecture seule et archive"

Case 37

attr = "Lecture seule, archive et systeme"

Case 3

attr = "Lecture seule et caché"

Case 7

attr = "Lecture seule, caché et systeme"

Case 35

attr = "Lecture seule, caché et archive"

Case 39

attr = "Lecture seule, caché, archive et systeme"

End Select

End Function


et donc la msgbox que j'ai mise car ça a buigué me renvoie 8192, jamais vu ça moi !!

si vous savez, merci d'avance !!




Gagou9
Afficher la suite 

37 réponses

Meilleure réponse
cs_gagou9 128 Messages postés vendredi 19 septembre 2003Date d'inscription 20 novembre 2007 Dernière intervention - 5 juil. 2005 à 17:26
3
Merci


vu que mon prog n'avait pour but que d'afficher les attributs archive,
caché, systeme et lecture seule, bah j'ai trouvé comment le faire
macher sur winXP, voici le code :

(recopié a l'arrache car j'ai pas le code sous les yeux desolé ya petetre des bugs !)

J'utilise un DirBox, un FileBox, et un Label.



lblAttr.Caption = attr(Dir1.Path & "" & File1.FileName)

Private Function attr(fichier As String) As Integer

Dim attribut As Integer

attribut = GetAttr(fichier)

' ici j'ai mis un test de OS pour booster le code

If attribut >16384 Then attribut attribut - 16384

If attribut >8192 Then attribut attribut - 8192

If attribut >4096 Then attribut attribut - 4096

If attribut >2048 Then attribut attribut - 2048

If attribut >1024 Then attribut attribut - 1024

If attribut >512 Then attribut attribut - 512

If attribut >256 Then attribut attribut - 256

If attribut >128 Then attribut attribut - 128

If attribut >64 Then attribut attribut - 64



attr = attribut

End Function





Voila !

A+ tout le monde






Gagou9
Une question a laquelle j'arrive pas a repondre: quand est-ce-que GetAttr renvoie 4096, 1024, ou 512 /forum.v2.aspx?ID=500593

Merci cs_gagou9 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

steb359842 69 Messages postés samedi 5 juin 2004Date d'inscription 24 janvier 2008 Dernière intervention - 30 juin 2005 à 19:59
0
Merci
Dans MSDN la constente 8192 représente Un tableau dans les types...
et pour 8124, il ne trouve rien...

effectivement c'est très bizzard qu'il te revnvoie ces valeurs...


*°*°*°*°*°*°*°*°*°*°*°*
Marmote Joyeuse
cs_gagou9 128 Messages postés vendredi 19 septembre 2003Date d'inscription 20 novembre 2007 Dernière intervention - 30 juin 2005 à 20:16
0
Merci
je vais chercher...

merci quand meme !

Gagou9
Gobillot 3140 Messages postés vendredi 14 mai 2004Date d'inscription 31 mars 2015 Dernière intervention - 30 juin 2005 à 20:42
0
Merci
&H0040 Alias

&H0080 Shareable

&H0100 Temporary

&H0200 ?

&H0400 ?

&H0800 Compressed

&H1000 ?

&H2000 Index

Daniel
cs_gagou9 128 Messages postés vendredi 19 septembre 2003Date d'inscription 20 novembre 2007 Dernière intervention - 30 juin 2005 à 22:36
0
Merci
oula sa ve diure koi ?

merci
Gagou9
Gobillot 3140 Messages postés vendredi 14 mai 2004Date d'inscription 31 mars 2015 Dernière intervention - 30 juin 2005 à 22:51
0
Merci
ça c'est les attributs.

je suis pas sûr pour Alias, ça doit être 1024 alors que vbAlias = 64 bizarre ?







donc 8192 c'est l'attribut index

et 8124 serait = 4096 + 2048 + 1024 + 512 + 256 + 128 + 32 + 16 + 8 + 4

ça correspond pas à grand chose

16 pour directory et 8 pour Label, ça va pas ensemble ????



8224 serait mieux (8192 + 32) donc Archive et Index

Daniel
cs_gagou9 128 Messages postés vendredi 19 septembre 2003Date d'inscription 20 novembre 2007 Dernière intervention - 1 juil. 2005 à 11:16
0
Merci
Salut !


d'accord il est possible que ce ne soit pas 8124.


mais ç'est quoi tous ces attributs ??

&H0040 Alias => j'ai pas bien compris ce que c'est
&H0080 Shareable => fichier partagé je suppose
&H0100 Temporary => comme son nom l'indique
&H0200 ? =>hum...
&H0400 ?
&H0800 Compressed => zip
&H1000 ?
&H2000 Index => et ça c'est quoi ..N????

merci d'avance
Gagou9
Gobillot 3140 Messages postés vendredi 14 mai 2004Date d'inscription 31 mars 2015 Dernière intervention - 1 juil. 2005 à 11:54
0
Merci
ce sont les attributs étendus (EA) utilisés pour le système de fichiers et répertoires NTFS

d'après ce que j'ai vu pour vbAlias (= 64) c'est utilisé uniquement par Macintosh



sinon pour le reste, impossible de trouver des informations claires et précises:



&H0400 = 1024 Alias >> attribut de lien ????
&H2000 = 8192 Index >> attribut Index ????



exemple:

système volume information = 8214



soit 8192 --> Index

16 --> répertoire

4 --> Système

2 --> lecture seule



Daniel
cs_gagou9 128 Messages postés vendredi 19 septembre 2003Date d'inscription 20 novembre 2007 Dernière intervention - 1 juil. 2005 à 12:41
0
Merci
bah dans les constantes vb et dans msdn, lecture seule vaut 1, alors je comprend pas la !!!!

Gagou9
Gobillot 3140 Messages postés vendredi 14 mai 2004Date d'inscription 31 mars 2015 Dernière intervention - 1 juil. 2005 à 12:49
0
Merci
t'as raison je me suis trompé, tapé trop vite !









vbArchive --> 32 Archivé

vbDirectory --> 16 répertoire

vbVolume --> 8 Label

vbSystem --> 4 système

vbHidden --> 2 caché

vbReadOnly --> 1 Lecture seule


Daniel
cs_gagou9 128 Messages postés vendredi 19 septembre 2003Date d'inscription 20 novembre 2007 Dernière intervention - 1 juil. 2005 à 12:51
0
Merci
effectivement, ça renvoie 8224 et seulement sur mes volumes NTFS.

mais ou puis trouver les valeurs renvoyées par GetAttr() pour NTFS ?

car j'ai vb6 et donc msdn qui correspond, donc pas de NTFS......

ça me fais un peu chier tout ça......

je pense que index c'est les fichier d'indexation de windows XP mais je suis pas sur !!!

Gagou9
cs_gagou9 128 Messages postés vendredi 19 septembre 2003Date d'inscription 20 novembre 2007 Dernière intervention - 1 juil. 2005 à 12:56
0
Merci
ah ok !!

ça explique tou !!

merci pour ces valeurs !


Gagou9
cs_gagou9 128 Messages postés vendredi 19 septembre 2003Date d'inscription 20 novembre 2007 Dernière intervention - 1 juil. 2005 à 12:59
0
Merci
euh, tu as tout mis la ?

donc comment je fais pour avoir 8192 et 8224 ?

parce que la le max estr carrement inferieur !!!



merci quand meme !


Gagou9
cs_Alain Proviste 910 Messages postés jeudi 26 juillet 2001Date d'inscription 1 février 2015 Dernière intervention - 1 juil. 2005 à 13:09
0
Merci
tu pourrais nous préciser le contexte ? sur quels fichiers tu utilises getattr ?
cs_gagou9 128 Messages postés vendredi 19 septembre 2003Date d'inscription 20 novembre 2007 Dernière intervention - 1 juil. 2005 à 13:11
0
Merci
bah en fai c'est un explorateur que je fais.

donc on peu cliquer sur n'importe quel fichier, et ça affiche des infos sur ce fichier selectioné

c un tutoriel pour un copain !

Gagou9
Gobillot 3140 Messages postés vendredi 14 mai 2004Date d'inscription 31 mars 2015 Dernière intervention - 1 juil. 2005 à 13:14
0
Merci
je résume

si quelqu'un a des renseignements supplémentaires, je suis preneur.







8192 --> Index

4096 --> ?

2048 --> Compressé

1024 --> Alias

512 --> ?

256 --> Temporaire

128 --> Partageable

64 --> Alias (pour Macintosh exclusivement)
32 --> Archivé
16 --> répertoire
8 --> Label volume
4 --> système
2 --> caché
1 --> Lecture seule



Daniel
cs_sitemo 341 Messages postés samedi 8 novembre 2003Date d'inscription 29 juin 2011 Dernière intervention - 1 juil. 2005 à 13:17
0
Merci
gagou ta fini ton programme?

MK
cs_gagou9 128 Messages postés vendredi 19 septembre 2003Date d'inscription 20 novembre 2007 Dernière intervention - 1 juil. 2005 à 13:22
0
Merci
bah presque fini pourkoi ?

euh Gobillot ta trouvé ça ou ?

parce que je veu bien moi



8192 --> Index => c koi ?
4096 --> ?
2048 --> Compressé => c'est une archive zip ?
1024 --> Alias => encore un inconu !
512 --> ?
256 --> Temporaire => chui pas sur mais bon c explicite je croi !
128 --> Partageable
64 --> Alias (pour Macintosh exclusivement)
32 --> Archivé => la difference en ça et compréssé ??

16 --> répertoire

8 --> Label volume => c koi ?

4 --> système

2 --> caché

1 --> Lecture seule



merci beaucoup !



Gagou9
cs_sitemo 341 Messages postés samedi 8 novembre 2003Date d'inscription 29 juin 2011 Dernière intervention - 1 juil. 2005 à 13:35
0
Merci
envoi ton programme stp comme ca on pourra le regarde ensemble et mieux t'aider merci


MK
Gobillot 3140 Messages postés vendredi 14 mai 2004Date d'inscription 31 mars 2015 Dernière intervention - 1 juil. 2005 à 13:45
0
Merci
Label Volume

c'est pas un répertoire, c'est pas un fichier,

c'est le nom du Volume celui qu'on retrouve et qu'on peut modifier sous DOS en tapant Label.

en principe seulement dans le répertoire racine

utilisé aussi pour les noms longs (attribut 15 = 8 + 4 + 2 + 1) mais totalement inaccessible à l'utilisateur.


Compressé

on retrouve ça dans les répertoires système volume information,

c'est la compression On The Fly, les fichiers sont compressés et décompressés à la volée et c'est transparent pour l'utilisateur



Archivé

ça permet de gérer les archivages

les fichiers ont déjà été copiés



temporaire

comme les fichiers .tmp par exemple



le reste je sais pas


Daniel

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.