toosdu87
Messages postés100Date d'inscriptionlundi 3 avril 2006StatutMembreDernière intervention 1 mars 2010
-
20 févr. 2007 à 15:11
TeBeCo
Messages postés467Date d'inscriptionlundi 24 juin 2002StatutMembreDernière intervention 9 mars 2011
-
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
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 20 févr. 2007 à 16:44
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 #
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 20 févr. 2007 à 15:53
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 #
TeBeCo
Messages postés467Date d'inscriptionlundi 24 juin 2002StatutMembreDernière intervention 9 mars 2011 15 juin 2007 à 19:30
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)
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 15 juin 2007 à 19:38
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