Page 1 sur 2

fonction text

Publié : jeu. 08/déc./2005 13:49
par gadjet35
existe-il une fonction qui renvoie les caractères qui sont entre d'autre ?
chaine$ = "bonjour"

Code : Tout sélectionner

1caractère$ = "j"
2caractère$ = "r"
a = <ma fonction>(chaine$,1caractère$,2caractère$)
a me renvoie "ou"
:D

Publié : jeu. 08/déc./2005 13:55
par Chris
Les fonctions Mid(), Left(), Right(), FindString().

Regarde dans l'aide.

Publié : jeu. 08/déc./2005 13:58
par gadjet35
oui cela je les connaits mais ce n'est pas tout à fait ma question
tan pis sa n'existe surement pas ! :cry:

Publié : jeu. 08/déc./2005 13:59
par Progi1984
Nopn, mais ca peut se faire simplement !

Publié : jeu. 08/déc./2005 14:06
par Chris
gadjet35 a écrit :oui cela je les connaits mais ce n'est pas tout à fait ma question
tan pis sa n'existe surement pas ! :cry:
Alors essaie d'expliquer ce que tu veux plus précisément, parce que là, c'est pas très clair comme question :)

Publié : jeu. 08/déc./2005 14:06
par gadjet35
oui mais bon ma fonction n'existe pas dommage !

Publié : jeu. 08/déc./2005 14:46
par Dr. Dri
Chris a écrit :
gadjet35 a écrit :oui cela je les connaits mais ce n'est pas tout à fait ma question
tan pis sa n'existe surement pas ! :cry:
Alors essaie d'expliquer ce que tu veux plus précisément, parce que là, c'est pas très clair comme question :)
pour une fois j'ai très bien compris ce qu'il veut lol
t'as pas fait assez gaffe en lisant (c'est plutot clair pour une fois ^^)

je vais essayer de proposer une solution simple...

Dri ;)

Publié : jeu. 08/déc./2005 14:56
par Chris
Dr. Dri a écrit :
Chris a écrit :
gadjet35 a écrit :oui cela je les connaits mais ce n'est pas tout à fait ma question
tan pis sa n'existe surement pas ! :cry:
Alors essaie d'expliquer ce que tu veux plus précisément, parce que là, c'est pas très clair comme question :)
pour une fois j'ai très bien compris ce qu'il veut lol
t'as pas fait assez gaffe en lisant (c'est plutot clair pour une fois ^^)

je vais essayer de proposer une solution simple...

Dri ;)
Ben t'as bien de la chance, moi, j'ai rien compris :oops:

Publié : jeu. 08/déc./2005 14:56
par AWEAR
Voilà si j'ai bien compris c'est ca que tu veux :

Code : Tout sélectionner

x$ = "bonjour"
Repeat
x + 1
Until Mid(x$, x, 1) = "j"
y = x
Repeat
y + 1
Until Mid(x$, y, 1) = "r"
resultat$ = Mid(x$, x + 1, y-(x + 1))
Debug resultat$

Publié : jeu. 08/déc./2005 14:58
par Dr. Dri

Code : Tout sélectionner

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

Debug Between("bonjour", "j", "r")
Dri ;)

Publié : jeu. 08/déc./2005 15:14
par Chris
T'as raison, c'était simple! :roll:

Publié : jeu. 08/déc./2005 15:29
par gadjet35
ah oui c'était simple ! :D
merci :)

Publié : jeu. 08/déc./2005 15:35
par Chris
D'ailleurs, je trouve que cette fonction aurait sa place dans les fonctions natives de PureBasic v4.0.

Vous en pensez quoi ?

Publié : jeu. 08/déc./2005 15:39
par AWEAR
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"

Publié : jeu. 08/déc./2005 15:42
par Dr. Dri
je suis d'accord ^^
la lib String est vraiment trop pauvre en fonctions et celle ci est aussi simple que pratique ^^

Dri :)

PS. et pis optimisée par Fred elle sera encore meilleure