VBEnJ0Y
Messages postés25Date d'inscriptionsamedi 11 mars 2006StatutMembreDernière intervention 5 octobre 2006
-
3 avril 2006 à 19:34
VBEnJ0Y
Messages postés25Date d'inscriptionsamedi 11 mars 2006StatutMembreDernière intervention 5 octobre 2006
-
5 avril 2006 à 20:08
Salut à tous,
Ceci n'est pas une question mais un post pour faire profiter tous ceux qui voudraient supprimer du texte avant, après, ou des deux côtés d'une chaîne de caractère, tout en choisissant le texte à supprimer (ce que ne permet pas la fonction 'Trim' de VB6).
'Par exemple : LTrimStr("###Hello world !##", "#") --> "Hello world !##"
RTrimStr("###Hello world !##", "#") --> "###Hello world !"
TrimStr("###Hello world !##", "#") --> "Hello world !"
Ceci peut servir par exemple pour se débarasser des Chr$(0) que l'on peut rencontrer en manipulant des Strings avec les API. Assez parlé, voici mes fonctions
Public Function LTrimStr(Src As String, Optional ByVal Trim As String = " ")
Dim lStart As Long, Step As Long Step IIf(Len(Trim) 0, 1, Len(Trim))
lStart = 1
Do While lStart < Len(Src)
If Mid$(Src, lStart, Step) <> Trim Then Exit Do
lStart = lStart + Step
Loop
Let LTrimStr = Mid$(Src, lStart)
End Function
Public Function RTrimStr(Src As String, Optional ByVal Trim As String = " ")
Dim lEnd As Long, Step As Long Step IIf(Len(Trim) 0, 1, Len(Trim))
lEnd = Len(Src) + 1
Do While lEnd > 1
If Mid$(Src, lEnd - Step, Step) <> Trim Then Exit Do
lEnd = lEnd - Step
Loop
Let RTrimStr = Mid$(Src, 1, lEnd - 1)
End Function
Public Function TrimStr(Src As String, Optional ByVal Trim As String = " ")
Dim lStart As Long, lEnd As Long, Step As Long Step IIf(Len(Trim) 0, 1, Len(Trim))
lStart = 1
Do While lStart < Len(Src)
If Mid$(Src, lStart, Step) <> Trim Then Exit Do
lStart = lStart + Step
Loop
lEnd = Len(Src) + 1
Do While lEnd > lStart
If Mid$(Src, lEnd - Step, Step) <> Trim Then Exit Do
lEnd = lEnd - Step
Loop
Let TrimStr = Mid$(Src, lStart, lEnd - lStart)
End Function
Voilà, si ça peut faire gagner du temps à quelqu'un...
VBEnJ0Y
Messages postés25Date d'inscriptionsamedi 11 mars 2006StatutMembreDernière intervention 5 octobre 2006 5 avril 2006 à 20:08
Finallement, utilisez plutôt les fonctions déposées sur www.codyx.org car celles écrites ci-dessus ne sont pas optimisées, et j'avais même oublié de définir le type de la variable renvoyée (String)
Un grand merci à Renfield qui a rectifié les quelques choses qui n'allaient pas et a mis à jour la page sur www.codyx.org
mcs2006
Messages postés58Date d'inscriptiondimanche 19 mars 2006StatutMembreDernière intervention 1 mai 2006 3 avril 2006 à 20:54
Heu, c'est plutôt pas mal tes fonctions.
Mais, puisque c'est du VB6, connais-tu les fonctions Replace et Split ?
Je pense que ça t'aurait facilité les choses.
VBEnJ0Y
Messages postés25Date d'inscriptionsamedi 11 mars 2006StatutMembreDernière intervention 5 octobre 2006 3 avril 2006 à 22:00
Merci à vous deux pour les réponses, c'est cool
Nix -> Oui, c'est vrai que je n'avais pas pensé les publier sur Codyx, merci pour l'info Nix, je vais regarder ça...
Au passage, merci pour tout ce que tu mets à notre disposition et qui nous fait avancer
mcs2006 -> J'utilise surtout 'Replace', mais j'ai du utiliser 'Split' une ou deux fois. N'hésites pas à retaper le code, ça ne peut pas nuire