Bonjour,
je suis nouveau en création de blocs et je me suis lancé le défi de compléter la catégorie 'Texte'.
Je cherche la description de :
- Blockly.Arduino.ORDER_ATOMIC
- Blockly.Arduino.ORDER_UNARY_POSTFIX
... que je peux voir dans certains .js des catégories Arduino.
Merci
Bonjour,
la documentation est là :
https://developers.google.com/blockly/guides/create-custom-blocks/operator-precedence (https://developers.google.com/blockly/guides/create-custom-blocks/operator-precedence)
Des exemples ici :
https://developers.google.com/blockly/guides/create-custom-blocks/generating-code (https://developers.google.com/blockly/guides/create-custom-blocks/generating-code)
Bons tests et merci d'avance pour les futurs blocs.
Merci pour le lien ;)
J'ai ajouté des blocs dans la Catégorie 'Texte' :
- text_indexOf
- text_charAt
- text_getSubstring
- text_changeCase
- text_trim
J'ai un peu triché car les définitions de blocs étaient déjà présentes ainsi que les generateurs Python.
J'ai eu à adapter au C Arduino + quelques modifs.
Je dois encore corriger un petit problème sur les 'mutateurs' de SubString.
Le code généré se compile bien mais il faut aussi que je fasse un test sur un Arduino.
Quand cela sera terminé, comment intégrer les updates dans le package Blocky@rduio ?
Super ! Merci beaucoup pour cette contribution.
Pour intégrer, soit tu as un compte sur Github pour proposer un 'commit', soit tu m'envoies les fichiers que tu as modifiés et je le fais.
Fichiers en PJ
Je vais créer un compte Github pour mes prochaines contributions.
J'ai testé la compile et le comportement sur un Uno.
J'ai inclu les fonctions dans les Toolboxs 3,4 et All uniquement.
Merci bien !
Peux tu vérifier si mon intégration est correcte ?
Je pense qu'il y a un pb.
Nos blocs ne sont pas les mêmes.
As-tu pris mon Blocks\Blocky\Text.js ?
A gauche les tiens, à droite les miens.
J'avais fait des copier-coller et il en manquait.
C'est corrigé, merci de vérifier !
Mieux mais je n'avais pas implementé les blocs 'Print' et 'Prompt for text'.
Ces blocs ne donnent dont rien.
Ah oui mince ! ;D
En fait il y avait une erreur de déclaration dans les blocs mais normalement ils fonctionnent.
Je vens de m'appercevoir que la comparaison de String (qui était déjà implementée) ne marche pas.
Utilisation de strcmp() plutot que .compareTo de la classe String.
Voici le generateur corrigé.
Merci, je n'avais jamais eu besoin de ça avant.
Mais apparemment il n'y a besoin de rien : https://www.arduino.cc/en/Tutorial/StringComparisonOperators (https://www.arduino.cc/en/Tutorial/StringComparisonOperators)
En effet, j'ai toujours utilisé compareTo.
Les habitudes...
Dans ce cas il faudrait supprimer le bloc qui génère un code faux.
C'est corrigé !