cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 2015
-
30 oct. 2002 à 18:50
romit
Messages postés160Date d'inscriptionjeudi 28 août 2003StatutMembreDernière intervention30 juin 2011
-
1 juin 2006 à 21:54
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
romit
Messages postés160Date d'inscriptionjeudi 28 août 2003StatutMembreDernière intervention30 juin 2011 1 juin 2006 à 21:54
L'avantage de ma fonction c'est que pour les sites WEB ça marche (en principe, je pense qu'il y a un bug si il y a les deux caractères ("" et "/") mais je verais après !)
romit
Messages postés160Date d'inscriptionjeudi 28 août 2003StatutMembreDernière intervention30 juin 2011 1 juin 2006 à 21:53
C'est horrible mais ça marche très bien et pour les sites WEB aussi. Et on peut définir le nombre max de "" et "/" à rechercher !
Public Function FindFile(adresse As String) As String
FindFile = adresse
Dim position As Integer
Dim nb As Integer
Dim max As Integer
If adresse = "" Then Exit Function
max = 50
renew:
If nb > max Then GoTo fin
position = InStr(adresse, "")
If position <> 0 Then
adresse = Mid(adresse, position + 1)
nb = nb + 1
GoTo renew
End If
fin:
renew2:
nb = 0
If nb > max Then GoTo fin2
position = InStr(adresse, "/")
If position <> 0 Then
adresse = Mid(adresse, position + 1)
nb = nb + 1
GoTo renew2
End If
fin2:
FindFile = adresse
End Function
Vous trouverez peut-être ça lent et long mais pas grave car ça marche et ce n'est pas lent !
J'ai fait aussi la même chose pour les extensions (je sais qu'on peut utiliser Right etc... mais ça prendrais les 3 dernières lettres. Et si l'extension fait 4 lettre ?! (sisi, ça arrive ^^)
Public Function FindExt(adresse As String) As String
FindExt = adresse
Dim position As Integer
Dim nb As Integer
Dim max As Integer
If adresse = "" Then Exit Function
max = 50
renew:
If nb > max Then GoTo fin
position = InStr(adresse, ".")
If position <> 0 Then
adresse = Mid(adresse, position + 1)
nb = nb + 1
GoTo renew
End If
fin:
FindExt = adresse
End Function
je sais que c'est pas beau mais faites copier coller des fonctions dans votre projet, envoyer lui comme paramètres le chamin d'acces au fichier et voila !
Affichera une messagebox contenant "programme.exe"
^^
soldier8514
Messages postés295Date d'inscriptionvendredi 20 décembre 2002StatutMembreDernière intervention24 janvier 20141 1 mai 2006 à 12:33
kan c plus de l'ansi mais de l'unicode et que par exemple vos nom de fichier sont écrits en japonais ou autres _ vous faites quoi ? hein !?? kan ça plante _paceke ça va planter votre chmilblik les filles
laghyou
Messages postés3Date d'inscriptionlundi 24 avril 2006StatutMembreDernière intervention28 avril 2006 27 avril 2006 à 19:57
g 1 probleme . je voudrai modifier les valeurs d'un fichier mé je ne sais pas comment faire .
et en plus il ne faut pas voir le fichier .
il faut effectuer les modification sans voir le fichier
aidez moi.
ma boit de message est : laghyou_50@hotmail.com
Belegaer
Messages postés12Date d'inscriptionmercredi 24 juillet 2002StatutMembreDernière intervention 5 novembre 2002 6 nov. 2002 à 10:25
connaissait pas instrrev
merci jack, ca s'implifie ma fonction cheminfichier() ;-)
erreurs404
Messages postés117Date d'inscriptionlundi 23 octobre 2000StatutMembreDernière intervention12 août 2009 31 oct. 2002 à 11:00
il y a aussi ...
Dim Temp() As String
Temp = Split(Path, "/")
File = Temp(Ubound(Temp))
j'ai mis slash à cause du pb de l'anti-slash
ovRflow
Messages postés42Date d'inscriptionvendredi 2 août 2002StatutMembreDernière intervention 5 novembre 2004 31 oct. 2002 à 10:58
If Mid$(Fichier,Y,1)="/" Then .... voila la correction est faite.
cs_Cracker
Messages postés82Date d'inscriptiondimanche 9 septembre 2001StatutMembreDernière intervention21 août 2006 30 oct. 2002 à 22:04
put1, le slach y passe pas, bon c pas grave je pense que vous avez compri comen marche ma source ;)
cs_Cracker
Messages postés82Date d'inscriptiondimanche 9 septembre 2001StatutMembreDernière intervention21 août 2006 30 oct. 2002 à 22:00
Oups, je me suis trompé, voici la correction :
If Mid$(Fichier, Y, 1) = "" Then
cs_Cracker
Messages postés82Date d'inscriptiondimanche 9 septembre 2001StatutMembreDernière intervention21 août 2006 30 oct. 2002 à 21:46
Ou alors, + long qu'avec InStrRev, mais plus court que le code de LaMoUcHe2002
:)
dim Fichier as string
dim Y as integer
dim H as integer
For Y = 1 To Len(Fichier)
If Mid$(Fichier, Y, 1) = "" Then
H = Y
End If
Next Y
NomFichier= Mid$(Fichier, H + 1, Len(Fichier))
VicoLaChips2
Messages postés436Date d'inscriptiondimanche 20 janvier 2002StatutMembreDernière intervention 2 février 20102 30 oct. 2002 à 19:14
VicoLaChips2
Messages postés436Date d'inscriptiondimanche 20 janvier 2002StatutMembreDernière intervention 2 février 20102 30 oct. 2002 à 19:11
euuhh sans ça qu'est que vb6.exe fait sur ton bureau ..?
jack >> tu l'as essayer ton code avant de le sortir ??
ça muy mas bueno ...
NomFichier = Right(chemin, Len(chemin) - InStrRev(chemin, ""))
@+
LaMoUcHe2002
Messages postés37Date d'inscriptionsamedi 4 mai 2002StatutMembreDernière intervention13 mars 2003 30 oct. 2002 à 18:56
Je ne connaisais pas cette fonction InstrRev, merci :)
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 30 oct. 2002 à 18:50
Ce qui peut se résumer en une seule commande :
NomFichier = Right(Chemin, Len(Chemin) - InstrRev(Chemin, ""))
Pour info, InstrRev fait une recherche en commençant par la fin.
:-))
1 juin 2006 à 21:54
1 juin 2006 à 21:53
Public Function FindFile(adresse As String) As String
FindFile = adresse
Dim position As Integer
Dim nb As Integer
Dim max As Integer
If adresse = "" Then Exit Function
max = 50
renew:
If nb > max Then GoTo fin
position = InStr(adresse, "")
If position <> 0 Then
adresse = Mid(adresse, position + 1)
nb = nb + 1
GoTo renew
End If
fin:
renew2:
nb = 0
If nb > max Then GoTo fin2
position = InStr(adresse, "/")
If position <> 0 Then
adresse = Mid(adresse, position + 1)
nb = nb + 1
GoTo renew2
End If
fin2:
FindFile = adresse
End Function
Vous trouverez peut-être ça lent et long mais pas grave car ça marche et ce n'est pas lent !
J'ai fait aussi la même chose pour les extensions (je sais qu'on peut utiliser Right etc... mais ça prendrais les 3 dernières lettres. Et si l'extension fait 4 lettre ?! (sisi, ça arrive ^^)
Public Function FindExt(adresse As String) As String
FindExt = adresse
Dim position As Integer
Dim nb As Integer
Dim max As Integer
If adresse = "" Then Exit Function
max = 50
renew:
If nb > max Then GoTo fin
position = InStr(adresse, ".")
If position <> 0 Then
adresse = Mid(adresse, position + 1)
nb = nb + 1
GoTo renew
End If
fin:
FindExt = adresse
End Function
je sais que c'est pas beau mais faites copier coller des fonctions dans votre projet, envoyer lui comme paramètres le chamin d'acces au fichier et voila !
Ex: MsgBox FindFile("C:\Program Files\Entreprise\programme.exe")
Affichera une messagebox contenant "programme.exe"
^^
1 mai 2006 à 12:33
27 avril 2006 à 19:57
et en plus il ne faut pas voir le fichier .
il faut effectuer les modification sans voir le fichier
aidez moi.
ma boit de message est : laghyou_50@hotmail.com
6 nov. 2002 à 10:25
merci jack, ca s'implifie ma fonction cheminfichier() ;-)
31 oct. 2002 à 11:00
Dim Temp() As String
Temp = Split(Path, "/")
File = Temp(Ubound(Temp))
j'ai mis slash à cause du pb de l'anti-slash
31 oct. 2002 à 10:58
30 oct. 2002 à 22:04
30 oct. 2002 à 22:00
If Mid$(Fichier, Y, 1) = "" Then
30 oct. 2002 à 21:46
:)
dim Fichier as string
dim Y as integer
dim H as integer
For Y = 1 To Len(Fichier)
If Mid$(Fichier, Y, 1) = "" Then
H = Y
End If
Next Y
NomFichier= Mid$(Fichier, H + 1, Len(Fichier))
30 oct. 2002 à 19:14
30 oct. 2002 à 19:11
jack >> tu l'as essayer ton code avant de le sortir ??
ça muy mas bueno ...
NomFichier = Right(chemin, Len(chemin) - InStrRev(chemin, ""))
@+
30 oct. 2002 à 18:56
30 oct. 2002 à 18:50
NomFichier = Right(Chemin, Len(Chemin) - InstrRev(Chemin, ""))
Pour info, InstrRev fait une recherche en commençant par la fin.
:-))