Page 2 sur 2

Publié : jeu. 08/déc./2005 15:43
par Dr. Dri
AWEAR a écrit :Je ne suis pas sur que ce soit une fontion indispensable, mais pourquoi pas..
Mais que devrait-elle renvoyer si on lui donne la chaîne "bonbjouronjour" avec comme paramètres "b" et "r" ( ok c'est bizar comme exemple, mais bon ) ?
- "onbjouronjou"
- "onbjou"
- "jou"
- "jouronjou"
On peut tres bien gérer ce comportement avec des parametres facultatifs!!
je vais coder un exemple ;)

Dri

Publié : jeu. 08/déc./2005 15:46
par Chris
AWEAR a écrit :Je ne suis pas sur que ce soit une fontion indispensable, mais pourquoi pas..
Mais que devrait-elle renvoyer si on lui donne la chaîne "bonbjouronjour" avec comme paramètres "b" et "r" ( ok c'est bizar comme exemple, mais bon ) ?
- "onbjouronjou"
- "onbjou"
- "jou"
- "jouronjou"
Dans ce cas, n'importe quelle fonction de PureBasic peut être prise en défaut, pour peu qu'on veuille s'en donner la peine.

Dans ce cas, la fonction doit retourner la première occurence de la chaine.
Il est aussi possible de lui fournir un paramètre qui spécifie à partir de quel caractère elle doit chercher.

Publié : jeu. 08/déc./2005 15:51
par Dr. Dri

Code : Tout sélectionner

Procedure.s Between2(String.s, LString.s, RString.s, LIndex.l, RIndex.l)
  Protected Between.s
  
  LIndex = FindString(String, LString, LIndex)
  RIndex = FindString(String, RString, RIndex)
  
  If LIndex And RIndex
    LIndex  + Len(LString)
    Between = Mid(String, LIndex, RIndex-LIndex)
  EndIf
  
  ProcedureReturn Between
EndProcedure

Procedure.s Between(String.s, LString.s, RString.s)
  ProcedureReturn Between2(String, LString, RString, 0, 0)
EndProcedure

Debug Between ("bonbjouronjour", "b", "r")
Debug Between2("bonbjouronjour", "b", "r", 0, 10)
Debug Between2("bonbjouronjour", "b", "r", 2,  0)
Debug Between2("bonbjouronjour", "b", "r", 2, 10)
Dri ;)