2009-06-13 4 views
1

Ce que je veux faire est d'enregistrer l'heure à laquelle un bouton a été enfoncé. Toutes ces heures seront stockées dans un tableau. Le programme parcourt ensuite la matrice et examine les valeurs temporelles, puis met en surbrillance les états des boutons à ces moments précis pendant la lecture.Heure exacte à laquelle un événement s'est produit

Espérons que cela a du sens, quelle est la meilleure façon de le faire ?! Merci d'avance.

------------------ PLUS DETAIL ------------------

la première chose qui est venu dans mon esprit était ... «ah ah, horodatage», mais après avoir regardé dans la documentation, dans une certaine section dans la page d'horodatage quelque part dans le paragraphe, il indique ce qui suit:

.... Vous devriez ne pas l'utiliser pour déterminer l'heure exacte à laquelle l'événement s'est produit mais plutôt le comparer à l'horodateur d'un autre événement d'accélération pour déterminer le temps écoulé entre les événements ....

ce n'est pas génial .. comme je suis en supposant qu'il wi Il ne sera pas précis quand il s'agit de la mise en surbrillance des boutons au moment exact où l'utilisateur les a pressés pendant l'enregistrement. S'il vous plaît laissez-moi savoir de ce que je devrais utiliser et faire.

Répondre

1

Vous pouvez utiliser CFAbsoluteTimeGetCurrent() pour obtenir l'heure actuelle exprimée en nombre de secondes (en tant que valeur double, donc les fractions de secondes seront là) depuis le 1er janvier 2001 00:00:00 GMT. Par conséquent, vous devez enregistrer la valeur de CFAbsoluteTimeGetCurrent() à un moment donné lorsque votre application démarre, puis enregistrer sa valeur chaque fois que vous appuyez sur un bouton. Puis, en soustrayant le temps que l'application a commencé à partir du moment où le bouton a été pressé, vous obtenez le nombre de secondes pendant lesquelles le bouton a été pressé depuis le démarrage de l'application. Vous pouvez ensuite relire le bouton plus tard en prenant ce temps et en l'ajoutant à l'heure à laquelle la lecture a commencé.

+0

Cela semble génial et réalisable. Je vais utiliser cette méthode maintenant et voir ce qui se passe pendant la lecture pour voir si les boutons sont surlignés au bon moment ou non. Ils déclenchent le son, donc s'ils sont hors rythme, je le saurai. Merci pour la réponse très rapide. Y a-t-il un moyen pour que je puisse vous contacter directement ?! Quand je clique sur le nom d'utilisateur de quelqu'un, je n'arrive pas à trouver un système de messagerie: | cela aiderait si je voulais mettre à jour quelqu'un ou demander quelque chose de spécifique. – Pavan

3

La propriété -[UIEvent timestamp] sera la représentation la plus précise du moment où le contact s'est réellement produit. Si vous utilisez CFAbsoluteTimeGetCurrent() ou les fonctions UNIX time(), vous obtiendrez l'heure actuelle à laquelle la fonction de moment est appelée, et non pas quand l'événement s'est réellement produit (ce qui sera quelquefois plus tôt).

Questions connexes