
[Résolu] Tracer les chiffres d'une horloge 24 heures
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: [Résolu] Tracer les chiffres d'une horloge 24 heures
@Dobro : Le code de traçage d'un cercle donnant bien un cercle je ne comprenais pas trop ton histoire d'horloge ronde. Merci pour cet update Dobro 

Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: [Résolu] Tracer les chiffres d'une horloge 24 heures
Non, il faut que ça se rapproche le plus possible d'une horloge analogique, normalement on devrait deviner l'heure juste à la position de la petite aiguille !kernadec a écrit :bonjour
D' abord Merci pour le partage!![]()
Peut être une option pour cette horloge car on pourrait avoir une lecture plus simple
en se disant que pour heure qui est en cours l'aiguille des heures devrait rester sur le chiffe de l'heure
exemple: pour 11h59 l'aiguille devrait être sur le 11 et passerai sur le 12 en même temps que les aiguilles des minutes et des secondes arrive sur le 60
qu'en pensez vous
Cordialement
Merci aussi à Dobro pour sa participation, c'est fou ce qu'on peut faire avec un projet commun ! C'est pour ça que j'aime ce forum !
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
Re: [Résolu] Tracer les chiffres d'une horloge 24 heures
@Dobro,
Il est fatigué mon Dobro...
Enlève le PB_Window_ScreenCentered sinon ton callback prend les nouvelles coord centrées
ensuite niveau chemin je préfère toujours ce genre de code.
en ajoutant un Global Path$ = getCurrentDirectory()+"Horloge.ini"
puis en remplaçant tes 1,"Horloge.ini" par 1,path$
Et la sa marche sans le resize (pas de bug)
J'ai aussi ajouté une vérif de l'existence du fichier ini, ça permet de centrer l'horloge s'il n'existe pas.
Enfin je sauve les nouvelles coord lorsqu'on quitte le programme, ça ne sert à rien que la vérif et la sauvegarde se facent en boucle dans le callback.
Vieux con !
(j'attendais avec impatience de te la replacer)
Il est fatigué mon Dobro...
Enlève le PB_Window_ScreenCentered sinon ton callback prend les nouvelles coord centrées
ensuite niveau chemin je préfère toujours ce genre de code.
en ajoutant un Global Path$ = getCurrentDirectory()+"Horloge.ini"
puis en remplaçant tes 1,"Horloge.ini" par 1,path$
Et la sa marche sans le resize (pas de bug)
J'ai aussi ajouté une vérif de l'existence du fichier ini, ça permet de centrer l'horloge s'il n'existe pas.
Enfin je sauve les nouvelles coord lorsqu'on quitte le programme, ça ne sert à rien que la vérif et la sauvegarde se facent en boucle dans le callback.
Code : Tout sélectionner
;##################
;# Horloge murale #
;##################
Enumeration Font
#FontHour
#FontMinute
EndEnumeration
Enumeration Fenetre
#Fenetre_principale
EndEnumeration
Enumeration Sprites
#Trotteuse
#GrandeAiguille
#PetiteAiguille
#Fond
EndEnumeration
Global TailleImage = 720 ; Toujours carrée et en pixels
Global XC.i, YC.i, Radius.i ;Coordonnées et rayon du point central du cercle
Global X.f, Y.f ;Coordonnées des points sur le cercle
Global Digit.i
Global Buffer.s
Global Pos_wx,Pos_wy
; Ajout Ar-S
Global Path$ = GetCurrentDirectory()+"Horloge.ini"
Global.b Quite = 0
Global Couleur=RGB(0,0,0)
If InitSprite()
Else
End
EndIf
Declare MyWindowCallback(WindowID, Message, wParam, lParam)
Declare Forme(fenetre,forme)
; Ajout Ar-S
If FileSize(Path$) < 1
StyleWin = #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered
Else
StyleWin = #PB_Window_MinimizeGadget
EndIf
If OpenFile(1,Path$)
Pos_wx=Val(ReadString(1))
Pos_wy=Val(ReadString(1))
CloseFile(1)
Debug "Open File"
Debug Pos_wx
Debug Pos_wy
EndIf
If OpenWindow(#Fenetre_principale, Pos_wx, Pos_wy, TailleImage, TailleImage, "Horloge murale", StyleWin)
If OpenWindowedScreen(WindowID(#Fenetre_principale), 0, 0, TailleImage, TailleImage, 1, 0, 0)
CreateSprite(#Trotteuse, 800, 800)
CreateSprite(#GrandeAiguille, 800, 800)
CreateSprite(#PetiteAiguille, 800, 800)
CreateSprite(#Fond, 800, 800)
LoadFont(#FontHour, "Arial", 24, #PB_Font_Bold)
LoadFont(#FontMinute, "Arial", 15)
If StartDrawing(SpriteOutput(#Fond)) ;- fond
;Coordonnées du point central du cercle
XC = 400
YC = 400
;Point central
Circle(XC, YC, 2, RGB(255, 69, 0))
;Les points des heures
Radius = 220
For N = 0 To 345 Step 15
X = XC + Radius * Cos(N * #PI / 180)
Y = YC + Radius * Sin(N * #PI / 180)
Circle(X,Y,3, RGB(255, 69, 0))
Next
;Les points des minutes
Radius = 360
For N = 0 To 364 Step 6
X = XC + Radius * Cos(N * #PI / 180)
Y = YC + Radius * Sin(N * #PI / 180)
Circle(X,Y,3, RGB(128, 128, 128))
Next
;Les Chiffres des heures
Digit=5
Radius = 260
DrawingFont(FontID(#FontHour))
For N = 0 To 345 Step 15
Digit+1
If Digit>23
Digit = 0
EndIf
X = XC + Radius * Cos(N * #PI / 180)
Y = YC + Radius * Sin(N * #PI / 180)
Buffer=Str(Digit)
DrawingMode(#PB_2DDrawing_Transparent)
DrawText(X-TextWidth(Buffer)/2, Y-TextHeight(Buffer)/2, Buffer, RGB(255, 255, 255))
DrawingMode(#PB_2DDrawing_Default)
Next
;Les Chiffres des minutes
Digit=15
Radius = 380
DrawingFont(FontID(#FontMinute))
For N = 1 To 359 Step 6
Digit+1
If Digit>60
Digit = 1
EndIf
X = XC + Radius * Cos(N * #PI / 180)
Y = YC + Radius * Sin(N * #PI / 180)
Buffer=Str(Digit-1)
DrawingMode(#PB_2DDrawing_Transparent)
DrawText(X-TextWidth(Buffer)/2, Y-TextHeight(Buffer)/2, Buffer, RGB(255, 255, 255))
DrawingMode(#PB_2DDrawing_Default)
Next
StopDrawing()
EndIf
If StartDrawing(SpriteOutput(#Trotteuse))
LineXY(398, 550, 398, 65, RGB(200, 35, 35))
LineXY(399, 550, 399, 60, RGB(200, 35, 35))
LineXY(400, 550, 400, 55, RGB(200, 35, 35))
LineXY(401, 550, 401, 60, RGB(200, 35, 35))
LineXY(402, 550, 402, 65, RGB(200, 35, 35))
Circle(400, 530, 10, RGB(200, 35, 35))
Circle(400, 535, 9, RGB(200, 35, 35))
Circle(400, 540, 8, RGB(200, 35, 35))
Circle(400, 545, 7, RGB(200, 35, 35))
Circle(400, 550, 6, RGB(200, 35, 35))
Circle(400, 400, 15, RGB(200, 35, 35))
StopDrawing()
EndIf
If StartDrawing(SpriteOutput(#GrandeAiguille))
LineXY(390, 400, 380, 180, RGB(255, 255, 255))
LineXY(380, 180, 390, 170, RGB(255, 255, 255))
LineXY(390, 170, 390, 50, RGB(255, 255, 255))
LineXY(390, 50, 400, 42, RGB(255, 255, 255))
LineXY(400, 42, 410, 50, RGB(255, 255, 255))
LineXY(410, 50, 410, 170, RGB(255, 255, 255))
LineXY(410, 170, 420, 180, RGB(255, 255, 255))
LineXY(420, 180, 410, 400, RGB(255, 255, 255))
LineXY(410, 400, 390, 400, RGB(255, 255, 255))
FillArea(400, 300, RGB(255, 255, 255), RGB(255, 255, 255))
Circle(400, 400, 30, RGB(200, 35, 35))
StopDrawing()
EndIf
If StartDrawing(SpriteOutput(#PetiteAiguille))
LineXY(390, 400, 375, 280, RGB(255, 255, 255))
LineXY(375, 280, 390, 260, RGB(255, 255, 255))
LineXY(390, 260, 390, 210, RGB(255, 255, 255))
LineXY(390, 210, 400, 195, RGB(255, 255, 255))
LineXY(400, 195, 410, 210, RGB(255, 255, 255))
LineXY(410, 210, 410, 260, RGB(255, 255, 255))
LineXY(410, 260, 425, 280, RGB(255, 255, 255))
LineXY(425, 280, 410, 400, RGB(255, 255, 255))
LineXY(410, 400, 390, 400, RGB(255, 255, 255))
FillArea(400, 300, RGB(255, 255, 255), RGB(255, 255, 255))
StopDrawing()
EndIf
EndIf
EndIf
SetWindowCallback(@MyWindowCallback())
Forme (#Fenetre_principale,2); ronde
Repeat
Evenement = WaitWindowEvent(2)
xsec.s = FormatDate("%ss", Date())
xmin.s = FormatDate("%ii", Date())
xheure.s = FormatDate("%hh", Date())
If Val(xheure) > 11
xheure = Str(Val(xheure)-12)
EndIf
s = Val(xsec) * 6
m = (Val(xmin) * 60 + Val(xsec)) / 10
h = (Val(xheure) * 60 + Val(xmin)) / 4 ; système 24 h
;h = (Val(xheure) * 60 + Val(xmin)) / 2 ; système 12 h
ZoomSprite(#Trotteuse, TailleImage, TailleImage)
ZoomSprite(#GrandeAiguille, TailleImage, TailleImage)
ZoomSprite(#PetiteAiguille, TailleImage, TailleImage)
ZoomSprite(#Fond, TailleImage, TailleImage)
RotateSprite(#Trotteuse, s, 0)
RotateSprite(#GrandeAiguille, m, 0)
RotateSprite(#PetiteAiguille, h, 0)
DisplayTransparentSprite(#Fond, 0, 0, 255)
DisplayTransparentSprite(#PetiteAiguille, 0, 0, 255)
DisplayTransparentSprite(#GrandeAiguille, 0, 0, 255)
DisplayTransparentSprite(#Trotteuse, 0, 0, 255)
FlipBuffers()
ClearScreen(couleur)
;Delay(20)
Until Evenement = #PB_Event_CloseWindow Or Quite = 1
Pos_wx = WindowX(#Fenetre_principale)
Pos_wy = WindowY(#Fenetre_principale)
OpenFile(1,Path$)
WriteStringN(1,Str(Pos_wx))
WriteStringN(1,Str(Pos_wy))
CloseFile(1)
Debug Pos_wx
Debug Pos_wy
End
Procedure MyWindowCallback(WindowID, Message, wParam, lParam)
;debug Message
Result = #PB_ProcessPureBasicEvents
Select Message
Case #WM_LBUTTONDOWN ; Deplace la fenetre si on clicque Dessus
SendMessage_(WindowID(#Fenetre_principale), #WM_NCLBUTTONDOWN, #HTCAPTION, 0)
Case #WM_RBUTTONDOWN ; Sauve position et quit avec le bouton droit souris
Quite = 1
EndSelect
ProcedureReturn Result
EndProcedure
Procedure Forme(fenetre,forme)
If forme=2 ; si on a choisi la forme 2 Ronde
Region = CreateEllipticRgn_(4, 31, WindowWidth(fenetre),WindowHeight(fenetre)+25) ; Création de la région pour faire une fenêtre ronde !!!
SetWindowRgn_(WindowID(fenetre), Region, #True) ; On applique la région
DeleteObject_(Region) ; On supprime la région
EndIf
EndProcedure; EPB

~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: [Résolu] Tracer les chiffres d'une horloge 24 heures
Bonsoir et merci à toute la collégialité (je ne sais pas si c'est français), enfin à tout le monde,
avec toutes vos réponses, j'ai fait une synthèse et j'ai fait une horloge 12 et 24 h au choix
avec toutes vos réponses, j'ai fait une synthèse et j'ai fait une horloge 12 et 24 h au choix
Code : Tout sélectionner
;##################
;# Horloge 12 et 24 h #
;##################
Enumeration Font
#FontHour
#FontMinute
EndEnumeration
Enumeration Fenetre
#Fenetre_principale
EndEnumeration
Enumeration Sprites
#Trotteuse
#GrandeAiguille
#PetiteAiguille
#Fond
EndEnumeration
Global TailleImage = 720 ; Toujours carrée et en pixels
Global XC.i, YC.i, Radius.i ;Coordonnées et rayon du point central du cercle
Global X.f, Y.f ;Coordonnées des points sur le cercle
Global Digit.i
Global Buffer.s
Global Pos_wx,Pos_wy
Global.i systeme = 24
Global Path$ = GetCurrentDirectory()+"Horloge.ini"
Global.b Quitter = 0
Global Couleur=RGB(0,0,0)
If InitSprite()
Else
End
EndIf
Declare MyWindowCallback(WindowID, Message, wParam, lParam)
Declare Forme(fenetre,forme)
If FileSize(Path$) < 1
StyleWin = #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered
Else
StyleWin = #PB_Window_MinimizeGadget
EndIf
If OpenFile(1,Path$)
Pos_wx=Val(ReadString(1))
Pos_wy=Val(ReadString(1))
CloseFile(1)
EndIf
If OpenWindow(#Fenetre_principale, Pos_wx, Pos_wy, TailleImage, TailleImage, "Horloge murale", StyleWin)
If OpenWindowedScreen(WindowID(#Fenetre_principale), 0, 0, TailleImage, TailleImage, 1, 0, 0)
CreateSprite(#Trotteuse, 800, 800)
CreateSprite(#GrandeAiguille, 800, 800)
CreateSprite(#PetiteAiguille, 800, 800)
CreateSprite(#Fond, 800, 800)
LoadFont(#FontHour, "Arial", 24, #PB_Font_Bold)
LoadFont(#FontMinute, "Arial", 15)
If StartDrawing(SpriteOutput(#Fond)) ;- fond
;Coordonnées du point central du cercle
XC = 400
YC = 400
;Point central
Circle(XC, YC, 2, RGB(255, 69, 0))
;Les points des heures
Radius = 220
If systeme = 12
For N = 0 To 359 Step 6
X = XC + Radius * Cos(N * #PI / 180)
Y = YC + Radius * Sin(N * #PI / 180)
If Mod(N,30) = 0
Circle(X,Y,6, RGB(255,69,0))
Else
Circle(X,Y,3, RGB(255, 255, 255))
EndIf
Next
Else
For N = 0 To 359 Step 3
X = XC + Radius * Cos(N * #PI / 180)
Y = YC + Radius * Sin(N * #PI / 180)
If Mod(N,15) = 0
Circle(X,Y,6, RGB(255,69,0))
Else
Circle(X,Y,3, RGB(255, 255, 255))
EndIf
Next
EndIf
;Les points des minutes
Radius = 360
For N = 0 To 364 Step 6
X = XC + Radius * Cos(N * #PI / 180)
Y = YC + Radius * Sin(N * #PI / 180)
Circle(X,Y,3, RGB(128, 128, 128))
Next
;Les Chiffres des heures
If systeme = 12
Digit=2
Rayon = 260
DrawingFont(FontID(#FontHour))
For N = 0 To 345 Step 30
Digit+1
If Digit>12
Digit = Mod(12,4) + 1
EndIf
X = XC + Rayon * Cos(N * #PI / 180)
Y = YC + Rayon * Sin(N * #PI / 180)
Buffer=Str(Digit)
DrawingMode(#PB_2DDrawing_Transparent)
DrawText(X-TextWidth(Buffer)/2, Y-TextHeight(Buffer)/2, Buffer, RGB(255, 255, 255))
DrawingMode(#PB_2DDrawing_Default)
Next
Else
Digit=5
Radius = 260
DrawingFont(FontID(#FontHour))
For N = 0 To 345 Step 15
Digit+1
If Digit>23
Digit = 0
EndIf
X = XC + Radius * Cos(N * #PI / 180)
Y = YC + Radius * Sin(N * #PI / 180)
Buffer=Str(Digit)
DrawingMode(#PB_2DDrawing_Transparent)
DrawText(X-TextWidth(Buffer)/2, Y-TextHeight(Buffer)/2, Buffer, RGB(255, 255, 255))
DrawingMode(#PB_2DDrawing_Default)
Next
EndIf
;Les Chiffres des minutes
Digit=15
Radius = 380
DrawingFont(FontID(#FontMinute))
For N = 1 To 359 Step 6
Digit+1
If Digit>60
Digit = 1
EndIf
X = XC + Radius * Cos(N * #PI / 180)
Y = YC + Radius * Sin(N * #PI / 180)
Buffer=Str(Digit-1)
DrawingMode(#PB_2DDrawing_Transparent)
DrawText(X-TextWidth(Buffer)/2, Y-TextHeight(Buffer)/2, Buffer, RGB(255, 255, 255))
DrawingMode(#PB_2DDrawing_Default)
Next
StopDrawing()
EndIf
If StartDrawing(SpriteOutput(#Trotteuse))
LineXY(398, 550, 398, 65, RGB(200, 35, 35))
LineXY(399, 550, 399, 60, RGB(200, 35, 35))
LineXY(400, 550, 400, 55, RGB(200, 35, 35))
LineXY(401, 550, 401, 60, RGB(200, 35, 35))
LineXY(402, 550, 402, 65, RGB(200, 35, 35))
Circle(400, 530, 10, RGB(200, 35, 35))
Circle(400, 535, 9, RGB(200, 35, 35))
Circle(400, 540, 8, RGB(200, 35, 35))
Circle(400, 545, 7, RGB(200, 35, 35))
Circle(400, 550, 6, RGB(200, 35, 35))
Circle(400, 400, 15, RGB(200, 35, 35))
StopDrawing()
EndIf
If StartDrawing(SpriteOutput(#GrandeAiguille))
LineXY(390, 400, 380, 180, RGB(255, 255, 255))
LineXY(380, 180, 390, 170, RGB(255, 255, 255))
LineXY(390, 170, 390, 50, RGB(255, 255, 255))
LineXY(390, 50, 400, 42, RGB(255, 255, 255))
LineXY(400, 42, 410, 50, RGB(255, 255, 255))
LineXY(410, 50, 410, 170, RGB(255, 255, 255))
LineXY(410, 170, 420, 180, RGB(255, 255, 255))
LineXY(420, 180, 410, 400, RGB(255, 255, 255))
LineXY(410, 400, 390, 400, RGB(255, 255, 255))
FillArea(400, 300, RGB(255, 255, 255), RGB(000, 255, 000))
Circle(400, 400, 30, RGB(200, 35, 35))
StopDrawing()
EndIf
If StartDrawing(SpriteOutput(#PetiteAiguille))
LineXY(390, 400, 375, 280, RGB(255, 255, 255))
LineXY(375, 280, 390, 260, RGB(255, 255, 255))
LineXY(390, 260, 390, 210, RGB(255, 255, 255))
LineXY(390, 210, 400, 195, RGB(255, 255, 255))
LineXY(400, 195, 410, 210, RGB(255, 255, 255))
LineXY(410, 210, 410, 260, RGB(255, 255, 255))
LineXY(410, 260, 425, 280, RGB(255, 255, 255))
LineXY(425, 280, 410, 400, RGB(255, 255, 255))
LineXY(410, 400, 390, 400, RGB(255, 255, 255))
FillArea(400, 300, RGB(255, 255, 255), RGB(255, 255, 000))
StopDrawing()
EndIf
EndIf
EndIf
SetWindowCallback(@MyWindowCallback())
Forme (#Fenetre_principale,2); ronde
Repeat
Evenement = WaitWindowEvent(2)
xsec.s = FormatDate("%ss", Date())
xmin.s = FormatDate("%ii", Date())
xheure.s = FormatDate("%hh", Date())
s = Val(xsec) * 6
m = (Val(xmin) * 60 + Val(xsec)) / 10
If systeme = 12
If Val(xheure) > 11
xheure = Str(Val(xheure)-12)
h = (Val(xheure) * 60 + Val(xmin)) / 2 ; système 12 h
EndIf
Else
h = (Val(xheure) * 60 + Val(xmin)) / 4 ; système 24 h
EndIf
ZoomSprite(#Trotteuse, TailleImage, TailleImage)
ZoomSprite(#GrandeAiguille, TailleImage, TailleImage)
ZoomSprite(#PetiteAiguille, TailleImage, TailleImage)
ZoomSprite(#Fond, TailleImage, TailleImage)
RotateSprite(#Trotteuse, s, 0)
RotateSprite(#GrandeAiguille, m, 0)
RotateSprite(#PetiteAiguille, h, 0)
DisplayTransparentSprite(#Fond, 0, 0, 255)
DisplayTransparentSprite(#PetiteAiguille, 0, 0, 255)
DisplayTransparentSprite(#GrandeAiguille, 0, 0, 255)
DisplayTransparentSprite(#Trotteuse, 0, 0, 255)
FlipBuffers()
ClearScreen(couleur)
Until Evenement = #PB_Event_CloseWindow Or Quitter = 1
End
Procedure MyWindowCallback(WindowID, Message, wParam, lParam)
;debug Message
Result = #PB_ProcessPureBasicEvents
Select Message
Case #WM_PAINT
ResizeWindow(#Fenetre_principale,Pos_wx, Pos_wy,#PB_Ignore, #PB_Ignore)
; *************************************************************
Case #WM_LBUTTONDOWN ; Deplace la fenetre si on clicque Dessus
SendMessage_(WindowID(#Fenetre_principale), #WM_NCLBUTTONDOWN, #HTCAPTION, 0)
Case #WM_RBUTTONDOWN ; Sauve position et quit avec le bouton droit souris
Pos_wx = WindowX(#Fenetre_principale)
Pos_wy = WindowY(#Fenetre_principale)
OpenFile(1,Path$)
WriteStringN(1,Str(Pos_wx))
WriteStringN(1,Str(Pos_wy))
CloseFile(1)
Quitter = 1
End
EndSelect
ProcedureReturn Result
EndProcedure
Procedure Forme(fenetre,forme)
If forme=2 ; si on a choisi la forme 2 Ronde
Region = CreateEllipticRgn_(4, 31, WindowWidth(fenetre),WindowHeight(fenetre)+25) ; Création de la région pour faire une fenêtre ronde !!!
SetWindowRgn_(WindowID(fenetre), Region, #True) ; On applique la région
DeleteObject_(Region) ; On supprime la région
EndIf
EndProcedure
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
Re: [Résolu] Tracer les chiffres d'une horloge 24 heures
Ar-S a écrit : Vieux con !(j'attendais avec impatience de te la replacer)


Re: [Résolu] Tracer les chiffres d'une horloge 24 heures
Joli rendu, bravo.
@++
@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
GPU : radeon HD6370M, CPU : p6200 2.13Ghz