Lightness1024!
-
31 août 2001 à 16:12
Glennouchet
Messages postés6Date d'inscriptionmercredi 17 février 2010StatutMembreDernière intervention15 juillet 2012
-
7 juil. 2012 à 17:31
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Glennouchet
Messages postés6Date d'inscriptionmercredi 17 février 2010StatutMembreDernière intervention15 juillet 2012 7 juil. 2012 à 17:31
Salut à tous et merci, mais j'ai retrouvé un vieux code qui marche bien et plus "rapide", je code en VB5 sur un portable qui a plus de 15 ans et sous W95 (donc il faut optimiser le code, surtout quand on fait une moulinette) :
Function FileExists(FileName As String) As Boolean
On Error GoTo ErrorHandler FileExists (GetAttr(FileName) And vbDirectory) 0
GoTo No_Error
ErrorHandler:
FileExists = False
No_Error:
End Function
Ca permet également de ne pas renvoyer true sur un répertoire...
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 29 juin 2007 à 17:33
plus simple que quoi ?
ne mélange pas tout, ici, c'est une source en VB6, tu propose un code 'plus simple' mais en .Net...
cs_bib34690
Messages postés22Date d'inscriptionmardi 5 août 2003StatutMembreDernière intervention10 mai 2011 29 juin 2007 à 17:26
+ simple...
If System.IO.File.Exists(MonFichier) Then ...
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 23 janv. 2006 à 16:26
FSO à proscrire pour ce genre de mini traitements.... acceptable uniquement en VBS
Public Function IsFileExisting(ByRef Path As String) As Boolean
IsFileExisting = (GetFileAttributes(Path) <> INVALID_FILE_ATTRIBUTES)
End Function
cs_JerryC
Messages postés8Date d'inscriptionvendredi 10 janvier 2003StatutMembreDernière intervention14 octobre 2005 21 oct. 2005 à 15:17
Très simple .. un Dir$ avec une gestion d'erreurs (on error). Ca c'est l'alternative... à savoir si c'est plus simple, je répond non.
cs_PaTaTe
Messages postés2126Date d'inscriptionmercredi 21 août 2002StatutContributeurDernière intervention19 février 20212 9 nov. 2004 à 03:10
kiminox > Je me trouve sur le meme probleme que toi. Si par hazard, tu as trouvé une alternetive (hors FSO) je suis preuneur ;)
cs_theo
Messages postés2Date d'inscriptionjeudi 29 juin 2000StatutMembreDernière intervention29 septembre 2003 29 sept. 2003 à 07:17
Merci Matthieu d'avoir pris 'la peine' d'avoir simplifié le code, qui, au passage, est une bonne optimisation le faite de recuperer le boolean de cette maniere.
Lightness: ce genre de commentaire, on s'en passe volontier. Le but ici est (je le rappelle car y'a des gens qui ont un boulet a la place du cerveau):
1/ utilisation du FileSystemObject
2/ Fonction sur laquelle on a la main.
Je suis heureux d'apprendre - à nouveau - que Dir$ est plus simple et patati et patata ...
Mais pourquoi faire simple quand on peut faire compliqué? Surtout si on est payé pour ...
LoL; je fini par croire que ce sont des gens comme toi qui sont simples ...
Allez, bon coding!!
"Deux choses sont infinies, l'univers et la betise humaine. Mais en ce qui concerne l'univers, je n'en ai pas encore acquis la certitude absolue" - A. Einstein.
kiminox
Messages postés33Date d'inscriptionjeudi 27 septembre 2001StatutMembreDernière intervention 4 octobre 2003 28 sept. 2003 à 18:39
Slt,
Quand j'utilise Dir$ pour tester l'existence d'un fichier, j'ai un message d'erreur lorsque le fichier n'existe pas justement :
Dir$(Chemin) me génère ce message avec Chemin = chemin bidon vers un fichier ou lecteur inexistant.
Normalement, il devrait retourner un String vide "" non?
Kim
kiminox
Messages postés33Date d'inscriptionjeudi 27 septembre 2001StatutMembreDernière intervention 4 octobre 2003 28 sept. 2003 à 18:38
Slt,
Quand j'utilise Dir$ pour tester l'existence d'un fichier, j'ai un message d'erreur lorsque le fichier n'existe pas justement :
Dir$(Chemin) me génère ce message avec Chemin = chemin bidon vers un fichier ou lecteur inexistant.
Normalement, il devrait retourner un String vide "" non?
Kim
cs_theo
Messages postés2Date d'inscriptionjeudi 29 juin 2000StatutMembreDernière intervention29 septembre 2003 17 juin 2003 à 12:18
le truc c'est justement l'utilisation des FileSystemObject...
donc, oui, dir$ c plus rapide (meilleur?). y'a pas photo.
par contre ok avec matthieu, avec le recul c un code assez 'lourd'.
mais bon, je l'ai ecris en 04/2000 comme vous pouvez le constater par vous memes. y'a un p'tit bout de chemin qui s'est fait depuis ;)
bon code. theo.
matthieuauchan
Messages postés4Date d'inscriptionmercredi 9 avril 2003StatutMembreDernière intervention20 mai 2003 16 juin 2003 à 11:02
Un peu lourd ...
Public Function ExistFile(strPath As String) As Boolean
Dim fs As Object
Set fs = CreateObject("Scripting.FileSystemObject")
ExistFile = fs.FileExists(strPath)
End Function
7 juil. 2012 à 17:31
Function FileExists(FileName As String) As Boolean
On Error GoTo ErrorHandler FileExists (GetAttr(FileName) And vbDirectory) 0
GoTo No_Error
ErrorHandler:
FileExists = False
No_Error:
End Function
Ca permet également de ne pas renvoyer true sur un répertoire...
29 juin 2007 à 17:33
ne mélange pas tout, ici, c'est une source en VB6, tu propose un code 'plus simple' mais en .Net...
29 juin 2007 à 17:26
If System.IO.File.Exists(MonFichier) Then ...
23 janv. 2006 à 16:26
Public Function IsFileExisting(ByRef Path As String) As Boolean
IsFileExisting = (GetFileAttributes(Path) <> INVALID_FILE_ATTRIBUTES)
End Function
21 oct. 2005 à 15:17
9 nov. 2004 à 03:10
29 sept. 2003 à 07:17
Lightness: ce genre de commentaire, on s'en passe volontier. Le but ici est (je le rappelle car y'a des gens qui ont un boulet a la place du cerveau):
1/ utilisation du FileSystemObject
2/ Fonction sur laquelle on a la main.
Je suis heureux d'apprendre - à nouveau - que Dir$ est plus simple et patati et patata ...
Mais pourquoi faire simple quand on peut faire compliqué? Surtout si on est payé pour ...
LoL; je fini par croire que ce sont des gens comme toi qui sont simples ...
Allez, bon coding!!
"Deux choses sont infinies, l'univers et la betise humaine. Mais en ce qui concerne l'univers, je n'en ai pas encore acquis la certitude absolue" - A. Einstein.
28 sept. 2003 à 18:39
Quand j'utilise Dir$ pour tester l'existence d'un fichier, j'ai un message d'erreur lorsque le fichier n'existe pas justement :
Dir$(Chemin) me génère ce message avec Chemin = chemin bidon vers un fichier ou lecteur inexistant.
Normalement, il devrait retourner un String vide "" non?
Kim
28 sept. 2003 à 18:38
Quand j'utilise Dir$ pour tester l'existence d'un fichier, j'ai un message d'erreur lorsque le fichier n'existe pas justement :
Dir$(Chemin) me génère ce message avec Chemin = chemin bidon vers un fichier ou lecteur inexistant.
Normalement, il devrait retourner un String vide "" non?
Kim
17 juin 2003 à 12:18
donc, oui, dir$ c plus rapide (meilleur?). y'a pas photo.
par contre ok avec matthieu, avec le recul c un code assez 'lourd'.
mais bon, je l'ai ecris en 04/2000 comme vous pouvez le constater par vous memes. y'a un p'tit bout de chemin qui s'est fait depuis ;)
bon code. theo.
16 juin 2003 à 11:02
Public Function ExistFile(strPath As String) As Boolean
Dim fs As Object
Set fs = CreateObject("Scripting.FileSystemObject")
ExistFile = fs.FileExists(strPath)
End Function
voilà... c + propre :)
31 août 2001 à 16:12