EXISTEFICHIER : SOLUTION ALTERNATIVE

cs_Kheops Messages postés 14 Date d'inscription dimanche 16 décembre 2001 Statut Membre Dernière intervention 4 octobre 2010 - 18 déc. 2001 à 20:52
BOBTHEJEDI Messages postés 2 Date d'inscription samedi 20 mars 2004 Statut Membre Dernière intervention 10 novembre 2005 - 10 nov. 2005 à 21:00
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/2225-existefichier-solution-alternative

BOBTHEJEDI Messages postés 2 Date d'inscription samedi 20 mars 2004 Statut Membre Dernière intervention 10 novembre 2005
10 nov. 2005 à 21:00
Voila quelqu'un d'intéligent simple et efficace

les autres on pas compris que la fonction dir() est une fonction de M.....

merci

Bob
mb0 Messages postés 1 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 5 mars 2003
5 mars 2003 à 19:44
je propose le code ci-dessous pour apaiser les passions.

bon santé à tous
michel


Function ExisteFichier%(file$)
'// n° thème/catégorie/action: a1.1.1
'// description: permet de vérifier l'existence d'un fichier même s'il est caché
'// entrées: nom du fichier (!!!si chaine vide ==> erreur)
'// sorties: 0=absence; -1=présent; -2=présent+caché
'// création: 04/03/2003
'// version: 1i
'// avancement: 1
'// auteur: Michel Boussekeyt
'// copyright: libre d'utilisation
'// liens:
'// remarques: valable en VB 16 ou 32 bits
'// n° thème/catégorie/action: a1.1.1
'//
On Local Error Resume Next
Dim i%
i% ((Dir$(file, 2) <> "") And (Dir$(file) "")) + (Dir$(file, 2) <> "")
ExisteFichier (i% And (Err 0))
End Function
luko007 Messages postés 31 Date d'inscription mercredi 20 novembre 2002 Statut Membre Dernière intervention 9 septembre 2003
20 nov. 2002 à 23:13
1- t'as légèrement plus rapide et plus court en suivant TA propre méthode :

Function ExisteFichier3(file As String) As Boolean
On Error GoTo erreur
FileLen file
ExisteFichier3 = True
erreur:
End Function

2 - t'as plus 4 x court (pas besoin de fonction) avec :

if dir$(file)=file then fichier trouvé...

dans ta fonction, c'est plus lent que ta méthode, ok.
Mais comme avec dir$, tu n'as plus besoin d'utiliser de fonction (car ca prend une ligne au lieu de ton usine à gaz), y'a des chances que ce soit également plus rapide

3 - avec PathFileExists, tu as beaucoup plus rapide et plus court

4 - avec l'expérience, on sait que d'autres peuvent toujours trouver une meilleure solution que celle qu'on a trouvé (donc faut rester humble)

5 - T'as donc tout faux : la prochaine fois au lieu d'encombrer le site avec des remarques inutiles et présomptueuses, oublie pas que, des informaticiens, y en a parfois qui consultent aussi ce site...

NB: on utilise les on error seulement quand on ne controle pas tous les dysfonctionnements qui peuvent se produire (impressions, lancement fonctionnalité externe, ...) et jamais de manière abusive : Sur un gros logiciel, les on error à tire-larigo c'est ingérable par ex.
cs_Stef Messages postés 5 Date d'inscription vendredi 30 novembre 2001 Statut Membre Dernière intervention 6 décembre 2006
28 déc. 2001 à 01:20
Encore plus court...

utilise dir...

public fonction Existe (chemin_fichier) as boolean
if Dir (chemin_fichier) <> 0 then Existe=true
end function
cs_shivan Messages postés 363 Date d'inscription jeudi 20 décembre 2001 Statut Membre Dernière intervention 25 août 2003
20 déc. 2001 à 18:38
ouais mais les erreur, en prog, meme sous vb, fo en avoir le moins possible, pas les utiliser... enfin voila koi... un code en 3 lignes c bien, mais utiliser une api et gérer ses erreurs c mieux !
$hîv@n
ToasTy62 Messages postés 47 Date d'inscription mardi 4 septembre 2001 Statut Membre Dernière intervention 12 mars 2004
19 déc. 2001 à 17:40
lol merci pr ce chaleureux accueil !
qd a la gestion des erreurs, autant utiliser ce ki existe, c fait pr ca !!!
ah pis thx pr l'api
fou volant13 Messages postés 55 Date d'inscription vendredi 29 juin 2001 Statut Membre Dernière intervention 2 février 2002
19 déc. 2001 à 16:17
Vraiment, mettre une merde comme ca et dire que les autres programmeurs sont des crétins (c méchamment sous-entendu), ben faut oser!!!
Dis-moi, essaie donc de tester un fichier sur le lecteur a: quand ya pas de diskette.
Ho miracle il existe.
Vraiment a chier ton code
1/10
thrakkazz2000 Messages postés 39 Date d'inscription mercredi 19 décembre 2001 Statut Membre Dernière intervention 19 juin 2003
19 déc. 2001 à 09:42
Et tu penses vraiment que faire une gestion d'erreur c'est mieux ? Pfuuu... cherche plutot à résoudre ton problème quand tu en rencontres plutot que de jouer au gars qui ne comprend rien à ce qui se passe et qui cache son incompétence derrière un pseudo code qu'il croit innovateur. Si tu n'avais pas été aussi méprisant envers les autres "codeurs" je ne t'aurai pas répondu mais là tu le mérites
cs_Nox Messages postés 415 Date d'inscription mardi 3 avril 2001 Statut Membre Dernière intervention 26 avril 2008
19 déc. 2001 à 04:05
mwais... yen a dejas sur le site mais celle la est vrément bien!
ZTPdiffusion Messages postés 46 Date d'inscription lundi 16 avril 2001 Statut Membre Dernière intervention 7 mars 2002
18 déc. 2001 à 23:18
C'est vrai avec l'API suivante :

Private Declare Function PathFileExists Lib "shlwapi.dll" Alias "PathFileExistsA" (ByVal pszPath As String) As Long
logisim Messages postés 49 Date d'inscription mardi 8 mai 2001 Statut Membre Dernière intervention 14 août 2004
18 déc. 2001 à 21:18
On peut faire ça en une ligne avec un API mais je ne sais plus lequel...
cs_Kheops Messages postés 14 Date d'inscription dimanche 16 décembre 2001 Statut Membre Dernière intervention 4 octobre 2010
18 déc. 2001 à 20:52
Merci d'avoir apporter ce code à la communauté . Pourtant je te demanderai de respecter le travail des autres et de ne pas écrire de tels mots dans tes commentaires . Merci beaucoup
Rejoignez-nous