Message de rapport:
 

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
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2