Posté le 26 septembre 2005 - 06:29 |
Salut,
Voici un bout de code dans un timer qui crée une horlage simple à aiguille : Integrer un champ image sans cadre de 120 x 120 nommé imgHorloge Ne pas oublier de lancer TimerSys("t_Horloge", 100, 1)
A ++ Laurent
======================================================
PROCEDURE t_Horloge()
x, y, eAngH est un entier hH est une Heure = HeureSys()
dDébutDessin(imgHorloge, dEffacer)
dCercle(0, 5, 120, 115, RVB(195, 214, 255), RVB(1, 52, 205))
// Corrige les défauts du cercle dPoint(17, 21, RGB(195, 214, 255)) dPoint(102, 21, RGB(195, 214, 255)) dPoint(17, 98, RGB(195, 214, 255)) dPoint(102, 98, RGB(195, 214, 255))
//Dessin des barres TANTQUE eAngH <= 330 x = 60 + (Cosinus(eAngH) * 51) y = 60 + (Sinus(eAngH) * 51) dLigne(x, y, 60, 60, RVB(121, 158, 218), 1) eAngH += 30 FIN dRectangle(59, 8, 62, 23, RVB(121, 158, 218)) dRectangle(59, 98, 62, 112, RVB(121, 158, 218)) dRectangle(5, 59, 23, 62, RVB(121, 158, 218)) dRectangle(98, 59, 115, 62, RVB(121, 158, 218)) dCercle(17, 17, 104, 104, RVB(195, 214, 255))
//Dessin du nom dPolice("Arial", 10, iGras ) dTexte(30, 72, "Mon_Texte", RVB(239, 243, 254))
eH est un entier = hH..Heure SI eH > 12 ALORS eH -= 12 FIN
//Petite aiguille eAngH = (((eH * 60) + (hH..Minute)) / 2) - 90 x = 60 + (Cosinus(eAngH) * 31) y = 60 + (Sinus(eAngH) * 31) dLigne(x, y, 60, 60, RVB(160, 160, 160), 5) x = 60 + (Cosinus(eAngH) * 31) x = 60 + (Cosinus(eAngH) * 31) dLigne(x, y, 60, 60, iGrisClair, 3) //Grande aiguille eAngH = (((hH..Minute * 60) + (hH..Seconde)) / 10) - 90 x = 60 + (Cosinus(eAngH) * 43) y = 60 + (Sinus(eAngH) * 43) dLigne(x, y, 60, 60, RVB(180, 180, 180), 3) x = 60 + (Cosinus(eAngH) * 43) y = 60 + (Sinus(eAngH) * 43) dLigne(x, y, 60, 60, RVB(210, 210, 210), 1) //Troteuse eAngH = (hH..Seconde * 6) - 90 x = 60 + (Cosinus(eAngH) * 48) y = 60 + (Sinus(eAngH) * 48) dLigne(x, y, 60, 60, iJauneClair, 1)
dCercle(52, 52, 69, 69, RVB(121, 158, 218), RVB(1, 52, 205))
imgHorloge..Bulle = Gauche(HeureVersChaîne(Maintenant()), |
| |
| |
|