Und lesen kann man sie auch recht einfach, nur die Sekunden gehen bischen zu schnell

PB 3.94 wahrscheinlich.Creature hat geschrieben:bei mir läuft die uhr nicht.
ich erhalte ne fehlermeldung mit PB 4.0. mit welcher version wurde sie geschrieben?
Code: Alles auswählen
Dim b$(6)
Global hell, dunkel, hintergrund
Global Size.f, radius
Size.f = 35/7
radius = 2
Procedure ChangeColor(farbe.b)
Select farbe
Case 0
hell = RGB(255,0,0)
dunkel = RGB(96,0,0)
hintergrund = RGB(0,0,0)
Case 1
hell = RGB(0,96,255)
dunkel = RGB(0,32,96)
hintergrund = RGB(192,192,192)
Case 2
hell = RGB(0,255,0)
dunkel = RGB(0,128,0)
hintergrund = RGB(0,96,0)
Case 3
hell = RGB(255,255,0)
dunkel = RGB(0,0,0)
hintergrund = RGB(96,96,96)
EndSelect
EndProcedure
ChangeColor(0)
hwnd = FindWindow_("Shell_TrayWnd",#Null)
hwnd = FindWindowEx_(hwnd,#Null,"TrayNotifyWnd",#Null)
hwnd = FindWindowEx_(hwnd,#Null,"TrayClockWClass",#Null)
GetWindowRect_(hwnd,@rect.RECT)
Window_Width = rect\right-rect\left
Window_Height = rect\bottom-rect\top - 4
If OpenWindow(0,0,2,Window_Width,Window_Height,"Binary Clock",#PB_Window_BorderLess)
SetParent_(WindowID(0),hwnd)
CreateImage(0,Window_Width,Window_Height)
If CreateGadgetList(WindowID(0))
ImageGadget(0,0,0,Window_Width,Window_Height,0)
Repeat
Select WindowEvent()
Case #PB_Event_Gadget
Select EventType()
Case #PB_EventType_LeftClick
farbe=(farbe+1)%4
ChangeColor(farbe)
Case #PB_EventType_RightClick
quit = #True
EndSelect
Case #PB_Event_CloseWindow
quit = #True
Case 0
Delay(50)
EndSelect
b$(1) = RSet(Bin(Val(Left(RSet(Str(Hour(Date())),2,"0"),1))),2,"0")
b$(2) = RSet(Bin(Val(Right(RSet(Str(Hour(Date())),2,"0"),1))),4,"0")
b$(3) = RSet(Bin(Val(Left(RSet(Str(Minute(Date())),2,"0"),1))),3,"0")
b$(4) = RSet(Bin(Val(Right(RSet(Str(Minute(Date())),2,"0"),1))),4,"0")
b$(5) = RSet(Bin(Val(Left(RSet(Str(Second(Date())),2,"0"),1))),3,"0")
b$(6) = RSet(Bin(Val(Right(RSet(Str(Second(Date())),2,"0"),1))),4,"0")
StartDrawing(ImageOutput(0))
Box(0,0,Window_Width,Window_Height,hintergrund)
For j = 1 To 6
For i = 1 To Len(b$(j))
If Val(Mid(b$(j),i,1))
Circle(j*Size,i*Size+(4-Len(b$(j)))*Size,radius,hell)
Else
Circle(j*Size,i*Size+(4-Len(b$(j)))*Size,radius,dunkel)
EndIf
Next i
Next j
StopDrawing()
SetGadgetState(0,ImageID(0))
Until quit
EndIf
EndIf
Das geht doch für PB 4.00 auch einfacher, oder nicht?Winduff hat geschrieben:Code: Alles auswählen
Global hell, dunkel, hintergrund Global Size.f, radius Size.f = 35/7 radius = 2
Code: Alles auswählen
Global hell, dunkel, hintergrund, Size.f = 35/7, radius = 2
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
das ist nicht einfacher sondern nur unübersichtlicher.AND51 hat geschrieben:Code: Alles auswählen
Global hell, dunkel, hintergrund, Size.f = 35/7, radius = 2
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
Code: Alles auswählen
Select WindowEvent()