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"

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 !

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 !

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 !

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 !

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

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!

Publié : jeu. 08/déc./2005 15:29
par gadjet35
ah oui c'était simple !
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