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 » C - convertir un int en short
Darkjura Hors ligne Membre Points: 389 Défis: 0 Message

C - convertir un int en short

Posté le 04/09/2020 16:37

Bonjour/Bonsoir !
Récemment, je me suis cassé la tête devant un problème bizarre... , et je viens de trouver le bug !
Seulement voilà, je ne connais aucune solution pour le régler... Alors j'appelle à l'aide ici :
Je voudrais récupérer la touche enfoncée par l'utilisateur (via GetKey) et la sauvegarder dans un fichier. Seulement, la variable key est un unsigned int, et le type attendu par Bfile_WriteFile est ... un short !
N'y aurait-il pas un moyen de convertir ce unsigned int en short ?
Sinon, auriez-vous une technique alternative à me proposer ?
Merci d'avance...


Kbd2 Hors ligne Membre Points: 269 Défis: 0 Message

Citer : Posté le 05/09/2020 11:22 | #


The Casio SDK's C89 standard requires that all variables are declared at the beginning of the function.

You need to declare rc before the call to BFile_DeleteFile.
Darkjura Hors ligne Membre Points: 389 Défis: 0 Message

Citer : Posté le 05/09/2020 11:24 | #


En fait c'est bon, il suffisait de déclarer ces deux variables en début de fonction
Et y'avait une autre erreur dans write_code() : Bfile_CreateFile prend DEUX arguments.
Par contre, les valeurs de key ne sont toujours pas bien sauvegardées dans mdp.sav.

Ajouté le 05/09/2020 à 11:25 :
J'avais pas vu Kbd2
Kbd2 Hors ligne Membre Points: 269 Défis: 0 Message

Citer : Posté le 05/09/2020 11:30 | #


Do you have the API manual? If you look up the functions in the manual you're told exactly what to give each function and what it will do and give you.
Darkjura Hors ligne Membre Points: 389 Défis: 0 Message

Citer : Posté le 05/09/2020 11:40 | #


j'ai réussi ! (oui, enfin, bon, quand même, après tout ce temps, ça valait le coup de mettre en rouge)
Il y avait deux erreurs supplémentaires : ligne 188, lamentable : read_code au lieu de write_code
Et enfin, ligne 117 : Il fallait bien évidemment conserver handle=Bfile_OpenFile(filename,_OPENMODE_READ);, sinon il réécrivait toujours le fichier !
Et maintenant, mdp.sav contient bien la valeur numérique des touches préssées !

@Kbd2
API manual ?
Non, ça ne me dit rien...
Où peut-on sa le procurer ?
Kbd2 Hors ligne Membre Points: 269 Défis: 0 Message

Citer : Posté le 05/09/2020 11:42 | # | Fichier joint


I've attached it to this message.
Darkjura Hors ligne Membre Points: 389 Défis: 0 Message

Citer : Posté le 05/09/2020 11:45 | #


OK, thank you !
Lephenixnoir Hors ligne Administrateur Points: 24232 Défis: 170 Message

Citer : Posté le 05/09/2020 12:17 | #


Bien joué !
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)

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 63 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