Warsztat 4: Zegar analogowy na formularzu.

Zegar.zip
Autor: Krzysztof Pozorek
Baza w formacie MsAccess 2000
28kB, 28-05-2007
(Zobacz też przykład Krzysztofa Naworyty dla Accessa 97)

Opis problemu:

Dość popularne jest pytanie: Jak zrobić zegar w Accessie?
Odpowiedź wtedy pada następująca: Ustaw interwał na 1000 ms i oprogramuj zdarzenie Form_Timer.

Private Sub Form_Timer()
      Me!Pole1 = Now()
End Sub

Wszystko pięknie, tylko to nie żaden zegar, ale pole tekstowe ze zmieniającymi się cyferkami ;-) A my chcemy, żeby to był prawdziwy zegar, co ma wskazówkę godzinowa i minutowa, i jeszcze sekundnik, i okrągły cyferblat z godzinami dookoła... Słowem, jak zrobić na formularzu zegar analogowy?

Rozwiązanie:

Człowiek już tak ma, że lubi sobie utrudniać ;-) Wyświetlacz cyfrowy zbudowaliśmy za pomocą jednej linijki kodu, a na zegar analogowy zużyjemy aż 44 linijek.... :-)  Zadanie sprowadza się właściwie do wyliczenia tych sinusów i składowych długości wskazówek w celu wykreślenia ich na formularzu. Jak realizacja takiego zegara wygląda w praktyce, przedstawiono w zamieszczonym przykładzie.

Łatwo przenieść zegar do dowolnej aplikacji, wystarczy przekopiować formularz. Możesz go używać bez żadnych ograniczeń i modyfikować do swoich potrzeb.

K.P.