J'ai crée une fonction pour inversser une chaine entière mais sans pour autent inversser les caractères (les mot)
Code : Tout sélectionner
; crée par monsieur Dieppedalle David en avril 2011
Chaine$ = " Abc Def Ghi, abc def ghi, ABC DEF GHI "
Procedure.s InversserChaine(Chaine$)
PositionExtraction = 0
Espace = 0
; je vais inversser la position de chaque caractère dans la Chaine$
; Je prends tout les caractères dans l'ordre a partire de la fin de la Chaine$
; exemple: [ abc def ghi jkl ]
; donnera: [ jkl ghi def abc ]
ChaineInversser$ = ReverseString(Chaine$)
Repeat
PositionExtraction + 1
caractere$ = Mid(ChaineInversser$, PositionExtraction, 1)
If caractere$ = " " And Mot$ = ""
Espace + 1 ; ont enregistre le nombre d'éspace
ElseIf caractere$ > "" And caractere$ <> " "
Mot$ = Mot$ + caractere$ ; ont enregistre le caractère
ElseIf caractere$ = " " And Mot$ > " "
PositionExtraction - 1
Phrase$ + Space(Espace) + ReverseString(Mot$)
Espace = 0
Mot$ = ""
ElseIf caractere$ = "" And Espace > 0
Phrase$ + Space(Espace)
ElseIf caractere$ = "" And Mot$ = ""
Break ; ont quitte la boucle car ya rien
EndIf
Until caractere$ = ""
ProcedureReturn Phrase$
EndProcedure
Debug InversserChaine(Chaine$)