UNE HORLOGE BINAIRE

JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 - 6 oct. 2008 à 09:17
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 - 10 oct. 2008 à 16:59
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/48126-une-horloge-binaire

Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
10 oct. 2008 à 16:59
"Je suis entrain de publié mes mini projet fait durant l'année 2008/2007
les derniers sont déjà fait!!"

Non c'est pas une bonne chose : tu n'es pas ici pour poster tes projets et qu'on te dise "woah !". Tu dois garder à l'esprit que tes sources doivent servir à quelque chose.
Le screenshot ne fait pas le code.

Cordialement, Bacterius !
offlake Messages postés 190 Date d'inscription mercredi 3 septembre 2008 Statut Membre Dernière intervention 17 janvier 2009
10 oct. 2008 à 01:35
THANKS
BY OFFLAKE
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
9 oct. 2008 à 16:13
Ben déjà c'est vachement mieux codé par rapport à tes autres sources.
Le principe en lui-même ... bon ... une horloge binaire ... ok mais c'est toujours plus lisible en décimal :)
Mais le raisonnement et la technique sont interessantes ici
Peut-être un petit peu plus de commentaires ;)
Je suis déçu tu n'as pas utilisé ma Led :'( non je rigole ^^
On sent que le niveau des simulations remonte petit à petit.

Cordialement, Bacterius !
offlake Messages postés 190 Date d'inscription mercredi 3 septembre 2008 Statut Membre Dernière intervention 17 janvier 2009
8 oct. 2008 à 14:10
BON DEBIARS JE VAIS ESSAYER CELA
MERCI D'AVANCE
BY: OFFLAKE
Debiars Messages postés 285 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 11 février 2018
8 oct. 2008 à 11:50
@Offlake : pas mal ton Horloge...
un p'tit défaut mais de taille : les valeurs binaires tout comme les valeurs hexa s'affichent en commençant à droite, par exemple :
1 = 0001
3 = 0011

Et pas la peine de créer des constantes pour les 60 valeurs binaires, essaye la procédure suivante :

procedure TForm1.Byte2Bin(num : byte);
var i,b : byte;
bv : array[0..5] of byte;
begin
b := num;
bv[5] := b and 1;
for i := 4 downto 0 do
begin
b := b shr 1;
bv[i] := b and 1;
end;
lab.Caption := '';
for i := 0 to 5 do lab.Caption := lab.Caption + inttostr(bv[i]);
end;

Les valeurs du tableau bv te permettent d'allumer ou non une led...
offlake Messages postés 190 Date d'inscription mercredi 3 septembre 2008 Statut Membre Dernière intervention 17 janvier 2009
6 oct. 2008 à 23:24
Je suis entrain de publié mes mini projet fait durant l'année 2008/2007
les derniers sont déjà fait!!
c tune chose bien non?
Pour Bacterius
OFFLAKE
offlake Messages postés 190 Date d'inscription mercredi 3 septembre 2008 Statut Membre Dernière intervention 17 janvier 2009
6 oct. 2008 à 23:03
JE SUIS AUSSI UN DEVELOPEUR C/C++
OFFLAKE
defis91 Messages postés 65 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 8 août 2011
6 oct. 2008 à 21:53
Offlake,
Gros bugs de logique dans la fonction timer
pour un affichage correct, je vous propose :

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Label1.Caption:=FormatDateTime('hh:mm:ss',Time);
Sec:=strtoint(copy(Label1.Caption,7,2));
Min:=strtoint(copy(Label1.Caption,4,2));
Hr:=strtoint(copy(Label1.Caption,1,2));
FindSec(Sec);
FindMin(Min);
FindHour(Hr);
end;

Cordialement
Dom EFIS
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
6 oct. 2008 à 19:06
Dis donc OffLake du calme sur les sources ^^ tu vas nous écraser ! C'est 2 par jour maintenant !
Essaye déjà d'apprendre et d'améliorer tes précédentes sources avant de nous en balancer d'autres ...

Cordialement, Bacterius !
defis91 Messages postés 65 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 8 août 2011
6 oct. 2008 à 18:12
Oui j'ai bien vu, mais le passage de l'heure ne se fait pas.
tout à l'heure, le passage de 15h59.59 à 16h laisse l'affiche des heures à 3 au lieu de 4.
Cordialement
Dom Efis.
offlake Messages postés 190 Date d'inscription mercredi 3 septembre 2008 Statut Membre Dernière intervention 17 janvier 2009
6 oct. 2008 à 17:42
si C ça marche alors tant mieux
offlake Messages postés 190 Date d'inscription mercredi 3 septembre 2008 Statut Membre Dernière intervention 17 janvier 2009
6 oct. 2008 à 17:41
Pour DEFIS91 :: mes Leds sont INVERSé
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
6 oct. 2008 à 16:25
Mes leds sont dans l'autre sens par rapport a toi (Vertical pour moi) ^^
moi c'est : (je mets un - pour les leds jamais utilisées)
-o-o-o
-ooooo
oooooo
oooooo
HHMMSS
H= heure
M= minute
S= seconde
Toi tu l'as fait dans l'autre sens, ça marche aussi !
defis91 Messages postés 65 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 8 août 2011
6 oct. 2008 à 16:05
En plus l'heure est fausse.
Dans le help l'exemple pour 20h donne 22 pour les leds
A 16h l'horloge affiche 3 pour les heures et non 4
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
6 oct. 2008 à 11:04
Oui c'est le probleme de mon source : il faut mon composant (je l'ai dit dans le 1er poste).

EN fait, nous avons tous les deux fait une horloge binaire avec 2 méthodes très différentes, et c'est très interessant de voir les 2 qui mènent au meme résultat !
offlake Messages postés 190 Date d'inscription mercredi 3 septembre 2008 Statut Membre Dernière intervention 17 janvier 2009
6 oct. 2008 à 10:54
EN PLUS dans votre programme il manque un composants(( TdbpFontImage )) donc
j'ai pas le temps pour lui consacrer du temps!!
offlake Messages postés 190 Date d'inscription mercredi 3 septembre 2008 Statut Membre Dernière intervention 17 janvier 2009
6 oct. 2008 à 10:51
Moi je trouve que le principe est plus expert que le votre!!
BY OFFLAKE
offlake Messages postés 190 Date d'inscription mercredi 3 septembre 2008 Statut Membre Dernière intervention 17 janvier 2009
6 oct. 2008 à 10:50
Pour le probléme de l'INDENTATION C FAIT
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
6 oct. 2008 à 09:28
Aussi, le code est mal indenté, les blocks begin/end ne sont pas clairs.

if Nr1[hr,i]='1' then HrImg[i].Picture.Bitmap.LoadFromResourceName(hinstance,'ledOn')
else
HrImg[i].Picture.Bitmap.LoadFromResourceName(hinstance,'ledOff');

Aurait pu etre remplacé par :

HrImg[i].Picture.Bitmap.LoadFromResourceName(hinstance,'led_'+Nr1[hr,i])
si les déclarations des ressources led avaient été différentes (led_1 et led_0).

C'est quoi ce timer qui incrémente des secondes ??
D'après ce que je comprends, si je lance l'appli à 12:00:20, l'horloge binaire va m'indiquer 12:00:00 puis à 12:00:25, elle va indiquer 12:00:05, me trompe-je ?
Il faut vérifier l'heure actuelle et non pas compter sur un timer pour ces choses là :O

Enfin, là au moins, pas de compo externe il me semble ^^
Rejoignez-nous