Re: Parseur | Sujet: Re: Parseur par R&B sur 21/4/2005 8:55:57
Pour la question subsidiaire, la solution tient dans l'utilisation des evènements de relache de bouton souris et touches et une gestion des propriétés ..Curseur et ..FinCurseur : Lancée dans les évènements WM_KEYUP et WM_LBUTTONUP du champ sFormule, le code suivant assure la sélection de la 'balise' quand le curseur y pénètre.
// indique si la position en cours est une rubrique
// assure alors la sélection de la balise entière
PROCEDURE EstRubrique()
nPD=sFormule..Curseur
nPF=sFormule..FinCurseur
npEntrée,npSortie est un entier
// balises avant la position courante
npEntrée = Position(sFormule,"<",nPD-1,DepuisFin)
npSortie = Position(sFormule,">",nPD-1,DepuisFin)
SI npSortie<npEntrée ALORS
// la balise est ouverte avant la position courante
// on modifie alors les positions de la sélection
nPD=npEntrée
nPF = Min(Position(sFormule,">",nPF,DepuisDébut),Taille(sFormule))+1
FIN
// affecte les valeur de sélection (modifiées ou pas)
sFormule..Curseur=nPD
sFormule..FinCurseur=nPF
Un dernier point minime : la gestion du retour arrière répété du curseur qui ne saute pas la sélection mais la parcourre.
|
|
Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
|