Getcurrentreading() comment ça marche ?

Résolu
on_air Messages postés 7 Date d'inscription mardi 25 octobre 2016 Statut Membre Dernière intervention 30 décembre 2016 - Modifié par NHenry le 25/10/2016 à 22:47
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 - 27 oct. 2016 à 18:37
Bonjour, dans sa doc microsoft ns donne cette methode pour faire 1 lecture du compas, qq pourrez m'expliquer comment l'utiliser avec 1 exemple pour mettre dans une variable double le nord magnetique
private void DisplayCurrentReading(object sender, object args)
        {
            CompassReading reading = _compass.GetCurrentReading();
            if (reading != null)
            {
                textBlock.Text = String.Format("{0,5:0.00}", reading.HeadingMagneticNorth);
                if (reading.HeadingTrueNorth != null)
                {
                    textBlock.Text = String.Format("{0,5:0.00}", reading.HeadingTrueNorth);
                }
                else
                {
                    textBlock.Text = "No data";
                }
            }
        }

merçi, je me rend compte de la niaiserie de ma question j'ai 54 ans et je suis passionner alors soyez indulgent d'habitude j'aurai fait ainsi
double d_nord_magnetic = displaycurrentreading()

j'espére qu'une bonne âme aura la patience de me faire avancer un peu
en fait j'essaie de faire une boussole a titre educatif et dans mon code c# je veux mettre l'angle ici :
arrow.RenderTransform = new RotateTransform() { Angle = d_nord_magnetic };

pour faire tournée l'image.
bonne journée à tous

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

7 réponses

Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 656
25 oct. 2016 à 23:24
Bonsoir,

Ce bout de code est ne retourne rien (son type de retour est un void).
Elle permet d'afficher le nord magnétique et le nord géographique dans des textblock. Comme string.Format est utilisé, les valeurs sont des nombres, probablement des doubles
0
on_air Messages postés 7 Date d'inscription mardi 25 octobre 2016 Statut Membre Dernière intervention 30 décembre 2016
26 oct. 2016 à 09:10
merçi, justement y a t-il un moyen de récupérer ce double car j'en ai besoin pour spécifier l'angle d'une image qui represente ma boussole.
merçi
0
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 656
26 oct. 2016 à 13:23
Bonjour,

c'est tout le problème quand on se lance en programmation en passant qu'on peut faire l'impasse sur les bases.
J'ai fait la même erreur autrefois....

J'ai répondu à ta question, d'ailleurs, ayant vu les bases, tu ne l'aurais pas posée.

Le meilleur conseil que je puisse te donner sur le long terme, c'est de prendre quelques jours pour commencer par le commencement.

Par exemple ce cours en ligne est bien
http://tahe.developpez.com/dotnet/csharp/
0
on_air Messages postés 7 Date d'inscription mardi 25 octobre 2016 Statut Membre Dernière intervention 30 décembre 2016
27 oct. 2016 à 05:44
dans les 2 autres forum ou j'ai posé la question on m'a répondu, toi je crois que tu n'as pas compris la question, j'attendais un exemple que je peux te donner maintenant si tu le souhaites. si tu sais pas répondre à la question laisse un grand le faire
bonne journée
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 656
27 oct. 2016 à 11:30
Bonjour,
j'ai très bien compris ta question, et ta démarche aussi.

Quand j'ai commencé la programmation en autodidacte, il y a plus de 20 ans, l'internet grand public n'existait pas.
Pour trouver des bouts de codes, il fallait soit les "piquer" à un collègue, autodidacte lui aussi, ou acheter des revues qui proposaient un snippet toutes les pages ou une page sur 2.

J'y suis allé bille en tête, j'avais un projet qui simplifierait le travail de mon équipe, et donc j'avais "carte blanche" pour bosser dessus dès que l'activité était en baisse. Au bout de quatre ans, ça ne marchait toujours pas. Individuellement mes snippets fonctionnaient à peu près? mais mis ensemble non.

J'ai fini par suivre un cours pour débutant, et là j'ai découvert les bases que j'avais zappé, et que les raisons pour lesquels mon projet ne marchait pas étaient dans la méconnaissance de ces bases.
J'ai repris le projet à zéro et l'ai réécrit, fonctionnel cette fois en 6 mois.

La personne qui m'a réellement aidée n'est pas celle qui m'a donnée un bout de code par-ci par-là, c'est celle qui m'a dit "arrête tes conneries, commence par le début".

Quand je lis
j'ai 54 ans et je suis passionner
voilà quelqu'un d'expérience, qui va entendre qu'à l'instar d'une personne qui n'a jamais fait de mécanique, commencer par la boite de vitesse n'est pas la bonne idée, en programmation acquérir quelques notions avant de se lancer serait une bonne chose.
Mais non,
si tu sais pas répondre à la question laisse un grand le faire
serait plutôt la réaction d'un adolescent.
Au passage, je n'ai pas la prétention d'être un grand, par contre Tahé, dont je t'ai conseillé le cours, lui est un grand.

Revenons à ma réponse qui selon toi n'en es pas une.

d'habitude j'aurai fait ainsi
double d_nord_magnetic = displaycurrentreading()


j'ai répondu
Ce bout de code est ne retourne rien (son type de retour est un void).

Evidement cela sous entend de savoir ou de chercher ce qu'est un void:
https://msdn.microsoft.com/fr-fr/library/yah0tteb.aspx
l'exemple donné ressemble fortement à ta méthode, seule différence notoire la tienne est privée, celle de l'exemple publique.

Ensuite je t'ai indiqué que ton code sert à afficher les valeurs sous forme de texte.
Comme string.Format est utilisé, les valeurs sont des nombres
sans même faire l'effort de regarder comment fonctionne string.Format, on peut aisément extrapoler, qu'un des deux arguments de la méthode présent de le code est un nombre.
String.Format("{0,5:0.00}", reading.HeadingMagneticNorth);
Ca n'est manifestement pas
"{0,5:0.00}"
c'est rouge et entre cote, donc, il ne reste plus que reading.HeadingMagneticNorth

Donc à ta question, ou "est le double", la réponse est reading.HeadingMagneticNorth et mon message te donnait tous les éléments pour y répondre par toi même.

A la question non posée, "et d'où ça sort", là tu n'as montré qu'une partie des éléments
CompassReading reading = _compass.GetCurrentReading();

il faut donc trouver d'où vient _compass, avec ces deux mots clés "GetCurrentReading HeadingMagneticNorth" dans mon moteur de recherche préféré j'arrive rapidement là
https://msdn.microsoft.com/en-us/library/windows.devices.sensors.compass.getcurrentreading.aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-1

Et en bas de la pas il y See Also, Compass

je ne lis même pas ce qui est décrit (pourquoi faire, comprendre d'où ça vient?), je descends direct au premier exemple

_compass = Compass.GetDefault();


Donc sans pouvoir essayer (j'ai pas ce qu'il faut ici), ceci doit être proche de la vérité.
Compass _compass = Compass.GetDefault();
CompassReading reading = _compass.GetCurrentReading();
double leCap = reading.HeadingMagneticNorth;


et même si ca se trouve
double leCap =Compass.GetDefault().GetCurrentReading().HeadingMagneticNorth;


Maintenant, te le donner tout cru est ce que ça te fait apprendre? Je ne le pense pas, sauf erreur de ma part c'est par sa propre réflexion que l'on apprend.
0
on_air Messages postés 7 Date d'inscription mardi 25 octobre 2016 Statut Membre Dernière intervention 30 décembre 2016
27 oct. 2016 à 14:18
je suis désolé et je te prie de bien vouloir accepter mes excuses ce message ne t'était pas adressé. j'ai 3 tab ouvert dans mon navigateur sur 3 forums différent mais qq m'envoie des réponses qui n'ont aucun sens ( des lien vers du code java ) bref ça me fait perdre du temps d'autant plus que la personne a reçu le message où je te remerciait de ta réponse. Ceci dit mon code fonctionne depuis hier effectivement c'est comme l'exemple que tu as écrit.Je suis tout à fait d'accord avec tout ce que tu dis et ta réponse est tout à ton honneur.
bonne continuation, vraiment désolé bonne journée :-))
0
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 656
27 oct. 2016 à 18:37
En ce cas, tu peux passer le sujet résolu, avec le lien dédié sous le titre de la discussion.
Et faire attention la prochaine fois.
0
Rejoignez-nous