Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Autres questions


Index du Forum » Autres questions » Une question comme ça
Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

Une question comme ça

Posté le 24/06/2017 17:39

Salut tout le monde,
étant donné Ue j'ai souvent une petite question à poser et que je ne veut pas embêter quelqun sur le live, je crée un topic sur lequel je poserais donc toutes ces questions. Vous pouvez également faire de même sur ce topic.
Donc voilà, 1ere question de ce topic ☺ :
Je bosses actuellement sur des rotations en 3D, et j'ai eu une idée beaucoup plus simple (enfin je pense ) que ce qui a été fait jusqu'à présent, attention : des rotations en utilisant des sinusoides. Rien de nouveau vous me direz, mais si, justement, je ne vous dévoilerai pas toute mon idée mais juste la partie qui me pose problème, voila: pour mes coordonnées de pts j'ai besoin de savoir comment on fait pour avoir les valeurs minimales et maximales de la sinusoide (en cosinus de X) dans deux variables distinctes.
Si quelqun à une idée, il ne se gêne pas .

PS: ce nouveau systheme (enfin je pense qu'il est nouveau ) n'est q'au stade de test. Je ne sais même pas ce qui va ce passer au lencement du prog (enfin si un peu, mais pas assez pour prédire son conporte ment )


Précédente 1, 2, 3, 4, 5, 6 ··· 9, 10, 11 Suivante
Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

Citer : Posté le 08/11/2017 17:33 | #


OK merci a nouveau.

Pour Cakeisalie5, du nouveau au sujet du tuto sur le SDK ?

Ajouté le 10/11/2017 à 19:29 :
Hum... je viens de tomber sur le 《gît. Lab》on peut m'en dire plus la dessus, ça m'interesse
Svp

A plus
Lephenixnoir Hors ligne Administrateur Points: 24670 Défis: 170 Message

Citer : Posté le 10/11/2017 20:06 | #


Eh bien, la forge Gitlab est un service Git. Elle permet à ses utilisateurs de créer, gérer, et partager des dépôts Git. Pas mal d'entre nous ont un compte dessus.

Pour information, « Gitlab » signifie Git Laboratory, où Git est un gestionnaire de versions classique. Je te laisse chercher s'il te faut des infos sur Git, tu trouveras l'essentiel en un tour de main et en bien mieux écrit que ce que je pourrais te servir.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

Citer : Posté le 11/11/2017 09:34 | #


Donc, je reviens sur le SDK, quelqun peut me redire ou trouver la liste des commandes disponibles pour programmer. Et si il y a quelquepart un guide pour programmer sur le SDK car je ne vois pas comment je peut deviner tout ça...
J'aimerais bien me'lancer la dedans, car j'apprend déjà le C et je voudrais pouvoir l'utiliser sur ma calot (je sais que ce n'est pas tout à fait le même language)
Merci d'avance

Disperseur
Lephenixnoir Hors ligne Administrateur Points: 24670 Défis: 170 Message

Citer : Posté le 11/11/2017 09:49 | #


Les manuels d'utilisation du SDK. Tu y trouveras la doc de fxlib, la liste des fonctions standard supportées, des détails sur les types de structures utilisées parfois, les noms données à chaque touches... c'est assez vaste.

N'hésite pas à demander si tu cherches quelque chose de suffisamment précis ; pour les tutoriels d'utilisation du SDK je ne crois pas qu'il y en ait à cet instant.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

Citer : Posté le 11/11/2017 10:31 | #


Ok merci,

mais pour le SDK même si il n'y a pas de tutos, il y a biens un manul, un mode d'emplois, non...?
Lephenixnoir Hors ligne Administrateur Points: 24670 Défis: 170 Message

Citer : Posté le 11/11/2017 10:39 | #


Pour ce qui est du logiciel en lui-même, il n'y a pas grand-chose à savoir : compiler (Ctrl+B), lancer l'émulateur (F5), arrêter l'émulateur (Shift + F5). Vois le wiki.

Pour ce qui est de la programmation, c'est du C avec fxlib. La doc de fxlib est assez explicite pour savoir ce qu'il s'y passe. 'fin si vraiment tu paniques il y a toujours le wiki avec des explications en français.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

Citer : Posté le 11/11/2017 11:34 | #


Merci beaucoup, t'étais pas obligé, j'aurais pu chercher moi même...
"Danke" comme ont dit en allemand

A plus

Ajouté le 11/11/2017 à 13:45 :
Le truc, c'est que ça marche, mais il n'y a rien pour expliquer la mise en place des variables (initiqlisation...), comment on structure le prog et tout ce qui va avec le C. Le problème, c'est que je ne sais pas comment ont peut débuter sur un logiciel qui utilise un language pas facile et que l'ont ne te fourni que les commandes...bref, c'est impossible sans guide
Dommage....
Moi, je voulais débuter en essayant de faire un prog qui attend que tu presse une touche et qui t'en donne la valeur... ( et pourtant j'ai des bases en C)
Lephenixnoir Hors ligne Administrateur Points: 24670 Défis: 170 Message

Citer : Posté le 11/11/2017 14:17 | #


Essayons de prendre les choses dans l'ordre. Tu n'es pas obligé de tester avec le logiciel, si tu veux y aller doucement teste ton add-in sur ta calculatrice au tout début.

il n'y a rien pour expliquer la mise en place des variables (initiqlisation...)

Ce sont les règles du C. Les variables locales sont initialisées si une valeur est donnée par le programme, les variables globales aussi, mais elles vivent plus longtemps.

comment on structure le prog

La fonction principale est int AddIn_main(int isAppli, unsigned short optionNum). Le paramètre isAppli indique si l'application a été lancée depuis le menu ou depuis une eAct (vois les commentaires dans le programme par défaut pour les valeurs, je les ai oubliées). Quand isAppli indique que l'add-in a été lancé par une eAct, optionNum indique par quelle « voie ». Il peut y avoir jusqu'à 4 voies de lancement différentes dans les eActs. Tout cela est lié aux eStrips, et environ 0 add-in sur Planète Casio s'en sert.

ont ne te fourni que les commandes

« Normalement » la documentation de fxlib est assez explicite pour que tu puisses comprendre comment utiliser Bdisp_DrawLine_VRAM(int x1, int y1, int x2, int y2). Mais si tu as du mal, demande. Encore une fois, la seule règle pour demander est d'avoir une question précise à poser, et pas « comment on fait un add-in cool ».

un prog qui attend que tu presse une touche et qui t'en donne la valeur...

Qu'est-ce qu'on a comme fonctions pour récupérer les touches ? Il y a IsKeyUp() et IsKeyDown(), mais il faut leur demander la touche que tu veux, donc c'est pas très efficace. En plus elles n'attendent rien et je crache dessus à longueur de journées. Il y a GetKey() et GetKeyWait() ; la seconde est plus compliquée et en fait elle ne marche pas (il faut le savoir).

Il te reste int GetKey(unsigned int *key), dont il est dit qu'elle renvoie un entier t'indiquant si la touche pressée après attente est une touche caractère, touche de contrôle, touche fonction (en gros), et qui modifie la variable dont l'adresse lui est passée en argument pour y mettre... le numéro de la touche, celui que tu cherches, justement. So far so good ?

L'affichage est plus tricky. Là, il faut se tourner vers les fonctions de texte. Il y en a plusieurs, mais pour reprendre l'exemple donné dans le programme de base, la combinaisons de locate() et de Print() est un choix intéressant. Mais elles ne font pas les formats super pétés comme printf(), elles veulent que tu leur serve directement la chaîne de caractère qui contient les caractères chiffres. Toi, jusque-là, tu as un unsigned int avec un numéro de touche.

Et là, on regarde le document PDF qui parle de la bibliothèque standard, et on se rend compte que même s'il n'y a pas printf(), il y a sprintf(). Je rappelle que toute utilisation de sprintf() nécessite l'inclusion de <stdio.h>, sinon le programme compile mais plante de manière inattendue (il faut le savoir).

Je te laisse inférer la suite ? Si tu as un problème à un endroit, tu peux demander... avec le maximum de précision possible, toujours.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

Citer : Posté le 11/11/2017 15:10 | #


Merci ,
Pour la précision, je pense que j'ai été assez clair...j'essayerai de l'être encore plus après
Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

Citer : Posté le 11/11/2017 15:40 | # | Fichier joint


voila le screenshoot de l'erreur:

Ajouté le 11/11/2017 à 16:34 :
Le dossier pdf dont tu parle (bibliothèque standard ), tu peut me redonner le lien stp, je ne sait pas comment le trouver...
Lephenixnoir Hors ligne Administrateur Points: 24670 Défis: 170 Message

Citer : Posté le 11/11/2017 16:41 | #


Il est dans un de mes posts un peu plus haut, le fichier est nommé C Standard Libraries.pdf.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

Citer : Posté le 11/11/2017 16:54 | #


ok, mais je parviens pas a mettre en place le sprintf avec la variable unsigned int key <--- un coup de main....svp

merci d'avance...je sais, je n'arrète pas de le dire
Nemhardy Hors ligne Grand maître des Traits d'Esprit Points: 1243 Défis: 54 Message

Citer : Posté le 11/11/2017 18:33 | #


Qu'est ce que tu souhaites faire exactement ?
sprintf() s'utilise exactement comme printf() sauf que la fonction écrit dans une chaîne que tu lui passes en premier argument, quel est ton problème ?
Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

Citer : Posté le 11/11/2017 18:35 | #


Le problème en fait c'est que je croyais que ce n'étais pas là même chose sur le SDK qu'en C. J'essayé ça demain ok
Merci de l'infos.
But
Lephenixnoir Hors ligne Administrateur Points: 24670 Défis: 170 Message

Citer : Posté le 11/11/2017 19:13 | #


Si c'est dans la bibliothèque standard, c'est pareil partout ! N'oublie pas de déclarer à l'avance une chaîne assez grande pour contenir le résultat...
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

Citer : Posté le 12/11/2017 11:27 | #


Pourquoi préparer une chaîne. .. rassure moi, je vais l'écrire comme ça :
(Avec la variable "key" en unsigned int )
printf ("KeyValue : %u \n", key)

Puisque tu m'as dit (vous m'avez dit ) que c'était pareil en C qu,avec le SDK. .. je me trompe pas alors...
Lephenixnoir Hors ligne Administrateur Points: 24670 Défis: 170 Message

Citer : Posté le 12/11/2017 11:30 | #


Ah mais attention... la fonction printf() n'est pas supportée, tu dois utiliser sprintf()...
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

Citer : Posté le 12/11/2017 11:34 | #


Oui,mais ça ne change pas la syntaxe que j'ai mis au dessus...non ?
J'ai juste à remettre le "s" au debut du "printf ("
Lephenixnoir Hors ligne Administrateur Points: 24670 Défis: 170 Message

Citer : Posté le 12/11/2017 11:45 | #


Si c'était les mêmes arguments et les mêmes effets, elle n'aurait pas un nom différent...

Cherche sur Internet le prototype de sprintf() et son fonctionnement. Il y a une différence cruciale.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

Citer : Posté le 12/11/2017 13:16 | #


Ben, en fait je l'ai sur la librairie standard dont tu m'as donné le lien, mais le prototype n'est pas très clair :

Int sprintf(char *s, const char *control[ , arg ...])





Lephenixnoir Hors ligne Administrateur Points: 24670 Défis: 170 Message

Citer : Posté le 12/11/2017 13:19 | #


Voyons voir... il y a un « s » devant le nom de la fonction, comme string. Il y a un premier paramètre qui est a priori une chaîne de caractères... mais si tu regardes attentivement, autant le format (control) est de type const char * donc il est en lecture seule, autant le premier paramètre, est de type char *, ce qui laisse entendre que la fonction va vouloir y écrire des choses... toujours pas d'idée ?

printf() effectue le formatage et écrit le résultat sur la sortie standard (ie. dans le terminal, quand on est sur un ordinateur). sprintf() effectue le formatage et écrit le résultat dans une chaîne de caractères, qui lui est passée en premier argument. La calculatrice n'a pas de terminal, c'est pour ça que printf() n'est pas supportée par fxlib. En revanche rien ne l'empêche de posséder sprintf() qui a juste besoin d'un peu de place en mémoire pour écrire son résultat.

Pour information, l'entier renvoyé par sprintf() est le nombre de caractères générés (ie. la longueur du texte après formatage).
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Précédente 1, 2, 3, 4, 5, 6 ··· 9, 10, 11 Suivante

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 123 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd