Scintilla Recherche/selection/remplacement
Publié : ven. 23/août/2013 1:26
@falsam
je suis tombé par hasard sur ta procedure de recherche/selection
de scintilla , qui fonctionne tres bien
mais .... pas avec les accents .. si le mot recherché contient un accent, la selection foire ....
je parle de cette procedure :
que j'ai legerement modifier pour qu'elle fonctionne un premier coup avec un bouton [rechercher] ->> mode 0
ou mode suivant (F3) ->>mode <>0
je l'ai aussi passer en mode "GoScintilla" une lib de Srod , que j'utilise depuis que j'ai commencé EPB
(j'ai juste mis "Id" ) car GoScintilla utilise le numero de l'editeur (et EBP le numero de l'onglet qui est aussi le numero de l'editeur contenu)
d'ailleurs dans l'ideal , je recherche une procedure qui
sélectionne le terme a recherché (bon ça .. ça va mis a part les accent )
et aussi qu'on puisse avoir la possibilité de ne pas sélectionner les termes en Rem (;)
j'ai deja fait tout ce boulot, mais ma procedure ne marche plus si des accents sont present !
comme j'utilise en grande partie GoScintilla , je me rends compte que l'utilisation conjointe
de Scintilla et des fonctions String de Purebasic ne donne pas un résultat probant ...
je vais finir par virer par traitement tout les accent présent dans l'editeur !
je suis tombé par hasard sur ta procedure de recherche/selection
de scintilla , qui fonctionne tres bien
mais .... pas avec les accents .. si le mot recherché contient un accent, la selection foire ....
je parle de cette procedure :
que j'ai legerement modifier pour qu'elle fonctionne un premier coup avec un bouton [rechercher] ->> mode 0
ou mode suivant (F3) ->>mode <>0
je l'ai aussi passer en mode "GoScintilla" une lib de Srod , que j'utilise depuis que j'ai commencé EPB

(j'ai juste mis "Id" ) car GoScintilla utilise le numero de l'editeur (et EBP le numero de l'onglet qui est aussi le numero de l'editeur contenu)
Code : Tout sélectionner
ProcedureDLL GOSCI_Search2(id,StringFind.s,mode)
;falsam
Protected Current.l, Start.l, Anchor.l
If StringFind <> ""
Current = ScintillaSendMessage(id, #SCI_GETCURRENTPOS)
If mode=0; recherche premier
Current =1
EndIf
ScintillaSendMessage(id, #SCI_SETANCHOR, Current)
ScintillaSendMessage(id, #SCI_SEARCHANCHOR)
Start = ScintillaSendMessage(id, #SCI_SEARCHNEXT, 0, @StringFind)
If Start<> -1
Anchor = ScintillaSendMessage(id, #SCI_GETANCHOR)
ScintillaSendMessage(id, #SCI_SETSEL, Start, Anchor)
Else
;MessageRequester("Find string", "No more matching")
EndIf
EndIf
EndProcedure
d'ailleurs dans l'ideal , je recherche une procedure qui
sélectionne le terme a recherché (bon ça .. ça va mis a part les accent )
et aussi qu'on puisse avoir la possibilité de ne pas sélectionner les termes en Rem (;)
j'ai deja fait tout ce boulot, mais ma procedure ne marche plus si des accents sont present !
comme j'utilise en grande partie GoScintilla , je me rends compte que l'utilisation conjointe
de Scintilla et des fonctions String de Purebasic ne donne pas un résultat probant ...

je vais finir par virer par traitement tout les accent présent dans l'editeur !
