Expressions dans blockly

Ce thème à lui tout seul mérite la création de ce forum tant il est riche et subtil : faire des curseurs, construire des figures booléennes ou juste faire de l'analyse, c'est un thème fabuleux
Post Reply
martinAcosta
Posts: 344
Joined: Mon Apr 28, 2014 8:06 pm

Expressions dans blockly

Post by martinAcosta » Sat Nov 12, 2016 12:09 am

Bonjour

J'ai trouvé un moyen de contourner les parametres des points qui ne sont pas disponibles comme des blocks: j'utilise le block expression, et j'ècris la commande STL("P1",....) en modifiant les paramètres voulus.

toutefois, je ne peux pas conditionner cette expression, car je ne peux pas attacher ce block au block ^"si... faire".

Existe-t-il un moyen d'écrire une expression non numérique et l'attacher au block "si... alors"?

monique31
Posts: 373
Joined: Sat Nov 03, 2007 3:33 pm
Location: Toulouse

Re: Expressions dans blockly

Post by monique31 » Sat Nov 12, 2016 11:31 am

J'avoue ne pas bien comprendre la question : pourrais-tu mettre le fichier sur lequel tu travailles en pièce jointe ?

martinAcosta
Posts: 344
Joined: Mon Apr 28, 2014 8:06 pm

Re: Expressions dans blockly

Post by martinAcosta » Thu Jan 26, 2017 9:37 pm

Je vais essayer d'expliquer.

Dans un script, la commande STL sert à changer les propriétés d'un objet. Si l'on regarde les fichiers texte produits par DGPad, après la liste des objets créés, il y a une liste avec leur propriétés, chaque ligne commencant avec STL.

Mon idée est d'utiliser cette commande dans une expression de blockly, avec le bloc expression.

Par exemple, dans une figure DGPad j'ai un point P1, deux expressions E1 et E2, et un DGscript.
Le script est comme suit:
1. Fixer l'expression E1 à Valeur de l'expression E1+1 //augmente de 1 la valeur de E1
2.Si Reste de Valeur de l'expression E1/2=0, alors Fixer l'expression E2 à Expression STL("P1", "h:0"); "prog"; //si E1 est pair, cache P1.
3. Si non, alors Fixer l'expression E2 à Expression STL("P1", "h:1"); "prog"; // si E1 est impaire, montre P1.

Chaque fois que je clique le DGScript, le point P1 se cache ou se montre.

J'ai essayé de cette manière le changement des propriétés d'un point, et cela marche très bien, à l'exeption de trois propriétés:
1. je peux activer la trace du point, mais pas la desactiver.

2. je peux rendre le point flotant, mais pas defaire cette action.

(je pensais que ces deux commandes fonctionnaient comme booleans: vrai ou faux, mais apparemment non)

3. le paramètre mg, qui controle le magnétisme ne fonctionne pas. Je pense que cela résulte du fait qu'on devrait écrire par exemple "mg:[C1,200]", mais C1 n'est pas réconnu comme variable mais comme texte. Comme c'est écrit dedans les guillemets, je ne sais pas comment communiquer à DGPad qu'en fait c'est un objet de la construction, non pas une chaine de caractères.

Quelqu'un aurait il une idée de comment surmonter ces difficultés? On aurait un moyen simple de programmer les propriétés des objets...

Merci

Post Reply