Distinction entre un fichier et un dosier

Résolu
cs_yvesyves Messages postés 561 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 11 octobre 2010 - 23 avril 2005 à 13:12
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 - 23 avril 2005 à 17:54
Slt,
voila, j'aimerai savoir vite fais comment on peut faire la distinction d'un dossier à un fichier quand le chemin d'une valeur string peut être:
"c:\windows" ou "c:\windowster.txt"
comment faire la distinction entreces deux types de chemin par le code.
J'aimerais aussi comment on peut enlever à une valeur string tel que "c:" le "" pour devenir "c:". (Le & dans sa fonction inverse)
Merci

3 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
23 avril 2005 à 13:50
1)


MaxSoldier, ta solution ne marche pas pour les fichiers sans
extension, et les fichiers dont l'extension est différente de 3
caractères. En fait il ne marche que pour les fichiers ayant une
extensions de 3 caractères, ce qui n'est plus du tout obligatoire
depuis Win98.


yvesyves > tu peux essayer l'API GetFileAttribute :



Private Declare Function GetFileAttributes Lib "kernel32" Alias "GetFileAttributesA" (ByVal lpFileName As String) As Long



Const FILE_ATTRIBUTE_ARCHIVE = &H20

Const FILE_ATTRIBUTE_DIRECTORY = &H10

Const FILE_ATTRIBUTE_HIDDEN = &H2

Const FILE_ATTRIBUTE_NORMAL = &H80

Const FILE_ATTRIBUTE_READONLY = &H1

Const FILE_ATTRIBUTE_SYSTEM = &H4

Const FILE_ATTRIBUTE_TEMPORARY = &H100



If GetFileAttributes(TaChaine) And FILE_ATTRIBUTE_DIRECTORY Then

msgbox "C'est un répertoire"

else

msgbox "C'est un fichier"

End If





<hr size="2" width="100%">Si le cerveau était assez simple pour que nous puissions le comprendre,

nous serions assez bête pour ne pas le comprendre malgré tout.
3
MaxSoldier Messages postés 289 Date d'inscription dimanche 10 août 2003 Statut Membre Dernière intervention 28 février 2009 2
23 avril 2005 à 13:23
Utilise la commande Right()



1) Pour reconnaire un fichier tu fais :



if mid(Right(Tachaine,4),1,1) = "." then

MsgBox "Un exe !"
else

msgbox "Un Dossier !"

end if



2) Je suis pas sur de ce que j'avance mais tu peux faire :

MaChaine = replace(machaine,"","")



++



-=Ar$£nik=-
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
23 avril 2005 à 17:54
en plus simple sans API:

If GetAttr("c:\windowster.txt") And vbDirectory Then
MsgBox "répertoire"
Else
MsgBox "fichier"
End If

Daniel
0
Rejoignez-nous