Mettre un mot d'une phrase ds une variable

kidpigeyre Messages postés 96 Date d'inscription mardi 3 juillet 2001 Statut Membre Dernière intervention 2 novembre 2006 - 6 août 2002 à 21:34
TeKiT Messages postés 39 Date d'inscription jeudi 26 octobre 2000 Statut Membre Dernière intervention 9 août 2002 - 7 août 2002 à 19:03
c un peu plus compliqué que ça ne le paraît :

voici la phrase :

:<nick>!~<host> JOIN :<channel>

jémerai mettre le JOIN ds la variable chaine en sachant que <nick> <host> et <channel> sont déjà des variables qui peuvent varier de nb de caractères dc on ne peut utiliser lé fct mid right et left.

Mci de votre aide

PS: On trouve l'équivalent en irc avec $x ou x désigne le xième mot de la phrase.

5 réponses

Neo.balastik Messages postés 796 Date d'inscription jeudi 17 mai 2001 Statut Membre Dernière intervention 5 mai 2009 7
7 août 2002 à 09:19
Salut,

voici un bout de code que peut te servir.
Celui ne peut fonctionner correctement que si les caractères > et < sont présents et ont tjs le même ordre.

Dim StrToSearch As String
Dim StrLen As Long
Dim I As Long
Dim Counter As Long
Dim Offset1 As Long
Dim Offset2 As Long
Dim Str1 As String
Dim Str2 As String
Dim NewStr As String

StrToSearch = ":<nick>!~<host> JOIN :<channel>"
StrLen = Len(StrToSearch)

For I = 1 To StrLen If Mid$(StrToSearch, I, 1) ">" Then Counter Counter + 1 If Counter 2 Then Offset1 I: Exit For
Next I

For I = StrLen To 1 Step -1 If Mid$(StrToSearch, I, 1) ":" Then Offset2 I: Exit For
Next I

Str1 = Left$(StrToSearch, Offset1)
Str2 = Mid$(StrToSearch, Offset2)

NewStr = Str1 & " Nouveau terme " & Str2
MsgBox NewStr

Y'a certainement plus simple... J'ai fait cela en 4e vitesse.

Bonne chance.

Tchao

NéoB
0
TeKiT Messages postés 39 Date d'inscription jeudi 26 octobre 2000 Statut Membre Dernière intervention 9 août 2002
7 août 2002 à 16:08
Si tu n'as pas besoin de réutiliser une fonction qui cherche la position d'un mot dans une phrase voilà un truc simpliste

const chaine = ":TeKiT!~blablabla JOIN :Le prétoire de dieu"
Dim Resultat
Resultat=Mid(chaine,InStr(chaine,"JOIN :")+6)

---------------
Un optimiste, c'est un homme qui plante deux glands ......... et qui s'achète un hamac.
0
kidpigeyre Messages postés 96 Date d'inscription mardi 3 juillet 2001 Statut Membre Dernière intervention 2 novembre 2006
7 août 2002 à 17:20
ce n'est q'un bout du pb. jmerai que une fois qu'il é repéré le "JOIN", qu'il enregistre le nick qu'il y a au début ds la variable pseudo.

la phrase que je reçois peut très bien avoir un pseudo comme kidpigeyre (long) ou alors comme cati(court), <nick> est une variable que je ne peut controler pour connaitre la taille car je reçois l'ensemble de la phrase et pas variable par variable.

mci.
0
petitstagiaire Messages postés 73 Date d'inscription mardi 23 juillet 2002 Statut Membre Dernière intervention 10 juillet 2003
7 août 2002 à 18:05
je suis pas sur d'avoir tout compris mais essaie ça :

Const chaine = ":Prout!~caca JOIN :chaude pisse"
Dim Resultat
Resultat = Mid(chaine, InStr(1, chaine, ":") + 1, InStr(InStr(1, chaine, ":"), chaine, "!~") - 2)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
TeKiT Messages postés 39 Date d'inscription jeudi 26 octobre 2000 Statut Membre Dernière intervention 9 août 2002
7 août 2002 à 19:03
Ou pour faire plus rapide (utilisation du Left)
tmp=Instr(chaine,"!")
Resultat=Left(chaine,tmp)
Resultat=Right(Resultat,len(Resultat)-1)

La derniere ligne permettant de dégager les : mis devant le nick .... par contre un nick ne peut contenir de ! ou de JOIN:

!!!!!!!!!!!!!!!
---
Un optimiste, c'est un homme qui plante deux glands ......... et qui s'achète un hamac.
0
Rejoignez-nous