papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Horloge trigonométrique Ven 26 Déc 2014 - 8:50 | |
| Salut tout le monde. Les horloges analogiques ont leurs aiguilles qui tournent dans le sens horaires, c.à.d. de gauche à droite. Que dites-vous d’une horloge dont les aiguilles tournent en sens inverse (sens antihoraire) de droite à gauche ? Bon, ce n’est pas révolutionnaire, c’est plutôt inhabituel. Et il serait même un tout petit peu drôle de lire l’heure sur ce type d’horloge ! Vous choisissez l’une de deux options proposées : sens horaire / sens trigonométrique. Aussi la douce Virginie peut vous dire l'heure. - Code:
-
rem ============================================================================ rem Horloge trigonométrique rem Par Papydall rem ============================================================================ rem Les aiguilles de cette horloge tournent dans les sens trigonométrique rem ou dans le sens horaire, au choix! rem ============================================================================
Init_Horloge()
end rem ============================================================================ SUB Init_Horloge() dim cx,cy,rx,ry,r,xh,yh,xm,ym,xs,ys,pi,sens$ dim heure, minute, seconde
Cx = 300 : Cy = 430 : Rx = 200 : Ry = 200 ' Pour des valeurs de Rx et Ry différentes,par exp 200 et 150 vous une horloge ' sous forme d'élipse pi = acos(-1) color 0,0,0,0 : font_color 0,255,255,0 GUI()
END_SUB
rem ============================================================================ SUB GUI() label afficher , parler ,quitter,clic font_name 0,"ds-digital" : font_bold 0 : width 0,800 : height 0,700 font_italic 0 : color 0,20,100,20 :font_color 0,255,255,0
alpha 1 : top 1,10 : left 1,270 : caption 1,date$ alpha 2 : top 2,10 : left 2,570 : caption 2,time$
button 3 : top 3,120 : left 3,150 : caption 3,"Parler" :font_size 3,12 : on_click 3, parler : hide 3 button 4 : top 4,120 : left 4,450 : caption 4,"Quitter" :font_size 4,12 : on_click 4,quitter
alpha 6 : top 6,10 :left 6,100 : font_size 6,12 : font_color 6,240,200,100 caption 6,"NOUS SOMMES LE :"
alpha 7 : top 7,10 : left 7, 500 : font_size 7,12 : font_color 7,240,200,100 caption 7,"IL EST :"
option 8 : top 8,50 : left 8,50 :width 8,210 : caption 8,"Sens trigonométrique" color 8,255,0,0 : on_click 8,clic : hint 8,"Faites votre choix" option 9 : top 9,70 : left 9,50 :width 9,210 : caption 9,"Sens Horaire" color 9,255,0,0 : on_click 9,clic : hint 9,"Faites votre choix"
timer 10 : on_timer 10,Afficher : timer_off 10
END_SUB rem ============================================================================ clic: timer_on 10 if number_click = 8 then sens$ = "Trigonometrique" if number_click = 9 then sens$ = "Horaire" drawClock(sens$) return rem ============================================================================ Afficher: caption 1,date$ : caption 2,time$ : show 3 Horloge(sens$) return
rem ============================================================================ Parler: timer_off 10
file_open_write 9999,"parler.vbs" file_writeln 9999,"Dim speaks, speech" file_writeln 9999,"speaks="+chr$(34)+ "Nous sommes, le " +chr$(34) + "& date()" file_writeln 9999,"Set speech=CreateObject("+chr$(34)+"sapi.spvoice"+chr$(34)+")" file_writeln 9999,"speech.Speak speaks" file_writeln 9999,"speaks="+chr$(34)+"Il est "+chr$(34)+"& time()" file_writeln 9999,"speech.Speak speaks" file_close 9999 execute_wait "parler.vbs" file_delete "parler.vbs" timer_on 10
return rem ============================================================================ quitter: terminate return rem ============================================================================
SUB drawClock(sens$) dim_local I,Tx,Ty,R,StrTime$,xp,yp caption 0,"Horloge : sens "+ sens$ font_size 0,12 For I = 0 To 59 R = I * Pi / 30 Tx = Cos(R) * Rx + Cx Ty = Sin(R) * Ry + Cy 2d_fill_color 255,255,255 :2d_pen_color 255,255,255 2d_circle tx,ty,2 display next i 2d_circle cx,cy,8 For I = 0 to 11 R = I * Pi / 6 Tx = cos(R) * Rx + Cx Ty = sin(R) * Ry + Cy 2d_fill_color 255,255,255 2d_circle tx,ty,5
2d_fill_color 20,100,20
StrTime$ = str$(mod((i+2),12)+1)
xp = cos(r)*(rx-15)+cx-6 if sens$ = "Trigonometrique" then xp = 0- cos(r)*(rx-15)+cx-6 yp = sin(r)*(ry-15)+cy-8 print_locate xp,yp : print string$(5," ") print_locate xp,yp : print StrTime$ next i
END_SUB rem ============================================================================ SUB Horloge(sens$)
heure = val(mid$(time$,1,2)) minute = val(mid$(time$,4,2)) seconde = val(mid$(time$,7,2))
2d_pen_width 6 : 2d_pen_color 20,100,20 2d_line cx,cy,xh,yh : 2d_line cx,cy,xm,ym : 2d_line cx,cy,xs,ys
r = pi*(heure/6+1.5) xh = cx + cos(r)*(rx-75)+1 : yh = cy + sin(r)*(ry-70)+1 if sens$ = "Trigonometrique" then xh = cx - cos(r)*(rx-75)+1
2d_pen_width 4 : 2d_pen_color 255,0,0 : 2d_line cx,cy,xh,yh
r = pi*(minute/30+1.5) xm = cx + cos(r)*(rx-50)+1 : ym = cy + sin(r)*(ry-40)+1 if sens$ = "Trigonometrique" then xm = cx - cos(r)*(rx-50)+1 2d_pen_width 2 : 2d_pen_color 255,255,0 : 2d_line cx,cy,xm,ym r = pi*(seconde/30+1.5) xs = cx+cos(r)*(rx-30)+1 : ys = cy + sin(r)*(ry-30)+1 if sens$ = "Trigonometrique" then xs = cx - cos(r)*(rx-30)+1 2d_pen_color 0,255,0 : 2d_line cx,cy,xs,ys
END_SUB rem ============================================================================
| |
|
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Horloge trigonométrique Ven 26 Déc 2014 - 23:33 | |
| - mindstorm a écrit:
- ps pourquoi parle t il en Anglais?
C’est sans doute, parce que tu ne disposes pas sur ton PC d’une voix française telle que celle de Virginie ou d’Hortense. Rends-toi sur ce site ou sur celui-ci, sinon ton ami Google peut te guider si tu lui poses la question. - mindstorm a écrit:
- ps2 serait il possible de l'avoir en plus petit, cela ne rentre pas dans mon écran
Pour cela tu peux ajuster les constantes de la ligne 17 à ta convenance. - Code:
-
Cx = 300 : Cy = 430 : Rx = 200 : Ry = 200 Cx et Cy : coordonnées du centre de l’horloge Rx et Ry : rayon respectivement horizontal et vertical. S’ils sont égaux, l’horloge aura une forme circulaire, sinon ça sera une ellipse. | |
|