Allgemeine Fragen zur PROFAN Programmierung

Views (Heute): 249107 (10543)

| Suchen
| Zurück zur Übersicht

Autor | Thema: Bahnsteiguhr
Ulrich
| Datum:18.03.02 20:55 |
hallo liebe profaner, ein basicumsteiger möchte für seine modellbahnsteuerung eine typische Bahnsteig-analoguhr,die evt.auch in der größe veränderbar ist programmieren.gibt es schon quellcodes oder wer kann helfen? mfg ulrich
Andreas Miethe
| Datum: 18.03.02 21:53 (andreas@andreas-miethe.de) |
Hallo Ulrich, hier ein Beispiel fuer eine Analoguhr. Gruss Andreas '--------------------------------- Declare xi%,yi% Declare ende% Proc Rechnen Parameters Winkel! Declare x!,y! Winkel! = Winkel! - (@PI()/2) 'Winkel um 90 Grad zurück x! = @COS(Winkel!) y! = @SIN(Winkel!) x! = x! * (@Width(%hwnd) / 2) 'Radius korrigieren y! = y! * (@Height(%hwnd) / 2) x! = x! + (@Width(%hwnd) / 2) 'auf Fenstermittelpunkt setzen y! = y! + (@Height(%hwnd) / 2) xi%= @INT(x!) 'Nur Ganzzahlen yi%= @INT(y!) EndProc Proc Zeiger Declare Winkel% Declare Hour%,Min%,sec%,x%,y% Hour% = @VAL(left$(@Time$(0),2)) Min% = @VAL(Mid$(@Time$(0),4,2)) sec% = @VAL(left$(@Time$(1),2)) Ellipse 0,0-@Width(%hwnd),@Height(%hwnd) 'Kreis zeichnen Rechnen (2* @PI()/60)*sec% 'Sekundenzeiger ausrechnen MoveTo (@Width(%hwnd) / 2), (@height(%hwnd) / 2)'auf Fenstermittelpunkt setzen LineTo xi%,yi% 'Sekundenzeiger zeichnen Rechnen (2* @PI()/60)*min% 'Minutenzeiger MoveTo (@Width(%hwnd) / 2), (@height(%hwnd) / 2) LineTo xi%,yi% If hour% > 12 Hour% = hour% - 12 EndIf Rechnen (2* @PI()/12)*hour% 'Stundenzeiger MoveTo (@Width(%hwnd) / 2), (@height(%hwnd) / 2) LineTo xi%,yi% Settext %hwnd,Time$(0) + ":" + left$(@Time$(1),2) EndProc Proc GoUhr Declare Ende% SetTimer 1000 Let Ende% = 0 WHILENOT Ende% WaitInput If %wmTimer Zeiger EndIf ENDWHILE KillTimer EndProc window 0,0-300,340 settruecolor 1 whilenot ende% GoUhr wend end '---------------------------------

| Zurück zur Übersicht