Binäre Uhr

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
Alves
Beiträge: 1208
Registriert: 19.04.2006 18:24
Kontaktdaten:

Beitrag von Alves »

Das ist ja mal geil!

Und lesen kann man sie auch recht einfach, nur die Sekunden gehen bischen zu schnell :allright:
Benutzeravatar
Creature
Beiträge: 678
Registriert: 29.08.2004 00:55
Wohnort: Frankfurt/Main

Beitrag von Creature »

bei mir läuft die uhr nicht.
ich erhalte ne fehlermeldung mit PB 4.0. mit welcher version wurde sie geschrieben?
Bildung kommt von Bildschirm und nicht von Buch, sonst hieße es ja Buchung.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag 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.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
winduff
Beiträge: 879
Registriert: 10.02.2006 21:05
Wohnort: Gießen
Kontaktdaten:

Beitrag 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
Bild
AND51 hat geschrieben:...und ich würde dein Programm aus Wut zwei mal installieren, um eines genüsslicher löschen zu können, als das andere...
Benutzeravatar
Creature
Beiträge: 678
Registriert: 29.08.2004 00:55
Wohnort: Frankfurt/Main

Beitrag von Creature »

DarkDragon hat geschrieben: Guckt auch mal aufs Datum des Threads, bommelid hat ihn ausgegraben.
recht haste, darauf habe ich nicht geachtet...
Bildung kommt von Bildschirm und nicht von Buch, sonst hieße es ja Buchung.
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag 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 
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
Kiffi
Beiträge: 10711
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag 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
a²+b²=mc²
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Ja ok. Ich wollte nur drauf hinweisen, dass sowas in PB 4 ja (endlich!) geht.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
winduff
Beiträge: 879
Registriert: 10.02.2006 21:05
Wohnort: Gießen
Kontaktdaten:

Beitrag 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 ;-)
Bild
AND51 hat geschrieben:...und ich würde dein Programm aus Wut zwei mal installieren, um eines genüsslicher löschen zu können, als das andere...
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten