il en manque un, bon c'est juste histoire d'écrire plus proprement le code
voilà

Le mien fait environ 8500 lignes dont environ 4000 lignes de codes pour faire des tests sur mon prog, ces 4000 lignes sont en commentaire.erix14 a écrit :Merci Denis de t'occuper de ce problème, il m'est arrivé la même chose sur un fichier de grande taille, mais je ne sais pas si c'est dû à la taille...
La nouvelle version progresse maintenant on peut fermer les fichiers...
Merci le Soldat Inconnu pour ta remarque, je viens de faire la correction. Un code propre et plus compréhensible...
a+
Code : Tout sélectionner
CopyMemoryString("\line ") : LigneRTF + 1
While *Texte\b <= 32 : *Texte + 1 : Wend
If CompareMemoryString(*Texte, "v_", 1, 2) = 0 : Variable = #True : EndIf
Continue
EndIf
If c = '\' Or c = '{' Or c = '}'
CopyMemoryString("\" + Chr(c))
Code : Tout sélectionner
CopyMemoryString("\line ") : LigneRTF + 1
While (*Texte\b <= 32 And *Texte\b)
*Texte + 1
Wend
If CompareMemoryString(*Texte, "v_", 1, 2) = 0
Variable = #True
EndIf
Continue
EndIf
If c = '\' Or c = '{' Or c = '}'
CopyMemoryString("\" + Chr(c))
Code : Tout sélectionner
If c = 10 Or c = 13
If Commentaire = #True
If ListeSignet
ListeSignet = #False
ListeSLV()\Ligne = LigneRTF
ListeSLV()\Index = IndexRTF
ListeSLV()\type = 1
EndIf
CopyMemoryString("\line ") : LigneRTF + 1 : Commentaire = #False
While *Texte\b <= 32 : *Texte + 1 : Wend
Continue
EndIf
En fait, je parlais de ma lib qui contient des fonctions de coloration syntaxique. Et c'est celle ci que j'essaie d'améliorer en utilisant les tampons mais je n'y comprends que dalle !erix14 a écrit :Ne perds pas ton temps à l'améliorer, car cette utilitaire est pratiquement finie.
j'aurais déjà dû le diffuserProgi1984 a écrit :Tu penses le diffuser quand ?
À chaque fois qu'il y a un changement dans le RichEdit (#EN_CHANGE) je récupère la ligne en cours et je m'en sers pour coloriser les mots qu'il faut :Et comment fais tu ta coloration syntaxique en temps réel ?
Code : Tout sélectionner
SendMessage_(Editeur()\Handle, #EM_SETSEL, Debut, Fin)
format\crTextColor = CouleurRegistre
SendMessage_(Editeur()\Handle, #EM_SETCHARFORMAT, #SCF_SELECTION, @format)
Code : Tout sélectionner
SendMessage_(Editeur()\Handle, #EM_HIDESELECTION, 1,0)
Code : Tout sélectionner
SendMessage_(Editeur()\Handle, #EM_HIDESELECTION, 0,0)
Code : Tout sélectionner
SendMessage_(Editeur()\Handle, #EM_SETOPTIONS, #ECOOP_XOR, #ECO_AUTOHSCROLL)
Code : Tout sélectionner
SendMessage_(Editeur()\Handle, #EM_SETOPTIONS, #ECOOP_OR, #ECO_AUTOHSCROLL)