Seite 3 von 4

Verfasst: 25.08.2006 10:29
von Alves
Das ist ja mal geil!

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

Verfasst: 25.08.2006 12:12
von Creature
bei mir läuft die uhr nicht.
ich erhalte ne fehlermeldung mit PB 4.0. mit welcher version wurde sie geschrieben?

Verfasst: 25.08.2006 12:18
von DarkDragon
Creature hat geschrieben:bei mir läuft die uhr nicht.
ich erhalte ne fehlermeldung mit PB 4.0. mit welcher version wurde sie geschrieben?
PB 3.94 wahrscheinlich.

Guckt auch mal aufs Datum des Threads, bommelid hat ihn ausgegraben.

Verfasst: 25.08.2006 12:19
von winduff
sau geil, gefällt mir :allright:

Die Idee ist sowieso Top, Umsetzung umsobesser ;-)

//edit:

Für PB4

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

Verfasst: 25.08.2006 12:29
von Creature
DarkDragon hat geschrieben: Guckt auch mal aufs Datum des Threads, bommelid hat ihn ausgegraben.
recht haste, darauf habe ich nicht geachtet...

Verfasst: 25.08.2006 12:54
von AND51
Winduff hat geschrieben:

Code: Alles auswählen

Global hell, dunkel, hintergrund 
Global Size.f, radius 

Size.f = 35/7 
radius = 2 
Das geht doch für PB 4.00 auch einfacher, oder nicht?

Code: Alles auswählen

Global hell, dunkel, hintergrund, Size.f = 35/7, radius = 2 

Verfasst: 25.08.2006 12:56
von Kiffi
AND51 hat geschrieben:

Code: Alles auswählen

Global hell, dunkel, hintergrund, Size.f = 35/7, radius = 2 
das ist nicht einfacher sondern nur unübersichtlicher.

Grüße ... Kiffi

Verfasst: 25.08.2006 13:11
von AND51
Ja ok. Ich wollte nur drauf hinweisen, dass sowas in PB 4 ja (endlich!) geht.

Verfasst: 25.08.2006 14:28
von winduff
Den Hinweis finde ich gut, wusste ich nicht ;-) Könnte nützlich kommen - zwar unübersichtlich - aber wenn man sauber Codet trägt man die Globals einmal ein und ändert diese nie wieder ;-)

Verfasst: 25.08.2006 15:06
von ts-soft
Irgendwo stand was von PB4 Code ?

Code: Alles auswählen

Select WindowEvent()

Sowas ist wohl unnötig geworden. Anpassen heißt nicht, lauffähig machen,
sondern die Features auch nutzen. :wink: