Vous n'êtes pas identifié.
Lol il me faudrait une fonction du style get_time() mais pour obtenir la date... je pense que la calto doit l'avoir en mémoire quelque part: si quelqu'un savait comment la dénicher...
Il me faut juste le chiffre du jour, du mois et de l'année, pas besoin de s'embrouiller avec les noms des jours de la semaine ( métonnerais que la calto les connaissent d'ailleurs )
un grand merci a tous!
Hors ligne
ben fo aller lire dans les ports et pour ca tu va voir le tuto de WHYP sinon pour t'aider je te file ma fonction pour avoir l'heure :
void whattime(void) { asm{ in al, 0x1F mov heure, al in al, 0x1E mov minute, al in al, 0x1D mov seconde, al } }
Faut juste sue tu change le n° des ports...
Hors ligne
Merci, mais il y a deja une fonction faisant ca dans casio2b.h...
J'ai vu dans le tuto de whyp que les ports 20h à 22h contenaient un truc utile pour connaitre la date actuelle ( chouette un super calcul a faire ), mais je ne m'y connais pas en asm: je vais essayer de récupérer ta fonction pour obtenir le contenu du port
Hors ligne
si t'y arrive vraiment pa je prendrai 5 minute et je regarderai ca........
Hors ligne
Snif je m'en sors pas... :cry:
J'ai vu que Touche affiche la date et le jour, 2072 est-ce que je pourrais récupérer ta fonction?
merci...
Hors ligne
ben fo aller lire dans les ports et pour ca tu va voir le tuto de WHYP sinon pour t'aider je te file ma fonction pour avoir l'heure :Code:
void whattime(void) { asm{ in al, 0x1F mov heure, al in al, 0x1E mov minute, al in al, 0x1D mov seconde, al } }Faut juste sue tu change le n° des ports...
Au fait quel est le type de heure, minute et seconde dans cette fonction?? :?:
Hors ligne
la calto ne sait que compter les jour: à chaque fois que l'horlog passe à minuit l'unsigned int contenu dans les ports 20h et 21h (je crois) sont incrémenté. Pour Touche cette unsigned int contiens le nombre de jour écoulé depuis le 1 janvier 2000.
Je ne te donnerai pas ma fonction (Touche n'est plus open source depuis la version 3.45) mais dans les lib standart du langage C il y a des fonctions qui d' après un timestamp (nombre de secondes écoulées depuis le 1er janvier 1970) te donne la date.
En multipliant le nombre de jour de la calto par 86400 que tu ajoutes à 30 *86400 tu obtient un timestamp que tu peux donnée a la fonction du C dont je ne me rappelle plus le nom mais regarde dans l'aide de TC à "time".
C'est ce que j'utilisait dans la première version de Touche qui affichée la date puis j'ai refait une fonction à moi pour que ça prenne moins de place et que ça me donne des infos supplémentaire sur n'importe quelle date de 1583 à (2^32)/365 - 1583 (ce qui est très utile ).
@+
Hors ligne
Ok, j'ai justement compris aujourd'hui comment ca marchait (grace au premier cours d'info de l'année ), et j'ai écrit une fonction pour obtenir la date: je dois encore la tester...
... Mais Pourquoi Whyp a-t-il mis dans son tuto que le nombre contenu dans le port est le nombre de jours depuis le 10/10/1970 alors que c'est depuis le 01/01/2000 sur la graph100? :?:
Hors ligne
Au fait quelle est la commande asm pour multiplier deux nombres :?:
add c'est pour additionner, mais pour multiplier?
Hors ligne
MUL
Ou
IMUL
Hors ligne
J'AI REUSSSSSSSSSSIIIIIIIIIIIIIIIII :jump: :bravo2: :bravo: :vert: :fete: :ptdr: :boire:
Ma premiere fonction digne de ce nom...
Snif je suis ému :cry:
Hors ligne
vas y offre nous une tourne a tout le monde
Hors ligne
Allez c parti !!!!! :boire2:
Hors ligne
ca monte deja au cerveau :boire: :boire: :bave:
Hors ligne
Hors ligne
nous ??? jamais
Hors ligne
nan c'est moi qui ai décidé que ce serait le 1er janvier 2000
sinon la calto contient le nombre de jour écoulés depuis que tu y as mis les piles (depuis que tu l'a acheté en fait puisque tu n'enlève pas la pile de sauvegarde).
Au fait ta fonctions prend en conpte les année bissextiles ?
@+
Hors ligne
Ben moi quand je vais chercher simplement le contenu des ports 20h, 21h et 22h j'obtiens le nombre de jours écoulés depuis le 01/10/2000...
Ah lol c'est normal je crois que j'ai défini ma date il y a longtemps grace a touche, ca explique tout
En tout cas ca m'arrange!
faudra juste que je veille a pas perdre ca de vue dans mon prog...
Oui ma foncton tient compte des années bissextiles, sinon j'aurais jamais réussi a lui faire afficher la date d'aujourd'hui correctement...
NB: Pour des raisons évidentes de compatibilités entre les progs ayant recours aux dates, je crois qu'on devrait tous suivre la méthode de 2072 sinon ca va poser des problemes puisqu'on aura sans doute des méthodes d'enregistrement différentes...
Hors ligne
Bon moi je suis en train de bosser sur une fonction set_date, mais comme j'y connais que dalle en asm c'est plutot chaud...
en fait je me demandais ce qui se passe si on écrit un nombre plus grand que 256 dans un port comm: ou va le morceau en trop?
Sinon j'aimerais avoir une commande asm qui met
k dans 0x22
j dans 0x21
i dans 0x20
merci!
NB: en sachant que k*65536 + j*256 + i donne le nombre de jour depuis le 01/01/2000, serait-il possible d'écrire ce nombre dans un des 3 ports pour que ca "déborde" de la bonne facon dans les 2 autres? Oui je reve peut-etre mais bon... :P
Hors ligne
ou, comme superna vient de me le dire:
asm { mov al,i out 0x20,al mov al,j out 0x21,al mov al,k out 0x22,al }
C'est ce que j'avais essayé, mais ca plantait parce que i,j et k étaient entiers
Hors ligne
Ben moi je veux bien utiliser des char i,j,k, mais alors comment je fais puisque ce sont des résultats de calcul??
Superna m'a dit que ca irait pour les assigner a des nombres, mais ca marche pas argh :x
x-thunder dans tes commandes c'est des int ou des char?
Hors ligne