Supprimer un caractere de continuation( _ ) d'un commentaire

Résolu
cs_loup28 Messages postés 3 Date d'inscription mercredi 10 août 2005 Statut Membre Dernière intervention 11 août 2005 - 10 août 2005 à 20:58
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 11 août 2005 à 12:05
loup28
Bonjour !

Je dois compléter une fonction pour que ce test marche :

Private sub UnitTestScripContinuationCharacter ()
Dim sresult as string
Dim oparser as parser
set oparser = new parser
sresult oparser.StripContinuationCharacter ("i 10 _ ") Debug.Assert sresult "i 10"
sresult oparser.StripContinuationCharacter ("my_value 10") Debug.Assert sresult "my_value 10"

sresult = oparser.StripContinuationCharacter ("some _ non _vb_ code _")
Debug.Assert sresult = "some _ non _vb_ code"
End sub

Voici la fonction que j'ai ecrite pour que le test marche et dont il fait reference au dessus :
(Linecontinuesonnextline est une fonction de type Booleene qui retourne True si la ligne analyser se finie par " _")

Public function StripContinuationCharacter (ByVal sline as string) as string
Dim charact as string

if Linecontinuesonnextline(sline) = true then
sline = Replace(sline, " _", "")
sline = RTrim(sline)
end if

StripContinuationCharacter = sline
end function
Pb : lorsque le test se lance, les tests avec "i 10 _ " et "my_value 10" marchent tres bien mais au moment de faire le dernier test il me retourne "some nonvb code" au lieu de "some _ non _vb_ code".
Que dois-je faire pour que ça marche ?

6 réponses

cs_loup28 Messages postés 3 Date d'inscription mercredi 10 août 2005 Statut Membre Dernière intervention 11 août 2005
11 août 2005 à 11:29
loup28
Merci à tous. J'ai réussi a résoudre mon pb.
Ma fonction marche tres bien Merci beaucoup !
3
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
10 août 2005 à 21:44
Salut, je ne vois pas trop ou tu veux en venir mais la ligne :
sline = Replace(sline, " _", "")
remplace tous les "_" par "" c'est à dire rien.
C'est voulu ?

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
10 août 2005 à 22:01
salut,

1.
"i = 10 _ "
-> "i = 10"

2.
"my_value = 10"
-> "my_value = 10"

3.
"some _ non _vb_ code _"
-> "some nonvb_ code"

remplace Debug.Assert par Debug.Print, çà peut être + simple à lire... (pas de test)

peut-être que ton erreur est dûe au fait que l'exemple de ta 3e ligne, le 3e "_" n'est pas précédé d'espace.

PCPT
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
11 août 2005 à 10:17
Un peu alambiqué mais pourquoi pas :

if Linecontinuesonnextline(sline) = true then
sline = rtrim(mid(sline,1, len(rtrim(sline))-1))
end if

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0

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

Posez votre question
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
11 août 2005 à 11:21
Loup28 -> Linecontinuesonnextline() devrait retourner False pour la première ligne de ton exemple

PCPT
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
11 août 2005 à 12:05
valide-toi si tu veux, mais au moins met ta solution finale pour les autres lecteurs
PCPT
0
Rejoignez-nous