Modifier une chaine de caractère

tof72 Messages postés 33 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 18 juillet 2005 - 10 juin 2004 à 12:46
tof72 Messages postés 33 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 18 juillet 2005 - 11 juin 2004 à 10:15
Bonjour

Dans mon application je cherche le chemin de mon application.Ce chemin peut varier celon où est stocké l'application.
Je stock le résultat de cette recherche dans une variable string. la chaine comporte le nom de l'application, comment remplacer le nom de l'application par le nom d'un autre fichier.

example

La chaine de départ est "c:\vb\transfert.exe"
la chaine final "c:\vb\chemin.ini"

Attention je début donner des explications

merci

8 réponses

econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 25
10 juin 2004 à 14:34
Dim tablo() As string
Dim chaine1 As string
DIm chaine2 as string

chaine1 = "c:\vb\transfert.exe"
' on découpe le chemin en élément séparés par '\'
tablo=Split(chaine1,"",,vbTextCompare)
' on modifie le dernier élément
tablo(ubound(tablo)) = "chemin.ini"
' on recolle tous les morceaux
chaine2 = tablo(LBound(tablo))
For i = LBound(tablo) + 1 To UBound(tablo)
chaine2 = chaine2 & "" & tablo(i)
Next i
' chaine2 contient "c:\vb\chemin.ini"


Manu
scoder Messages postés 140 Date d'inscription dimanche 18 avril 2004 Statut Membre Dernière intervention 20 mars 2006
10 juin 2004 à 14:46
autre possibilité

pour récupérer le chemin dans lequel se trouve l'application
et changer le nom du fichier par chemin.ini
dim chemin as string
chemin = app.path & "chemin.ini"
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 25
10 juin 2004 à 15:03
tu oublies un truc :

App.Path & "\chemin.ini"

Manu
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
10 juin 2004 à 15:05
avec un petit détail :
si l'exe est dans la racine (C:\), App.Path renvoie "C:"
si l'exe est dans C:\dossier, App.Path renvoie "C:\dossier"
Il faut donc vérifier la présence de ""

If Right$(App.Path, 1) = "" Then
   chemin = App.Path & "chemin.ini"
Else
   chemin = App.Path & "\chemin.ini"
End If

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

Posez votre question
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
10 juin 2004 à 15:08
grillé sur le poteau ... mais plus précis !
scoder Messages postés 140 Date d'inscription dimanche 18 avril 2004 Statut Membre Dernière intervention 20 mars 2006
10 juin 2004 à 16:43
ouep j'avais zappé le "" enfin vous avez été rapide à me corriger ;)
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
10 juin 2004 à 16:50
Sauf que comme "c:\\toto.txt" est un chemin valide pour windows, on se fout de savoir si on est à la racine ou pas. Sauf, s'il faut afficher le chemin auquel cas ce n'est pas très beau, alors moi je fait cela :
MonFichier = Replace$(app.path & "\toto.txt","\","")
Et basta !! Ca evite un "If Then Else"

Christophe R.
tof72 Messages postés 33 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 18 juillet 2005
11 juin 2004 à 10:15
merci pour les informations
Rejoignez-nous