De l'ail, ca repousse les vampire. Mais quand on a mal, on dit "aie"dayvid a écrit :Pardon je n'est pas compris ?
Interpreteur
Re: Interpreteur
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Re: Interpreteur
Ah oui lol, pas fait expres
Bon sinon que fait t-on SPH ?

Bon sinon que fait t-on SPH ?
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !
Mon forum http://purebasic.forumphp3.com/index.php
Mon forum http://purebasic.forumphp3.com/index.php
Re: Interpreteur
On ! Peut etre que TU devrais deja nous proposer une synthese de tout ce que tu as fait, non ?dayvid a écrit :Bon sinon que fait t-on SPH ?
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Re: Interpreteur
Par exemple, tu nous poste le bout "principal" de ton code, et tu nous démontre un peu comment il fonctionne. 

Re: Interpreteur
Ouais cool, sa marche, je vais vous faire sa, je vais travailler petit a petit, pour le momment je me suis pencher yier sur un problème
comment reperer un mot clée avec des espace:
Ici il sagie en faite de capturer le mot clée "Définir Ma Variable"
Oui mais pas n'importe comment car il faut bien que les mots soit correcte car par exemple:
"D é f i n i r M a V a r i a b l e" ne marchera pas
"D éfinir Ma Variable" non plus
" Définir Ma Variable [abc] Comme Vide " ici marche et capturera juste le mot clée "Définir Ma Variable"
Que penssez vous de ceci, c'est pas mal déja pour un début
comment reperer un mot clée avec des espace:
Code : Tout sélectionner
Procedure.s EnleverlesAccents(Chaine$)
Chaine$ = ReplaceString(Chaine$, "Œ", "OE")
Chaine$ = ReplaceString(Chaine$, "æ", "ae")
Chaine$ = ReplaceString(Chaine$, "œ", "oe")
Chaine$ = ReplaceString(Chaine$, "µ", "u")
Chaine$ = ReplaceString(Chaine$, "Ÿ", "Y")
Chaine$ = ReplaceString(Chaine$, "À", "A")
Chaine$ = ReplaceString(Chaine$, "Á", "A")
Chaine$ = ReplaceString(Chaine$, "Â", "A")
Chaine$ = ReplaceString(Chaine$, "Ã", "A")
Chaine$ = ReplaceString(Chaine$, "Ä", "A")
Chaine$ = ReplaceString(Chaine$, "Å", "A")
Chaine$ = ReplaceString(Chaine$, "Æ", "AE")
Chaine$ = ReplaceString(Chaine$, "Ç", "C")
Chaine$ = ReplaceString(Chaine$, "È", "E")
Chaine$ = ReplaceString(Chaine$, "É", "E")
Chaine$ = ReplaceString(Chaine$, "Ê", "E")
Chaine$ = ReplaceString(Chaine$, "Ë", "E")
Chaine$ = ReplaceString(Chaine$, "Ì", "I")
Chaine$ = ReplaceString(Chaine$, "Í", "I")
Chaine$ = ReplaceString(Chaine$, "Î", "I")
Chaine$ = ReplaceString(Chaine$, "Ï", "I")
Chaine$ = ReplaceString(Chaine$, "Ò", "O")
Chaine$ = ReplaceString(Chaine$, "Ó", "O")
Chaine$ = ReplaceString(Chaine$, "Ô", "O")
Chaine$ = ReplaceString(Chaine$, "Ö", "O")
Chaine$ = ReplaceString(Chaine$, "Ù", "U")
Chaine$ = ReplaceString(Chaine$, "Ú", "U")
Chaine$ = ReplaceString(Chaine$, "Û", "U")
Chaine$ = ReplaceString(Chaine$, "Ü", "U")
Chaine$ = ReplaceString(Chaine$, "Ý", "Y")
Chaine$ = ReplaceString(Chaine$, "Þ", "P")
Chaine$ = ReplaceString(Chaine$, "ß", "B")
Chaine$ = ReplaceString(Chaine$, "à", "a")
Chaine$ = ReplaceString(Chaine$, "á", "a")
Chaine$ = ReplaceString(Chaine$, "â", "a")
Chaine$ = ReplaceString(Chaine$, "ä", "a")
Chaine$ = ReplaceString(Chaine$, "å", "a")
Chaine$ = ReplaceString(Chaine$, "ç", "c")
Chaine$ = ReplaceString(Chaine$, "è", "e")
Chaine$ = ReplaceString(Chaine$, "é", "e")
Chaine$ = ReplaceString(Chaine$, "ê", "e")
Chaine$ = ReplaceString(Chaine$, "ë", "e")
Chaine$ = ReplaceString(Chaine$, "ì", "i")
Chaine$ = ReplaceString(Chaine$, "í", "i")
Chaine$ = ReplaceString(Chaine$, "î", "i")
Chaine$ = ReplaceString(Chaine$, "ï", "i")
Chaine$ = ReplaceString(Chaine$, "ò", "o")
Chaine$ = ReplaceString(Chaine$, "ó", "o")
Chaine$ = ReplaceString(Chaine$, "ô", "o")
Chaine$ = ReplaceString(Chaine$, "ö", "o")
Chaine$ = ReplaceString(Chaine$, "ù", "u")
Chaine$ = ReplaceString(Chaine$, "ú", "u")
Chaine$ = ReplaceString(Chaine$, "û", "u")
Chaine$ = ReplaceString(Chaine$, "ü", "u")
Chaine$ = ReplaceString(Chaine$, "ý", "y")
Chaine$ = ReplaceString(Chaine$, "þ", "p")
Chaine$ = ReplaceString(Chaine$, "ÿ", "y")
ProcedureReturn Chaine$
EndProcedure
Ligne_de_code$ = " Définir Ma Variable [ La vache ] Comme Nombre Qui Est = à { 150 } "
For Position_depart = 1 To Len(Ligne_de_code$)
Caractere$ = Mid(Ligne_de_code$, Position_depart, 1)
Valeur_ASCII = Asc(Caractere$)
Select Valeur_ASCII
Case 0 To 32
; on igniore le caractère
Default
; on prend en compte tous les caractères qui vont suivre jusqu'à une tabulation ou un espace
Repeat
Caractere$ = Mid(Ligne_de_code$, Position_depart, 1)
Valeur_ASCII = Asc(Caractere$)
Select Valeur_ASCII
Case 0 To 32
; on igniore le caractère
Default
Mot$ + Caractere$
EndSelect
Position_depart + 1
Until Caractere$ = Chr(9) Or Caractere$ = Chr(32) Or Caractere$ = "" ; tabulation ou espace ou rien
Mot_clee$ + Mot$
Mot$ = ""
EndSelect
Mot_clee$ = EnleverlesAccents(Mot_clee$)
Mot_clee$ = LCase(Mot_clee$)
If Mot_clee$ = "definirmavariable"
Debug Mot_clee$
Break
EndIf
Next
Oui mais pas n'importe comment car il faut bien que les mots soit correcte car par exemple:
"D é f i n i r M a V a r i a b l e" ne marchera pas
"D éfinir Ma Variable" non plus
" Définir Ma Variable [abc] Comme Vide " ici marche et capturera juste le mot clée "Définir Ma Variable"
Que penssez vous de ceci, c'est pas mal déja pour un début

La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !
Mon forum http://purebasic.forumphp3.com/index.php
Mon forum http://purebasic.forumphp3.com/index.php
Re: Interpreteur
On va dire que c'est ok, bien qu'on pourrait forcer le programmeur a le pas faire d'erreurs.
Donc, on arrive a definir l'instruction.
Mais suppose que tu veuilles faire a$="épée". Tu te retrouves pour l'instant à a$="epee" non ?
Continuons.
Donc, on arrive a definir l'instruction.
Mais suppose que tu veuilles faire a$="épée". Tu te retrouves pour l'instant à a$="epee" non ?
Continuons.

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Re: Interpreteur
Déja sa c'est faut xce que tu fait, regarde mon éxemple pour voir de quoi je parle sur les variable mon cher amis
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !
Mon forum http://purebasic.forumphp3.com/index.php
Mon forum http://purebasic.forumphp3.com/index.php
Re: Interpreteur
OK. Ensuitedayvid a écrit :Déja sa c'est faut xce que tu fait, regarde mon éxemple pour voir de quoi je parle sur les variable mon cher amis

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Re: Interpreteur
Il faudrait que EnlevenLesAccents(Ou quelque chose du genre) ne touche pas aux chaînes.
Re: Interpreteur
Tu veut dire ne la modifie pas c'est ça ?
Pourquoi dit-moi, en quoi c'est génant
Dit moi ce que tu veut que je face
Aller, dit moi tous mon ami, je suis tout'oui
Pourquoi dit-moi, en quoi c'est génant

Dit moi ce que tu veut que je face
Aller, dit moi tous mon ami, je suis tout'oui

La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !
Mon forum http://purebasic.forumphp3.com/index.php
Mon forum http://purebasic.forumphp3.com/index.php
Re: Interpreteur
On veux que tu reussisses a faire une instruction comme a$="chaine" et on te montrera ou il y aura une erreur 

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Re: Interpreteur
Mais pour quoi faire puisque c'est pas ce que je veut faire moi
Moi je veut faire:
Défiri Ma Variable [ une variable ] Comme *
* Vide, Texte, Nombre
Puis:
Ma Variable [ une variable ] est = à *
* {"une chaine"} ou {100}
Vous avez pas lus ou quoi ?!
Moi je veut faire:
Défiri Ma Variable [ une variable ] Comme *
* Vide, Texte, Nombre
Puis:
Ma Variable [ une variable ] est = à *
* {"une chaine"} ou {100}
Vous avez pas lus ou quoi ?!

La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !
Mon forum http://purebasic.forumphp3.com/index.php
Mon forum http://purebasic.forumphp3.com/index.php
Re: Interpreteur
Tu veux faire :dayvid a écrit :Mais pour quoi faire puisque c'est pas ce que je veut faire moi
Moi je veut faire:
Défiri Ma Variable [ une variable ] Comme *
* Vide, Texte, Nombre
Puis:
Ma Variable [ une variable ] est = à *
* {"une chaine"} ou {100}
Vous avez pas lus ou quoi ?!
a.l
b.s
?
Ok ok, commencons par ca.
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Re: Interpreteur
J'ai pas trop suivi mais m'entrainant aux "expressions régulières", je me dit que cela doit correspondre à ce que j'ai lu plus haut.
Pour l'exemple de "définir ma variable"
Tu peux trouver combien de fois cette expression a été utilisée dans un texte, et cela même si elle est écrit une fois
en majuscule, une fois sans accent, une fois avec des espaces en trop...
Du code vaut mieux qu'un long discours. Cette exemple ne s'applique que pour cette suite de mot "Définir ma variable"
Lancez le avec le debug
Pour l'exemple de "définir ma variable"
Tu peux trouver combien de fois cette expression a été utilisée dans un texte, et cela même si elle est écrit une fois
en majuscule, une fois sans accent, une fois avec des espaces en trop...
Du code vaut mieux qu'un long discours. Cette exemple ne s'applique que pour cette suite de mot "Définir ma variable"
Lancez le avec le debug
Code : Tout sélectionner
; Exemple d'extraction de mots avec tolérance
; utilisant les expressions régulières
; Par Ar-S / janvier 2010 - P.B 4.51
; Texte exemple contenant "Définir Ma Variable" marqué 3 fois de façon différentes (accent, espace, majuscule..)
t$="Définir Ma Variable est une expression qui Definir Mes Variables en poussant le vice de mettre des espaces pour D é f i n i r M a V a r i a b l e et la"
t$+"même sans accent avec des espaces inégaux : d e f i n i r m a Va riabl e."
;-////////////////////////////////////////////////////////////////////////////////////////
; Cette expression permet de chercher la suite de mot :" Définir Ma Variable "
; la suite peut être trouvée avec ou sans majuscule ou accent.
; même si l'espacement diffère entre les lettres, ça marche ^^.
expr$="[Dd][ ]*[EÉée][ ]?([a-zA-Z][ ]*){5}[ ]*[mM][ ]*a[ ]*[Vv][ ]*([a-zA-Z][ ]*){7}" ; formule magique by Ar-S ;) /
;-////////////////////////////////////////////////////////////////////////////////////////
Dim result$(0)
If CreateRegularExpression(0,expr$)
NbrMots = ExtractRegularExpression(0, t$ , result$()) ;Compte les resultat et les place dans result()
If NbrMots>0
message$="'Définir Ma Variable' a été trouvé "+ Str(NbrMots) +" fois."
Resultat$+message$
Debug message$
Debug " "
For k = 0 To NbrMots-1
Terme$=result$(k)
Debug "Terme "+Str(k+1)+" : "+Terme$
Next
Else
message$= "Aucun lien n'a été trouvé :'( "
Debug message$
EndIf
Else
Debug RegularExpressionError()
EndIf
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: Interpreteur
Haaaa, je ne connaissais pas CreateRegularExpression(0,expr$) 

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits