Ce code supprime tout les espaces d'une chaine, saufe ceux entre deux '.
Par exemple :
>>Ma phrase à tester 'on ne supprime plus les espaces' et on les resupprime<<
donne :
>>Maphraseàtester'on ne supprime plus les espaces'etonlesresupprime<<
Pratique pour qui veut écrire un compilateur ou un interpréteur. C'est ma première source, donc c'est assez basique, je sais !
Note : ce code n'utilise pas l'instruction replace, en hommage au utilisateur de vb5 !
Source / Exemple :
'// On apelle la fonction avec :
'// ChaineFinale = DeleteSpace(ChaineDeDepart)
Function DeleteSpace(MaChaine As String) As String
Dim NextSpace
Dim BeginAt
Dim nbrG
Dim NextG
Dim LastG
Dim TestPair
Dim TestPair2
BeginAt = 1
LastG = 1
'// Boucle :
begin:
nbrG = 0
LastG = 1
'// On recherche l'espace :
NextSpace = InStr(BeginAt, MaChaine, " ")
If NextSpace = 0 Then Goto ChaineModifie
BeginAt = NextSpace + 1
'// On recherche le nombre total de ' avant l'espace :
'// Si le nombre est impair (sauf 0), on ne supprime pas l'espace, sinon on le
'//supprime :
nextgFind:
NextG = InStr(LastG, MaChaine, "'")
If NextG = 0 Then
GoTo PhaseSuivante
Else
LastG = NextG
nbrG = nbrG + 1
GoTo nextGFind
End if
PhaseSuivante:
'// On suprime l'espace si le nombre est pair ou = à 0 :
If nbrG = 0 Then Goto DeletActual
TestPair = nbrG / 2
TestPair2 = Int(TestPair)
If TestPair = TestPair2 Then
DeletActual:
MaChaine = Left(MaChaine, Nextpace - 1) & Right(MaChaine, Len(MaChaine) - NextSpace)
End If
'// On Recommence :
Goto begin
'// Une fois la fonction terminée :
ChaineModifie:
DeleteSpace = MaChaine
End Function
Conclusion :
--- Oulàla ! il y avait une errure sur cette source ! La voici corrigée ! ---
Je ne crois pas qu'il n'y ai de bugs sur cette source (à moins d'un problème dans le recopiage). Néamoins, vous pouvez m'envoyez vos commentaires à : scalpweb@hotmail.com.
Merci. @+ et bonne prog !
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.