Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Frei konfigurierbare Analogur / Digitaluhr
#1
Das ist mein erstes komplett selbst erstelltes Script. Ich hoffe jemand kann es auch gebrauchen. Man kann die Zeigereigenschaften der Analoguhr komplett anpassen, so das es sich für alle Displaygrößen eignet. Momentan ist es für ein 320 x 240 Display parametriert. (Im Titel muß es natürlich Analoguhr heißen.)

CODE

#Header

/Allgemeine Parameter/
%Param.InvertMode(1)
%Common.SetPriority(1000)
%Param.RenderMode(Full)
%Graph.LoadBitmap('Uhr200d.bmp',60,20,0,0,200,200,0,NONE)

/Variablen für das Berechnen der Zeiger/
%DefVar(SS=0)     /Sinus Sekunden/
%DefVar(CS=0)     /Cosinus Sekunden/
%DefVar(SM=0)     /Sinus Minuten/
%DefVar(CM=0)     /Cosinus Minuten/
%DefVar(SH=0)     /Sinus Stunden/
%DefVar(CH=0)     /Cosinus Stunden/

/Variablen zum Festlegen der Zeigereigenschaften/
%DefVar(XPos=160) /X-Koordinate Zeigermitte/
%DefVar(YPos=120) /Y-Koordinate Zeigermitte/
%DefVar(ZLS=90)   /Zeigerlänge Sekundenzeiger/
%DefVar(ZDS=3)    /Zeigerbreite Sekundenzeiger/
%DefVar(ZLM=90)   /Zeigerlänge Minutenzeiger/
%DefVar(ZDM=5)    /Zeigerbreite Minutenzeiger/
%DefVar(ZLH=70)   /Zeigerlänge Stundenzeiger/
%DefVar(ZDH=5)    /Zeigerbreite Stundenzeiger/

#EndHeader

#TextMode
''
#EndTextMode

#GfxMode

/Zeiger für Sekunden berechnen/
%Assign(SS,%Round(%Mul(%Sin(%Dec(%Mul(%System.GetDateTime(s),6),90)),%ZLS())))
%Assign(CS,%Round(%Mul(%Cos(%Dec(%Mul(%System.GetDateTime(s),6),90)),%ZLS())))

/Zeiger für Minuten berechnen/
%Assign(SM,%Round(%Mul(%Sin(%Dec(%Mul(%System.GetDateTime(n),6),90)),%ZLM())))
%Assign(CM,%Round(%Mul(%Cos(%Dec(%Mul(%System.GetDateTime(n),6),90)),%ZLM())))

/Zeiger für Stunden berechnen/
%Assign(SH,%Round(%Mul(%Sin(%Dec(%Mul(%System.GetDateTime(h),30),90)),%ZLH())))
%Assign(CH,%Round(%Mul(%Cos(%Dec(%Mul(%System.GetDateTime(h),30),90)),%ZLH())))


/Zeiger für Sekunden zeichnen/
%Param.OverlayMode()
%Graph.Pen(%XPos(),%YPos(),1)
%Graph.LineTo(%Inc(%CS(),%XPos()),%Inc(%SS(),%YPos()),%ZDS())

/Zeiger für Minuten zeichnen/
%Graph.Pen(%XPos(),%YPos(),1)
%Graph.LineTo(%Inc(%CM(),%XPos()),%Inc(%SM(),%YPos()),%ZDM())

/Zeiger für Stunden zeichnen/
%Graph.Pen(%XPos(),%YPos(),1)
%Graph.LineTo(%Inc(%CH(),%XPos()),%Inc(%SH(),%YPos()),%ZDH())


/Digitale Uhrzeit und Datum ausgeben/
%LCD.Gfx_SetFont('Tahoma',10,1,Bold)
%Format.AlignCenter()

%Common.CreateNewLine(,0,0)
%Format.Time(hh:nnConfuseds)
%System.GetDateTime(hh:nnConfuseds)

%Common.CreateNewLine(,0,223)
%System.GetDateTime(dd'. 'mmmm' 'yyyy)

#EndGfxMode


Attached Files Thumbnail(s)
   

.zip   Uhr.zip (Size: 1,71 KB / Downloads: 317)


Forum Jump:


Users browsing this thread: 1 Guest(s)