Ajouter ou pas un anti-slash à la fin d'un chemin de repertoire

Résolu
Duke49 Messages postés 552 Date d'inscription jeudi 12 octobre 2006 Statut Non membre Dernière intervention 24 janvier 2023 - 2 déc. 2010 à 10:34
Duke49 Messages postés 552 Date d'inscription jeudi 12 octobre 2006 Statut Non membre Dernière intervention 24 janvier 2023 - 2 déc. 2010 à 17:29
Si vous avez envie de vous y prêter, j'attends vos idées de code avec
comme seul impératif l'utilisation du .NET (pas de Left ni Right) ^^.

Voici mon code:
        Dim curDirectory As String = Environment.CurrentDirectory

        curDirectory IIf(CType(curDirectory.LastOrDefault "", Boolean), curDirectory, curDirectory & "")

7 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
2 déc. 2010 à 11:07
Tu veux que du .Net, mais IIF n'est pas du .Net, c'est un héritage de VB6 (et dans VB6, c'était déjà un héritage qui n'existait que pour des raisons de rétrocompatibilité)


Si tu veux que du .Net, fait les choses comme il faut :

Dim curDirectory As String = Environment.CurrentDirectory

If Not curDirectory.EndWith("") Then curDirectory = curDirectory & ""








[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
3
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
2 déc. 2010 à 16:30
Si tu veux que du .Net commence déjà par prendre l'habitude de systématiquement désactiver l'assembly Microsoft.VisualBasic dans chacun de tes projets.

Tout ce qu'apporte cette assembly est une compatiblité avec l'ancien code VB6, et rien de ce qu'elle fait n'est infaisable avec les classes pures .Net (mais la correspondance n'est pas toujours facilement trouvable)


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
3
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
2 déc. 2010 à 16:52
Si on part du principe que Left et Right ne sont que des surcharges de Mid, elles peuvent donc être remplacées par une instruction Mid codifier correctement.
Left(chaine, 10) <==> Mid(chaine, 1, 10)
Right(chaine, 10 <==> Mid(chaine, Len(chaine)-10,10)


Left et Right n'existent plus en .net.
Mid est remplacée par la méthode Substring de la classe String
Et au passage Len est remplacée par le méthode Length de la classe String


Donc on écrira Right(chaine,10) ainsi en .Net (à noter qu'en .Net tous les index commencent à 0, d'où le décalage de 1)
chaine.SubString((chaine.Lenght - 1) - 10 , 10)




[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
3
Duke49 Messages postés 552 Date d'inscription jeudi 12 octobre 2006 Statut Non membre Dernière intervention 24 janvier 2023 4
2 déc. 2010 à 16:06
Je veux que du .NET maintenant ^^
Tu as biens remarqué que j'étais encore du VB6, c'est pour cela que
je suis très heureux de voir ton extrait de code ^^

Ca va être difficile de faire plus simple !
Merci.
0

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

Posez votre question
Duke49 Messages postés 552 Date d'inscription jeudi 12 octobre 2006 Statut Non membre Dernière intervention 24 janvier 2023 4
2 déc. 2010 à 16:39
En parlant de ça; Ou est mon MID LEFT RIGHT du coup ^^ ?

Dim MaChaine As String = "ABC"

'renvoi B
return MaChaine.MidNet(2,1)

'renvoi A
return MaChaine.LeftNet(1)

'renvoi C
return MaChaine.RightNet(1)
0
Duke49 Messages postés 552 Date d'inscription jeudi 12 octobre 2006 Statut Non membre Dernière intervention 24 janvier 2023 4
2 déc. 2010 à 16:39
C'est entendu pour Microsoft.VisualBasic ;)
Merci !
0
Duke49 Messages postés 552 Date d'inscription jeudi 12 octobre 2006 Statut Non membre Dernière intervention 24 janvier 2023 4
2 déc. 2010 à 17:29
MERCI CASY; SUPERBE EXPLICATION !!!
0
Rejoignez-nous