Grand amateur de StringField, que je met a toutes les sauces. Il me manque une fonction pour changer un texte entre deux délimiteurs.
Voici donc une procedure qui réalise ceci.
Code : Tout sélectionner
Procedure.s ChangeStringField(chaine$,Index,Delimiteur$,texte$)
nbd.w = 0 : lenG = 0 : lenD = 0
If chaine$ <> ""
For i.w = 1 To Len(chaine$)
If Mid(chaine$,i,1) = Delimiteur$
nbd = nbd + 1
If nbd = index -1
lenG = i
EndIf
If nbd = Index
lenDd = i
EndIf
lenD = i - lenDd
EndIf
Next
If nbd => Index ;vérif qu'il y a bien le nombre de délimiteur nécéssaire pour l'appel de la fonction
ProcedureReturn Left(chaine$,lenG) + texte$ + Right(chaine$,lenD+1)
EndIf
EndIf
EndProcedure
chaine$ = "Super *belle *cette *fille*"
Debug chaine$
a$ = StringField(chaine$,1,"*") + StringField(chaine$,2,"*")+StringField(chaine$,3,"*")+StringField(chaine$,4,"*")
Debug a$
chaine$ = ChangeStringField(chaine$,2,"*","moche ")
Debug chaine$
b$ = StringField(chaine$,1,"*") + StringField(chaine$,2,"*")+StringField(chaine$,3,"*")+StringField(chaine$,4,"*")
Debug b$
Fred STP quelque chose commececi dans la prochaine mouture de PB