Getcurrentreading() comment ça marche ? [Résolu]

Messages postés
7
Date d'inscription
mardi 25 octobre 2016
Dernière intervention
30 décembre 2016
-
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.
Afficher la suite 

Votre réponse

7 réponses

Messages postés
12362
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
10 décembre 2018
0
Merci
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
Commenter la réponse de Whismeril
Messages postés
7
Date d'inscription
mardi 25 octobre 2016
Dernière intervention
30 décembre 2016
0
Merci
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
Commenter la réponse de on_air
Messages postés
12362
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
10 décembre 2018
0
Merci
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/
Commenter la réponse de Whismeril
Messages postés
7
Date d'inscription
mardi 25 octobre 2016
Dernière intervention
30 décembre 2016
0
Merci
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
Commenter la réponse de on_air
Messages postés
12362
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
10 décembre 2018
0
Merci
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.
Commenter la réponse de Whismeril
Messages postés
7
Date d'inscription
mardi 25 octobre 2016
Dernière intervention
30 décembre 2016
0
Merci
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 :-))
Commenter la réponse de on_air
Messages postés
12362
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
10 décembre 2018
0
Merci
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.
Commenter la réponse de Whismeril

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.