PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Créer un horloge analogique
Créer un horloge analogique
Débuté par webdan, 25 sep. 2005 18:24 - 2 réponses
Posté le 25 septembre 2005 - 18:24
Bonjour, je voudrais savoir comment fait on pour afficher une horloge analogique type longhorn dans une fenêtre windev. Existe til des solutions dejà faites permettant d'intégrer dans une fenêtre windev ce type d'horloge ou dois-je le programmer moi-même ?

Merci
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()), 8)
Posté le 26 septembre 2005 - 20:29
webdan a exprimé avec précision :
Bonjour, je voudrais savoir comment fait on pour afficher une horloge
analogique type longhorn dans une fenêtre windev. Existe til des solutions
dejà faites permettant d'intégrer dans une fenêtre windev ce type d'horloge
ou dois-je le programmer moi-même ?

Merci


bonsoir

merci pour le code.
fonctionne impec

cdt

titou44 chez freesurf.fr

--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com