B4 Czas

background image

© W. Treichel, Podstawy Informatyki, sem. 2, Wydział Inżynierii Środowiska

Strona 1 z 4

B4. Instrukcje wyboru

Select Case ... End Select

Z a d B 4 . O k r e ś l e n i e p o r y d n i a . Napisać program, który na podstawie odczytanej
informacji o czasie systemowym komputera, stwierdzi jaka jest to pora dnia i wypisze
odpowiedni komunikat.

Wskazówki do rozwiązania
1. Tworzenie formularza

1.1. Utwórz nowy projekt typu Windows Form Application. Zmień nazwę tworzonego

projektu na Czas. W panelu Solution Explorer zmień nazwę utworzonego formularza
z Form1 na Czas oraz w panelu właściwości zmień napis (Text) na pasku formularza
na Pora dnia.

1.2. Umieść na formularzu napis Określenie pory dnia na podstawie czasu systemowego

w postaci etykiety (Label). Zmień właściwość AutoSize na False. Zadbaj o
odpowiednie położenie (wycentrowanie) oraz czcionkę (Times New Roman, 14,
Pogrubiona)

1.3. Umieść na formularzu ramkę, kontener grupy (GroupBox). Nazwij ją (Name)

RamkaCzasu oraz wyczyść jej tytuł (Text). W miejscu tytułu program będzie
wpisywał informację o aktualnym czasie.

1.4. Umieść wewnątrz ramki etykietę (Label) i nazwij ją lblPoraDnia. Możesz

wycentrować tekst (nadać właściwości TextAlign wartość MiddleCenter), zwiększyć
i pogrubić czcionkę do Times New Roman, 12, Pogrubiona. Wyczyść teraz zawartość
tego pola (wyczyść właściwość Text). W miejscu tytułu program będzie wpisywał
informację o aktualnej porze dnia.

1.5. Umieść na formularzu przycisk akcji (Button), nadaj mu nazwę (Name) btnDane oraz

zmień napis na nim na Nowe Dane.

1.6. Na koniec, umieść na formularzu jeszcze jeden przycisk akcji (Button), nadaj mu

nazwę btnKoniec oraz zmień napis na nim na Koniec.

1.7. Zapisz na dysku utworzony projekt nadając mu nazwę Czas. Wybierz odpowiedni

katalog roboczy i upewnij się, że zaznaczona jest opcja „Utwórz nowy katalog dla
rozwiązania”.

2. Pisanie kodu programu

2.1. Dwukrotne kliknięcie przycisku btnKoniec przeniesie cię do okna kodu, do procedury

obsługi zdarzenia kliknięcia tego przycisku, czyli do procedury

Private

Sub

btnKoniec_Click(...)

.

Wpisz wewnątrz tej procedury polecenie

Close()

powodujące zakończenie programu.

background image

© W. Treichel, Podstawy Informatyki, sem. 2, Wydział Inżynierii Środowiska

Strona 2 z 4

2.2. Analizę aktualnego czasu przeprowadzimy w osobnej procedurze, którą nazwiemy

PoraDnia

. Procedura ta powinna znaleźć się w osobnym module, który może

zawierać również inne nasze funkcje i procedury. Z menu

Project

wybierzmy opcję

AddModule

i nazwijmy nowo tworzony moduł MojeProcedury. Zacznijmy pisać

procedurę

PoraDnia

:

Public

Sub

PoraDnia()

Zauważ, że Visual Basic automatycznie dołoży zakończenie tej procedury, czyli

End

Sub

2.3. Przyjmiemy założenie, że w całym projekcie będzie istniała zmienna globalna t typu

Date

, która będzie przechowywała informację o aktualnym czasie, który należy

przeanalizować. Aby zmienna ta była widziana we wszystkich procedurach modułu
musisz zadeklarować ją jako zmienną publiczną na samym początku modułu (w
sekcji Declarations) jako:

Public

t

As

Date

2.4. W procedurze

PoraDnia

zbadamy jaką wartość ma zmienna t i w zależności od tej

wartości wypiszemy odpowiedni komunikat. W tym celu wykorzystamy instrukcję
wyboru

Select Case

. Fragment kodu może wyglądać następująco (uzupełnij miejsca

wykropkowane):


Select

Case

t

Case

Is

< #7:00:00 AM#

Czas.lblPoraDnia.Text =

"Bardzo wcze

ś

nie rano"

Case

#7:00:00 AM#

To

#11:59:59 AM#

Czas.lblPoraDnia.Text =

"Przed południem"

Case

#12:00:00 PM#

Czas.lblPoraDnia.Text =

"Dokładnie południe"

...

Case

Else

...

End

Select

Zwróć uwagę, że odwołując się do obiektów umieszczonych na formularzu Czas przed
nazwą obiektu (np. nazwą etykiety lblPoraDnia) trzeba podać nazwę tego formularza.

Zwróć również uwagę na cztery różne typy rozpatrywanych przypadków (Case). Jeśli
w jakimś

Case

chcemy sprawdzać, czy obliczona wartość jest mniejsza lub większa od

zadanej liczby to można używać odpowiednich operatorów relacji oraz słowa
kluczowego

Is

.

Jeśli sprawdzana wartość ma się znajdować w pewnym zakresie od dolnej do górnej
wartości to używamy słowa kluczowego

To

. Można też sprawdzać, czy zmienna

sterująca instrukcją

Select Case

przyjmuje konkretną wartość, wtedy wystarczy

podać tą wartość. I w końcu, jeśli żaden z przypadków nie wystąpił, to można
oprogramować przypadek "w przeciwnym razie", czyli

Case Else

.

Nie zapomnij o zakończeniu instrukcji

Select Case

zdaniem

End Select

.

2.5. Przed instrukcją

Select Case

wypiszemy jeszcze aktualny czas w tytule ramki

RamkaCzasu, dbając o konwersję zmiennej

t

na tekst za pomocą funkcji

CStr(),

czyli:

background image

© W. Treichel, Podstawy Informatyki, sem. 2, Wydział Inżynierii Środowiska

Strona 3 z 4

Czas.RamkaCzasu.Text =

"Jest godz. "

&

CStr

(t)

2.6.Wróć ponownie do okna projektowania formularza. Odczytanie aktualnego czasu

systemowego oraz wywołanie napisanej procedury

PoraDnia

umieścimy w

procedurze, która uruchamia się w momencie rozpoczynania pracy programu, czyli w
momencie ładowania głównego formularza do pamięci. Klikając dwukrotnie na
formularz Czas przeniesiemy się do okna kodu do obsługi tego zdarzenia, czyli


Private

Sub

Czas_Load(...)

.....

End

Sub

2.7. Wewnątrz tej procedury nadamy zmiennej globalnej t wartość aktualnego czasu

systemowego podanego przez funkcję

TimeOfDay()

oraz wywołamy naszą procedurę

PoraDnia

, zatem:

t = TimeOfDay()

PoraDnia()

Możesz przetestować teraz działanie programu (nie zapomnij zapisać wprowadzonych
zmian).

2.8. Aby umożliwić sprawdzenie działania programu dla innych danych, nie tylko dla

czasu systemowego, oprogramujmy przycisk NoweDane, umożliwiając podanie nowej
wartości dla zmiennej t za pomocą formularza dialogowego InputBox. Procedura
obsługi zdarzenia kliknięcia przycisku NoweDane może zawierać:

- wywołanie formularza InputBox

NowyCzas = InputBox("Podaj godzin

ę

w formacie gg:mm")

- nadanie zmiennej t odpowiednio skonwertowanej wartości zmiennej NowyCzas

t = CDate(NowyCzas)

- oraz wywołanie procedury

PoraDnia()

.

Należy też zadeklarować na początku tworzonej właśnie procedury zmienną

NowyCzas

jako

String

,

Pamiętamy, że zmienna

t

jest zmienną globalną typu

Date

, czyli

Dim

NowyCzas

As

String

2.9. Zapisz swój projekt, a następnie uruchom go i przetestuj jego działanie na kilku

danych.














background image

© W. Treichel, Podstawy Informatyki, sem. 2, Wydział Inżynierii Środowiska

Strona 4 z 4

Poniżej, dla sprawdzenia, przytoczono kod programu dla tego zadania.

Public

Class

Czas


Private

Sub

btnKoniec_Click(

ByVal

sender

As

System.Object,

ByVal

e

As

System.EventArgs)

Handles

btnKoniec.Click

Close()

End

Sub

Private

Sub

btnNowe_Click(

ByVal

sender

As

System.Object,

ByVal

e

As

System.EventArgs)

Handles

btnNowe.Click


Dim

NowyCzas

As

String

NowyCzas = InputBox(

"Podaj godzin

ę

w formacie gg:mm"

)

t =

CDate

(NowyCzas)


PoraDnia()

End

Sub

Private

Sub

Czas_Load(

ByVal

sender

As

System.Object,

ByVal

e

As

System.EventArgs)

Handles

MyBase

.Load

t = TimeOfDay()
PoraDnia()

End

Sub

End

Class





Module

MojeProcedury

Public

t

As

Date

Public

Sub

PoraDnia()


Czas.RamkaCzasu.Text =

"Jest godz. "

&

CStr

(t)

Select

Case

t

Case

Is

< #7:00:00 AM#

Czas.lblPoraDnia.Text =

"Bardzo wcze

ś

nie rano"

Case

#7:00:00 AM#

To

#11:59:59 AM#

Czas.lblPoraDnia.Text =

"Przed południem"

Case

#12:00:00 PM#

Czas.lblPoraDnia.Text =

"Dokładnie południe"

Case

#12:00:01 PM#

To

#6:00:00 PM#

Czas.lblPoraDnia.Text =

"Po południu"

Case

#6:00:00 PM#

To

#10:00:00 PM#

Czas.lblPoraDnia.Text =

"Wieczór"

Case

Else

Czas.lblPoraDnia.Text =

"Noc"

End

Select

End

Sub


End

Module


Wyszukiwarka

Podobne podstrony:
CZAS WOLNY(1)
Czas w kulturze ped czasu wolnego
czas
czas pracy maszynistówa bezpieczenstwo kolejowe KTS
NG1 KARTA AROWA AR B4
Czas przyszły
Czas nie istnieje, to iluzja – twierdzą (niektórzy) fizycy cz 2
Gately, Ed Cena i Czas zarys metod analizy technicznej
Nadszedł czas, by Michnik nauczył się żyć w demokracji
Dla wyznawcow Chrystusa nastaje coraz trudniejszy czas, ► Dokumenty
Czas wolny, pedagogika
Lekcja 5 Czas Past Simple, lekcje
Umowa na czas wykonania określonej pracy, administracja, prawo pracy, Semestr II
OPONY - oznaczenia, AUDI 80 B4
Przedświąteczny rachunek sumienia, Bałagan - czas posprzątać i poukładać
Blessing in disguise(1), Fanfiction, Blessing in disguise zawieszony na czas nie określony, Doc

więcej podobnych podstron