Vous n'êtes pas identifié.
Pages: 1
Bas en fait j'arrive à bien afficher la date et l'heure mais j'ai quelques problèmes :
_Comment rafraîchir toute les secondes (et non pas sans arrêts),
_Comment faire pour mettre un zéro devant une unité quand le nombre est inférieur à 10 (ex.: '7' -> '07').
Hors ligne
en fait que veux tu faire ? l'afficher avec printf ??
dans ce cas tu fais:
int heure, minute, seconde;
...
printf("%2d:%2d:%2", heure, minute, seconde);
%d afiche un entier sans preciser le nombre de chiffres
pour preciser le nombre de chiffres a afficher faut mettre un 2 entre le % et le d
heu je vois pas ce que tu vx dire par "arrets" explique ce que fais ton prog
Hors ligne
j'imagine qu'il veut dire qu'il n'a pas envie de réécrire l'heure continuellement mais seulement à chaque fois qu'elle a changé...
Pour faire ca il faut que tu ailles lire les secondes et que tu regardes si ca a bougé depuis la derniere lecture, dans ce cas la tu réécris l'heure, sinon tu ne fais rien.
Exemple pour l'heure de sonic, j'ai mis ca dans la boucle principale:
asm in al,0x1D; Time=_AL; // gestion du temps if(Time!=Timebuff) { Framerate=compteframe; Timebuff=Time; compteframe=0; if(chrono_sec) chrono_sec--; else { if(chrono_min) { chrono_min--; chrono_sec=59; } else LePerso->doit_mourir(); // time over } }
(L'affichage de l'heure se fait ailleurs)
Ici Timebuff contient la valeur que le compteur de secondes avait la derniere fois qu'on l'a lu, et on mets la nouvelle valeur dans Time; si Time est différent de Timebuff, c'est qu'il faut actualiser l'heure.
Hors ligne
mais je conseille kan mm de rafraichir tt le tps, c'est une bonne habitude à prendre dèsq le début (pas comme moi ac sb1 )
Hors ligne
J'ai essayé le '%2d' mais il y a toujours un problème :
Voilà ce que ça m'affiche >> 13: 1: 6
Et je voudrais ............... >> 13:01:06
ça met un espace alors que je voudrais un '0'!
Hors ligne
Essaye %02d alors
Hors ligne
sinon tu fais
printf("%d%d:%d%d:%d%d",heure/10,heure%10,minute/10,minute%10,seconde/10,seconde%10);
Et t'auras ce que tu veux, mais c un peu plus lourd
Hors ligne
oué, vive le ALLTIMEREFRESHING :ptdr:
(au passage vous voyez que ça marche les critiques négatives en serie> voir SBM2!! na :P )
Hors ligne
(@ x-th: oui certainement mais faut voir à long terme :P)
Hors ligne
>>@ tonton1664 :
Cool, merci ça fonctionne le '%02d' !
Hors ligne
Voici le bout de code de mon affichage pour la date et l'heure :
dateheure(void) { clearpage(getpage()); gotoxy(1,1);printf("Nous sommes len%02d/%02d/%d",get_date(0,0),get_date(1,0),get_date(2,0)); //Date gotoxy(1,4);printf("Il estn%02d:%02d:%02d",get_time(1),get_time(2),get_time(3)); //Heure }
>>@ Julien :
Je vois bien ce que tu veux dire du fait de faire la différence entre ce qui est affiché et tout afin de voir si ça a changé, mais je n'arrive pas à faire ce maudit truc.
Si quelqu'un peux m'éclairer :idea: ...
Hors ligne
J'ai finalement trouvé tout seul comme un grand :
dateheure(void) { int aff; actualise: clearpage(getpage()); gotoxy(1,1);printf("Nous sommes len%02d/%02d/%d",get_date(0,0),get_date(1,0),get_date(2,0)); //Date gotoxy(1,4);printf("Il estn%02d:%02d:%02d",get_time(1),get_time(2),get_time(3)); //Heure aff=get_time(3); do { if (testkey(5,1)) {return;} } while (aff==get_time(3)); goto actualise; }
Voilà si ça interesse quelqu'un... à savoir que la librairie que j'inclue est un mix de 'casio2.h' et 'db-lib.h'.
Hors ligne
eu note ke dans lexemple de casio2.h dont je suis lauteur (plutot le compilationeur :ptdr: )
ya un code ou j'affiche l'heure
:arrow: tavé ka chercher !
en plus ta technique efface l'ecran a chaque fois et c pas tres esthetique le clipping !
Hors ligne
t' affiche l' heure avec un printf ( a superna en priorité mais aussi a krach [boursier])? t un ouf mon pote!!!
Hors ligne
>>@ Superna :
Nan personellement il n'y a aucun clipping, c'est propre.
>>@ X-thunder28 :
Bah oui pk? :?
Hors ligne
lol pour Xthunder il lui faut de la qualité cad une fonction faite maison, pas un pauvre peti printf :mrgreen:
Hors ligne
bin au moins une fonction qui n' a pas besoin d' interruption pour si un jour le prog doit tourner sur un autre OS(genre shineos) que ça marche quand meme!
et puis printf c lent :mrgreen:
Hors ligne
>>@ Superna :
Nan personellement il n'y a aucun clipping, c'est propre.
(J'aime bien le "personellement" )
Mais alors tu es qd meme mieux d'effacer la page uniquement au début de la fonction, pas besoin de tout effacer a chaque changement de seconde.
>>@ X-thunder28 :
Bah oui pk? :?
Parce que tu verras, tu vas vite vouloir trouver qq chose de mieux que le bête printf
Hors ligne
c clair, printf c'est vraiment trop trop laid, on peut mm pas faire de dbuf ac ça, c'est lent, on peut pas l'utiliser dans un mode autre ke le c3, et et et et ....... c'est obsolète !! :mrgreen:
Hors ligne
pas pour les exemples de casio2.h :ptdr: :mrd:
Hors ligne
à par 'printf' y a 'locate' de 'casio2.h' et y a aussi 'putchar'
Pour l'instant je m'en fiche , je ne fait pas encore de jeu tel que 'sonic' & Cie.
Hors ligne
Pages: 1