view | |
neoreb | 12-Dec-2006/14:24:21+1:00 |
Bonjour, Je suis neophyte en rebol. l'exemple suivant fourni sur la doc ne marche pas. Il semblerait que les parametres de circle ne sont pas evalués. Pourriez-vous m'aider merci rebol [] pos: 0x0 size: 0 view layout [ box 400x400 black effect [ draw [ circle 100x200 + pos 50 - size circle 200x200 + pos 50 + size circle 300x200 + pos 50 - size ] ] ] | |
Goldevil | 12-Dec-2006/16:51:21+1:00 |
Le problèe se trouve au niveau de ce qui suit les coordonnées de chaque cercle ( + pos 50 - size ). dans un block de type draw, tu dois mettre des choses qui correspondent au dialecte draw (qui est en fait une sorte de sous langage de rebol). Ce n'est pas le cas. D'ailleurs si tu les enlève ces infos supplémentaires, cela s'affiche correctement. rebol [] pos: 0x0 size: 0 view layout compose [ box 400x400 black effect [ draw [ circle 100x200 circle 200x200 circle 300x200 ] ] ] Tu trouveras sur http://www.rebol.org pas mal de scripts qui utilisent draw et desquels tu peux t'inspirer. | |
guest2 | 12-Dec-2006/18:41:30+1:00 |
il faut peut-être préciser que dans les précédentes versions du dialect draw, on draw pouvait évaluer du code mais maitenant c'est inopérant pour cause de sécurisation. Donc si tu as des calculs à faire, il faut le faire avant de passer la main à draw. par exemple, ça, ça devrait marcher ... draw compose [ circle (100x200 + pos) (50 - size) circle (200x200 + pos) (50 + size) circle (300x200 + pos) (50 - size) ] | |
guest2 | 13-Dec-2006/0:10:20+1:00 |
il faut peut-être préciser que dans les précédentes versions du dialect draw, on draw pouvait évaluer du code mais maitenant c'est inopérant pour cause de sécurisation. Donc si tu as des calculs à faire, il faut le faire avant de passer la main à draw. par exemple, ça, ça devrait marcher ... draw compose [ circle (100x200 + pos) (50 - size) circle (200x200 + pos) (50 + size) circle (300x200 + pos) (50 - size) ] | |
neoreb | 13-Dec-2006/10:38:43+1:00 |
BOnjour Merci pour les reponse. J'ai essayé la solution avec compose mais ca ne marche pas | |
neoreb | 13-Dec-2006/10:44:13+1:00 |
l'exemple que j'ai fourni provient de: http://www.rebol.net/cookbook/recipes/0047.html | |
Didec | 13-Dec-2006/13:08:09+1:00 |
Cet exemple date d'avant la modif du dialecte Draw indiqué par Guest2. Cet exemple devrait marcher : rebol [] pos: 0x0 size: 0 draw-instr: [ circle (100x200 + pos) (50 + size) circle (200x200 + pos) (50 - size) circle (300x200 + pos) (50 + size) ] view layout compose [ across text "Position :" rotary "0x0" "50x0" "50x50" "0x50" [ pos: load face/text f-box/effect/draw: compose draw-instr show f-box ] text "Taille :" rotary "0" "10" "20" "30" [ size: load face/text f-box/effect/draw: compose draw-instr show f-box ] return f-box: box 400x400 black effect reduce [ 'draw compose draw-instr ] ] | |
neoreb | 16-Dec-2006/11:09:41+1:00 |
merci beaucoup effectivement ca marche mais c'est beaucoup moins simple que l'exemple qui marchait avec l'ancienne version de draw dommage | |
Didec | 18-Dec-2006/14:58:28+1:00 |
C'est le pb avec la sécurité : ouvrir la porte avec la clé c'est moins simple que d'appuyer seulement sur la poignée Le dialecte Draw ne support plus l'interprétation de code. Mais il supporte encore les "variables". Donc tu peux avoir un code Draw allant chercher les coordonnées dans les variables. Par exemple : Rebol [] pos: 50x50 size: 30 view layout [ text "Position :" rotary "0x0" "50x0" "50x50" "0x50" [ pos: load face/text show f-box ] text "Taille :" rotary "50" "10" "20" "30" [ size: load face/text show f-box ] return f-box: box 400x400 black effect [ draw [circle pos size] ] ] | |
Login required to Post. |