C++ zegar

background image

1

Samouczek

Builder C++

Sterowanie zegarowe

Krok po kroku

Dr inż.Stanisław Lipski

!

background image

2

Borland Builder 6.0

• Jak utworzyć aplikację zegara?
• Jak wykorzystać Timer do sterowania

aplikacją?

• Krok po kroku!

background image

Wstęp

• Timer pozwala wykonywać określony kod co określony

przedział czasu

• W przeciwieństwie do zegara w systemie, timer jest pod

kontrolą i do dyspozycji programisty

• Timer jest komponentem niewidocznym w aplikacji.

3

background image

Własności

• Właściwość Interval oznacza okres czasu (w milisekundach), który

upływa między kolejnymi zdarzeniami OnTimer (wartością domyślną

jest 1000 = jedna sekunda)

• Wwłaściwość Enabled (bool) określa, czy timer jest włączony (true -

wartość domyślna), czy

• Wyłączony (false); kiedy timer jest wyłączony, nie generuje

zdarzenia OnTimer


4

background image

Krok 1 – projekt aplikacji

5

Formularz projektu naszej aplikacji składać się będzie z dwóch

przycisków Button1 oraz Button2 reprezentujących klasę TButton.

Wykorzystamy też komponent etykietę Label zakładki Standard

oraz Timer z zakładki System.

background image

6

Krok 2

• Umieść na formularzu dwa przyciski z napisami

“Start” i “Stop”.

• Umieść etykietę Label i ustaw jej czcionkę na

Arial, rozmiar 100. Ustal jej kolor.

• W tytule (caption) okna napisz Zegar.
• W celu zbudowania działającego zegara

wykorzystaj komponent TTimer z zakładki System.

• Ustaw dla niego Interval na 1000 (1 sekunda) i

Enabled na false, jeśli chcesz aby po naciśnięciu

przycisku “Start” zegar zaczął pokazywać co

sekunda właściwy czas. Jeśli sam ma się włączać –

ustaw true.

• W tym celu w obsłudze OnClick dla przycisku

“Start” wywołaj pokazanie aktualnego czasu i

włączenie timera, który zadba o właściwe

odświeżanie aplikacji.

background image

Krok 3- kody przycisków

Start

Timer1->Enabled=true;
Label1->Caption=TimeToStr(Time());

Timer

Label1->Caption=TimeToStr(Time());

Stop

Timer1->Enabled=false;

7

Zapisz, skompiluj i uruchom.

background image

8

Krok 4- wynik

background image

Zadanie 1

• Zaprojektować aplikację sterującą światłami na

skrzyżowaniu

9

background image

Rozwiązanie

10

Panel

Kształty (Tshape)

background image

Uzupełnienie

• Jeśli chcemy, aby zaznaczenie

wskaźnikiem myszy dowolnego kółka

zamknęło aplikację to:

• zaznaczamy kontrolkę shpRed
• trzymając wciśnięty klawisz Shift,

zaznaczamy pozostałe kółka:

shpGreen i shpYellow.

• W funkcji obsługi zdarzenia

OnMouseDown wpisujemy: Close();

11

background image

Budowanie kodu

void __fastcall TForm1::shpRedMouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
Close();
}

pozostałe kółka będą miały identyczną funkcję

umieszczamy na formularzu timer

implementujemy jego funkcję obsługi zdarzenia OnTimer

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
if( shpRed->Brush->Color == clRed )
{Timer1->Interval = 3500;
shpRed->Brush->Color = clSilver;
shpYellow->Brush->Color = clSilver;
shpGreen->Brush->Color = clGreen;}
else if( shpGreen->Brush->Color == clGreen )
{Timer1->Interval = 2000;
shpRed->Brush->Color = clSilver;
shpYellow->Brush->Color = clYellow;
shpGreen->Brush->Color = clSilver;}

12

background image

Budowanie kodu cd.

• else if(shpYellow->Brush->Color == clYellow )
• {Timer1->Interval = 5000;
• shpRed->Brush->Color = clRed;
• shpYellow->Brush->Color = clSilver;
• shpGreen->Brush->Color = clSilver;}

• Zobacz inne przykłady:
http://www.yevol.com/en/bcb/

13

background image

14

Dziękuję za zainteresowanie

• stlipski@gmail.com


Wyszukiwarka

Podobne podstrony:
Zegar atomowy, Fizyka
Zegar
2632 Gigantyczny zegar
Laboratorium 4 zegar
zegar sprawozdanie
2721Mikroprocesorowy zegar kombajn czasu
Zegar
9.Zegar demograficzny 2014, SOCJOLOGIA UJ, Socjologia ludności. UJ. Slany
zegar z papierowego talerzyka
!Agatha Christie Tajemnica Siedmiu Zegar%c3%b3w
Wieża Wiatrów w Atenach Zegar Wodny
Zegar
zegar na rękę
domino zegar

więcej podobnych podstron