Right en .NET [Résolu]

toosdu87 100 Messages postés lundi 3 avril 2006Date d'inscription 1 mars 2010 Dernière intervention - 20 févr. 2007 à 15:11 - Dernière réponse : TeBeCo 467 Messages postés lundi 24 juin 2002Date d'inscription 9 mars 2011 Dernière intervention
- 15 juin 2007 à 19:51
Bonjour, ancien utilisateur de VB6 et utilisant aujourd'hui visual basic 2005
je voudrai connaitre ceci:

En VB6:
if Right(variable,2) = "o" then

Je voudrai réaliser l'opération précédente en vb net.
Cependant j'ai l'impression qu'il ne connait ni le LEFT ni le RIGHT
uniquement le Mid.

Au final lorsque j'ai une chaine de caractère du type:
c:\toto\tata\fichier.txt
j'aimerai récupérer uniquement la direction, c'est à dire c:\toto\tata\ sachant
que le chemin peut varier, je connait uniquement le nom du fichier.

Je voulais donc faire
For i=1 to len(chaine)
if Right(chaine,i) = "" then
'ainsi je sépare le fichier du chemin

Pouvez vous m'aider
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 20 févr. 2007 à 16:44
3
Merci
Regarde ce petit bout de code, je pense qu'il va t'inspiré, si j'ai bien compris ce que tu veux faire.

Dim MyOfd As New OpenFileDialog
Dim fich As New String("C:\Windows\system32\notepad.exe")

MessageBox.Show(String.Format("Le nom
du fichier : {0}", System.IO.Path.GetFileName(fich)))
MessageBox.Show(String.Format("Le
chemin sans le nom : {0}", System.IO.Path.GetDirectoryName(fich)))

'ouverture du OpenFileDialog sur le chemin
spécifié
MyOfd.InitialDirectory = System.IO.Path.GetDirectoryName(fich)
MyOfd.FileName = System.IO.Path.GetFileName(fich)
MyOfd.ShowDialog()

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #

Merci cs_casy 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de cs_casy
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 20 févr. 2007 à 15:53
0
Merci
Les fonctions Left, Right, .... existent toujours à condition d'importer le namespace de compatibilité VB6 Microsoft.VisualBasic. Mais quel interet de passer à .Net si c'est pour refaire du code VB6.

Sinon, les methodes de manipulations de chaines se trouvent dans la classe String et notamment la methode Substring qui replace les fonctions Left, Right, ....

Dans le cas particulier des chaines de caractères représentant des chemins, tu peux aussi utliser les méthodes de la classe Path. Notamment la methode .GetFileName pour le nom du fichier, .GetFileNameWithoutExt pour le nom du fichier mais sans l'extension

Voir aussi .DirectorySeparatorChar, si tu veux connaitre le caractère de séparation des dossiers "" ou "/" sous Windows.

Et enfin pour ton cas, .GetDirectoryName devrait etre ce que tu cherche.

PS : La classe Path est dans le namespace System.IO

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Commenter la réponse de cs_casy
toosdu87 100 Messages postés lundi 3 avril 2006Date d'inscription 1 mars 2010 Dernière intervention - 20 févr. 2007 à 16:22
0
Merci
Merci Casy mais dans mon code j'utilise un Openfiledialog, et ce composant n'utilise pas GetDirectoryName.


Sinon c'est exactement ce que je veux faire


As tu une idée avec Openfiledialog?
Commenter la réponse de toosdu87
toosdu87 100 Messages postés lundi 3 avril 2006Date d'inscription 1 mars 2010 Dernière intervention - 20 févr. 2007 à 17:04
0
Merci
Casy t'es mon IDOLE
Commenter la réponse de toosdu87
TeBeCo 467 Messages postés lundi 24 juin 2002Date d'inscription 9 mars 2011 Dernière intervention - 15 juin 2007 à 19:30
0
Merci
sinon des fois que tu ai besoin ailleurs des "left" et "right" ca existe toujours en vb. Ca a été rangé a uun endroit relativement logique et simple à retrouver
D'abord suffit d'ouvrir l'aide limité au vb.net et tu tapper "Right" et tu tombe sur la fonction Right :
Microsoft.VisualBasic.Right()

Retourne une chaîne contenant un nombre spécifié de caractères depuis la
partie droite d'une chaîne.

|----
Public Shared Function Right( _
ByVal str As String, _
ByVal Length As Integer _
) As

ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.fr/dv_vbalr/html/a9a60c3d-7a5e-4f3e-9a92-c491105bc88f.htm
idem pour le "Left(), Asc(), Chr(), Split(), Join() ect ..."
cela dit on retrouve aussi certaine de ces fonctions dans la Classe string (mais ca n'a pas été enlevé pour autant)

TeBeCo
Commenter la réponse de TeBeCo
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 15 juin 2007 à 19:38
0
Merci
TeBeCo, si tu avais regardé la première réponse que j'ai donné, tu aurais vu que j'avais déjà donner cette indication, mais aussi que j'avais indiquer les raisons de leur présence ainsi que les raisons pour lequelles personellement je ne les utilises pas

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Commenter la réponse de cs_casy
TeBeCo 467 Messages postés lundi 24 juin 2002Date d'inscription 9 mars 2011 Dernière intervention - 15 juin 2007 à 19:51
0
Merci
j'ai survollé j'ai pas tout vu tte mes excuses

TeBeCo
Commenter la réponse de TeBeCo

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.