GetAttr renvoie 8192 et 8124

Résolu
cs_gagou9 Messages postés 126 Date d'inscription vendredi 19 septembre 2003 Statut Membre Dernière intervention 20 novembre 2007 - 30 juin 2005 à 19:40
 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

37 réponses

cs_gagou9 Messages postés 126 Date d'inscription vendredi 19 septembre 2003 Statut Membre Dernière intervention 20 novembre 2007
5 juil. 2005 à 17:26


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
3
steb359842 Messages postés 69 Date d'inscription samedi 5 juin 2004 Statut Membre Dernière intervention 24 janvier 2008
30 juin 2005 à 19:59
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
0
cs_gagou9 Messages postés 126 Date d'inscription vendredi 19 septembre 2003 Statut Membre Dernière intervention 20 novembre 2007
30 juin 2005 à 20:16
je vais chercher...

merci quand meme !

Gagou9
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
30 juin 2005 à 20:42
&H0040 Alias

&H0080 Shareable

&H0100 Temporary

&H0200 ?

&H0400 ?

&H0800 Compressed

&H1000 ?

&H2000 Index

Daniel
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_gagou9 Messages postés 126 Date d'inscription vendredi 19 septembre 2003 Statut Membre Dernière intervention 20 novembre 2007
30 juin 2005 à 22:36
oula sa ve diure koi ?

merci
Gagou9
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
30 juin 2005 à 22:51
ç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
0
cs_gagou9 Messages postés 126 Date d'inscription vendredi 19 septembre 2003 Statut Membre Dernière intervention 20 novembre 2007
1 juil. 2005 à 11:16
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
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
1 juil. 2005 à 11:54
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
0
cs_gagou9 Messages postés 126 Date d'inscription vendredi 19 septembre 2003 Statut Membre Dernière intervention 20 novembre 2007
1 juil. 2005 à 12:41
bah dans les constantes vb et dans msdn, lecture seule vaut 1, alors je comprend pas la !!!!

Gagou9
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
1 juil. 2005 à 12:49
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
0
cs_gagou9 Messages postés 126 Date d'inscription vendredi 19 septembre 2003 Statut Membre Dernière intervention 20 novembre 2007
1 juil. 2005 à 12:51
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
0
cs_gagou9 Messages postés 126 Date d'inscription vendredi 19 septembre 2003 Statut Membre Dernière intervention 20 novembre 2007
1 juil. 2005 à 12:56
ah ok !!

ça explique tou !!

merci pour ces valeurs !


Gagou9
0
cs_gagou9 Messages postés 126 Date d'inscription vendredi 19 septembre 2003 Statut Membre Dernière intervention 20 novembre 2007
1 juil. 2005 à 12:59
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
0
cs_Alain Proviste Messages postés 908 Date d'inscription jeudi 26 juillet 2001 Statut Modérateur Dernière intervention 1 février 2015 2
1 juil. 2005 à 13:09
tu pourrais nous préciser le contexte ? sur quels fichiers tu utilises getattr ?
0
cs_gagou9 Messages postés 126 Date d'inscription vendredi 19 septembre 2003 Statut Membre Dernière intervention 20 novembre 2007
1 juil. 2005 à 13:11
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
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
1 juil. 2005 à 13:14
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
0
cs_sitemo Messages postés 341 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 29 juin 2011 1
1 juil. 2005 à 13:17
gagou ta fini ton programme?

MK
0
cs_gagou9 Messages postés 126 Date d'inscription vendredi 19 septembre 2003 Statut Membre Dernière intervention 20 novembre 2007
1 juil. 2005 à 13:22
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
0
cs_sitemo Messages postés 341 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 29 juin 2011 1
1 juil. 2005 à 13:35
envoi ton programme stp comme ca on pourra le regarde ensemble et mieux t'aider merci


MK
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
1 juil. 2005 à 13:45
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
0
Rejoignez-nous