Seite 1 von 1

Silvester Countdown

Verfasst: 23.12.2008 19:10
von X360 Andy
Da mir gerade langweilig war , hab ich einen (bis jetzt noch) kleinen Silverster Countdown gemacht.


Ich hab vor den Countdown noch um einiges zu erweitern so das er einen ca. 3-6 Stunden unterhällt ( mit Bildern und Videos aus dem Jahre 2008) (Bei Video , mach ich das einfach so das er das Video ca. 10-20 min vorher runterlädt (aus dem Internet ) und es dann zu X Zeit abspielt und danach wieder löscht ( so das man eigentlich gar nicht mitbekommt :allright: )

Der Code aufsich funktioniert wunderbar
1 Probleme hab ich schon endeckt (wo ich gerade auch keine lösung finde)
--Wenn 60Sekunden rum sind bleibt die 0 ca. 10 Sekunden stehen und dann fängt er bei 50 Sekunden wieder an ( das gleiche bei den Minuten )
Dafür wüsste ich jetzt keine lösung ?

Ich weiß nicht wieso ich den code in die Laberecke poste, einfach so 8)

Vieleicht habt ihr ideen ?
Oder sonst was anzumerken ?
Oder wollt ihr einfach euren Silverster Gruß los werden ?
:D

Hier der bisherige Code ... :freak:

Code: Alles auswählen

Procedure Window()
  Protected EventID
  Shared Quit
  EventID = WindowEvent()
  Repeat
    If EventID = #PB_Event_CloseWindow
      Quit = 1
    EndIf
    EventID = WindowEvent()
  Until EventID = 0
EndProcedure
;/
Procedure Ende(Text$)
  Shared Titel$
  MessageRequester (Titel$, Text$)
  End
EndProcedure
If Not (InitSprite() And InitKeyboard())
  Ende("Init Error")
EndIf
ScreenX = 800 
ScreenY = 600
XZ = 0
ZX = 0
If OpenWindow(0, XZ, ZX, ScreenX, ScreenY, "Countdown", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  If OpenWindowedScreen(WindowID(0), XZ, ZX, ScreenX, ScreenY, 0, 0, 0)
    SetFrameRate(50)
  Else
    Ende("Screen Error")
  EndIf
Else
  Ende("Window Error")
EndIf



 Repeat      
  Window() 
  ClearScreen(0)
  StartDrawing(ScreenOutput())
  DrawingMode(#PB_2DDrawing_Transparent)

      Jahr$ = FormatDate("%yyyy",Date())
      Tag$ = FormatDate("%dd", Date())  
      Monat$ = FormatDate("%mm", Date())
      Stunde$ = FormatDate("%hh", Date())  
      Minute$= FormatDate("%ii", Date())  
      Sekunden$= FormatDate("%SS", Date())  
      
 For i = 1 To 24  
 If stunde$ = Str(i)
 stunden = 24-i
 EndIf
 Next
 
 For m = 1 To 60  
 If Minute$ = Str(m)
 
 Minuten = 60-m
 EndIf
 Next
 
 For s = 1 To 60  
 If Sekunden$ = Str(s)
 Sekunden = 60-s
 EndIf
 Next
 
 For J = 2000 To 3000 ; Wenn es uns dann noch gibt ^^  
 If Jahr$ = Str(j)
 Jahr = j
 EndIf
 Next

For t = 1 To 31
If Tag$ = Str(t)
Tag = t
TagC = 31-t
EndIf
Next 



If monat$ = "12"
  If tag$ => "1" And tag$ =< "30"
   DrawText(ScreenX/2-200,ScreenY/2-100,"Noch "+Str(tagc)+" Tage "+Str(stunden-1)+" Stunden "+Str(Minuten-1)+" Minuten und "+Str(Sekunden-1)+" Sekunden bis Silvester",  $FFFFFF)
  If 
  EndIf
  If tag$ = "31"
   DrawText(ScreenX/2-200,ScreenY/2-100,"Noch "+Str(stunden-1)+"Stunden "+Str(Minuten-1)+" Minuten und"+Str(Sekunden-1),  $FFFFFF)
  EndIf
  If Tag$ = "31" And stunden-1 = 5
  ;folgt (-;
  EndIf
  ;usw 
  
  
  
  
EndIf
      
      
  StopDrawing()
  Delay(1)
  FlipBuffers()
Until quit = 1
P.s sowie der Code jetzt ist , geht er nur im Dezember (oder man verstellt die uhr ... )
Ich hatte keine lust das auch noch für die verschiedenen Monate(und deren Tage) zu berechnen :(

Verfasst: 23.12.2008 20:23
von Joel
Warum steht hier das "IF so alleine?

Code: Alles auswählen

If monat$ = "12" 
  If tag$ => "1" And tag$ =< "30" 
   DrawText(ScreenX/2-200,ScreenY/2-100,"Noch "+Str(tagc)+" Tage "+Str(stunden-1)+" Stunden "+Str(Minuten-1)+" Minuten und "+Str(Sekunden-1)+" Sekunden bis Silvester",  $FFFFFF) 
If

Code: Alles auswählen

  EndIf 
  If tag$ = "31" 
   DrawText(ScreenX/2-200,ScreenY/2-100,"Noch "+Str(stunden-1)+"Stunden "+Str(Minuten-1)+" Minuten und"+Str(Sekunden-1),  $FFFFFF) 
  EndIf 
  If Tag$ = "31" And stunden-1 = 5 
  ;folgt (-; 
  EndIf 
  ;usw 

Idee: Du könntest den Contdown Live machen also die Uhrzeit Live übers Internet abrufen. Da gab es ein Beispiel im "Code-Forum, ich finde es aber gerade nicht!!!