J'ai souvent eu besoin de dessiné les extrémités d'un segment, plutôt que de leur faire à chaque fois, je propose une macro qui le gère directement si un troisième argument est renseigné.
- Code: Tout sélectionner
SegM = {SegM(A,B <,[option]>)
si option est renseigné, alors les extremites du segment sont dessinees
}
[
SaveAttr(),
Ligne([%1,%2],0),
if %3<>Nil then
Ligne([%1+(%2-%1)/abs(%2-%1)*xyticks*i, %1-(%2-%1)/abs(%2-%1)*xyticks*i, jump,
%1,%2, jump,
%2+(%2-%1)/abs(%2-%1)*xyticks*i, %2-(%2-%1)/abs(%2-%1)*xyticks*i
],0)
fi,
RestoreAttr()
]
Le code :
- Code: Tout sélectionner
Marges(0,0,0,0),
Fenetre(-3.5+2.5*i, 2.5-2*i,1+i),
SegM(-2+2*i, 2,1),
SegM(-2+i, 2-i),
SegM(-3-i, 1-i,1),
SegM(-2-1.5*i, 2-1.5*i),
Donne :
On peut aussi envisager de coupler cette nouvelle option avec des macros comme LabelSeg, markSeg, non
Si l'idée intéresse, on peut aussi intégrer cette fonctionnalité directement dans la macro Seg, re-non
Bonne soirée