Problème de caractères nom conformes

Le
Jacques \(BE\)
Bonjour,

J'appelle une fonction qui contient en paramètre le répertoire de mon
fichier.
(cette fonction se trouve dans une DLL)

CRT.Chiffrement( "0000000002", "server71", "project_X","C:toto");

Je récupère la valeur et je la concatène avec un nom de fichier

Dim Chemin as string = var_chemin
Dim NomFichier as string = "test.log"
Chemin = Chemin & NomFichier
Je devrais voir "C:tototestt.log"

Donc j'ajoute ("")
Chemin = Chemin & "" & NomFichier
Je devrais voir "C:tototestt.log"
et bien non je reçois "C:toto\testt.log"

J'ai aussi essayé Chemin = Chemin & Chr(92) & NomFichier
Même résultat je reçois "C:toto\testt.log"

Si dans l'appel de la fonction je mets "C:toto"
alors là j'ai "C:toto\\testt.log"!!

Comment résoudre cela ??

Merci de vos réponses

Jacques
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
loïc
Le #12163811
bonsoir,

Je pense que c'est que parce que le backslash sert à spécifier les
caractères spéciaux (style t pour tab, n pour nouvelle ligne, ...) en c,
c++ et c# ! Un backslash tout seul ne peut donc pas exister dans une chaine.
Mais si on veut en afficher un , on code '\' dans la chaine.

pour les chaines codés en dur dans le code, utilise plutôt les chaines
verbatim (string toto = @"c:toto";)
et pour manipuler les noms de fichiers, utilise les classes Path, Directory,
Directoryinfo qui sont dans le Namespace System.IO.


"Jacques (BE)" a écrit :

Bonjour,

J'appelle une fonction qui contient en paramètre le répertoire de mon
fichier.
(cette fonction se trouve dans une DLL)

CRT.Chiffrement( "0000000002", "server71", "project_X","C:toto");

Je récupère la valeur et je la concatène avec un nom de fichier

Dim Chemin as string = var_chemin
Dim NomFichier as string = "test.log"
Chemin = Chemin & NomFichier
Je devrais voir "C:tototestt.log"

Donc j'ajoute ("")
Chemin = Chemin & "" & NomFichier
Je devrais voir "C:tototestt.log"
et bien non je reçois "C:toto\testt.log"

J'ai aussi essayé Chemin = Chemin & Chr(92) & NomFichier
Même résultat je reçois "C:toto\testt.log"

Si dans l'appel de la fonction je mets "C:toto"
alors là j'ai "C:toto\\testt.log"...!!

Comment résoudre cela ??

Merci de vos réponses

Jacques





Publicité
Poster une réponse
Anonyme