[ Pobierz całość w formacie PDF ]

ByVal e As System.EventArgs) Handles btnDateProperties.Click
' Deklaracja zmiennej.
Dim dteResults As Date
' Pobranie aktualnej daty i czasu.
dteResults = Now
' Wy wietlanie ró nych w a ciwo ci daty.
MessageBox.Show("Miesi c: " & dteResults.Month, "Wy wietlanie daty")
MessageBox.Show("Dzie : " & dteResults.Day, "Wy wietlanie daty")
MessageBox.Show("Rok: " & dteResults.Year, "Wy wietlanie daty")
MessageBox.Show("Godzina: " & dteResults.Hour, "Wy wietlanie daty")
MessageBox.Show("Minuta: " & dteResults.Minute, "Wy wietlanie daty")
MessageBox.Show("Sekunda: " & dteResults.Second, "Wy wietlanie daty")
MessageBox.Show("Dzie tygodnia: " & dteResults.DayOfWeek, "Wy wietlanie daty")
MessageBox.Show("Dzie roku: " & dteResults.DayOfYear, "Wy wietlanie daty")
End Sub
2. Uruchom projekt. Po kliknięciu przycisku zobaczysz zrozumiałe okna dialogowe.
Typy danych 87
Jak to działa?
Działanie tego kodu jest całkiem proste. Jeśli chcesz pobrać godzinę, musisz użyć właściwości Hour.
Aby pobrać rok, używasz właściwości Year i tak dalej.
Stałe w datach
W poprzednim ćwiczeniu  Spróbuj sam właściwość DayOfWeek zwracała liczbę całkowitą, co widać
na rysunku 3.12.
Rysunek 3.12. Numer dnia tygodnia
Aktualna data to 17 czerwca 2010 roku, jest czwartek, a program wyświetla liczbę 4. Pierwszym
dniem tygodnia w Polsce jest niedziela, a odliczanie rozpoczyna siÄ™ od zera, dlatego czwartek ma
wartość 4. Możliwe jednak, że używasz komputera, na którym ustawienia regionalne określają
poniedziałek jako pierwszy dzień tygodnia. W takiej sytuacji właściwość DayOfWeek zwróciłaby
wartość 3. Skomplikowane? Możliwe, jednak wystarczy zapamiętać, że dzień numer jeden to nie
zawsze poniedziałek. Podobna sytuacja ma miejsce w języku naturalnym  polska środa to po
angielsku Wednesday.
SPRÓBUJ SAM Pobieranie nazw dni i miesiÄ™cy
Jeśli chcesz pobrać nazwę dnia lub miesiąca, najlepiej jest użyć do tego platformy .NET, która zwróci
odpowiednią nazwę na podstawie ustawień regionalnych komputera. Opisuje to poniższe ćwiczenie
 Spróbuj sam .
1. Wróć do okna projektowego w projekcie Date Demo i dodaj do formularza nowy przycisk.
Nazwij go btnDateNames i zmień jego właściwość Text na Nazwy dni i miesi cy.
Kliknij dwukrotnie przycisk i dodaj wyróżniony pogrubieniem kod do metody obsługi
zdarzenia Click:
Private Sub btnDateNames_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnDateNames.Click
' Deklaracja zmiennej.
Dim dteResults As Date
' Pobranie aktualnej daty i czasu.
dteResults = Now
MessageBox.Show("Nazwa dnia tygodnia: " & dteData.ToString("dddd"), _
"Wy wietlanie daty")
MessageBox.Show("Nazwa miesi ca: " & dteData.ToString("MMMM"), _
"Wy wietlanie daty")
End Sub
88 ROZDZIAA 3. PISANIE PROGRAMÓW
2. Uruchom projekt i kliknij przycisk. Zobaczysz dwa okna komunikatu. Jedno wyświetla nazwę
dnia tygodnia (na przykład  Poniedziałek ), a drugie  nazwę miesiąca (na przykład
 Wrzesień ).
Jak to działa?
Kiedy używasz metod z rodziny ToLongDateString, pozwalasz platformie .NET sprawdzić pre-
ferowany przez użytkownika format daty w ustawieniach regionalnych komputera. W ostatnim
przykładzie użyłeś metody ToString, ale podałeś własny sposób formatowania danych.
MessageBox.Show("Nazwa dnia tygodnia: " & dteData.ToString("dddd"), _
"Wy wietlanie daty")
MessageBox.Show("Nazwa miesi ca: " & dteData.ToString("MMMM"), _
"Wy wietlanie daty")
Zwykle nie zaleca się używania metody ToString do formatowania dat, ponieważ lepiej polegać na
wbudowanych formatach platformy .NET. Ciąg "dddd" pozwala wyświetlić nazwę dnia tygodnia,
a "MMMM" reprezentuje nazwę miesiąca. Wielkość znaków jest istotna  ciąg znaków "mmmm" nie
zadziała.
Aby zobaczyć działanie tej techniki, możesz zmienić ustawienia regionalne na angielski. Dowiesz się
wtedy na przykład, że dzień tygodnia to Friday, a nazwa miesiąca to February.
Definiowanie literałów dat
Wiesz już, że literały ciągów znaków definiuje się w następujący sposób:
Dim strResults As String
strResults = "Hura"
Literały dat funkcjonują w podobny sposób, jednak do oznaczenia początku i końca daty służy znak
kratki (#).
SPRÓBUJ SAM Definiowanie literałów dat
W tym ćwiczeniu  Spróbuj sam dowiesz się, jak definiować literały dat.
1. Wróć do okna projektowego w projekcie Date Demo i dodaj do formularza następny przycisk.
Zmień jego nazwę na btnDateLiterals, a właściwość Text  na Litera y dat.
Kliknij dwukrotnie przycisk i dodaj do metody obsługi zdarzenia Click wyróżniony
pogrubieniem kod:
Private Sub btnDateLiterals_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnDateLiterals.Click
' Deklaracja zmiennych.
Dim dteResults As Date
' Przypisywanie do zmiennej daty i czasu.
dteResults = #1/1/2010 8:01:00 AM#
' Wy wietlanie daty i czasu.
MessageBox.Show(dteResults.ToLongDateString & " " & _
dteResults.ToLongTimeString, "Wy wietlanie daty")
End Sub
2. Uruchom projekt i kliknij przycisk. Powinien pojawić się komunikat widoczny na rysunku 3.13.
Typy danych 89
Rysunek 3.13. Wyświetlanie literału daty
Jak to działa?
Definiując literały dat, trzeba używać formatu mm/dd/rrrr, niezależnie od ustawień regionalnych
komputera. Kompilator może nie zgłosić błędu, jeśli zdefiniujesz datę w formacie dd/mm/rrrr,
ponieważ dana data może być poprawna w obu formatach (na przykład 06/07/2010). Ten wymóg
pozwala uniknąć wieloznaczności  czy 6/7/2010 oznacza szósty lipca, czy siódmy czerwca?
UWAGA
W praktyce ta zasada dotyczy wszystkich aspektów programowania  nie ma czegoś takiego
jak dialekty języków programowania. Zwykle najlepiej stosować się do standardów
północnoamerykańskich. Jak dowiesz się z lektury dalszych rozdziałów tej książki, dotyczy
to także nazw zmiennych i metod  na przykład używa się nazwy GetColor (amerykański
angielski) zamiast GetColour (brytyjski angielski).
Warto także pamiętać, że nie trzeba wyświetlać jednocześnie daty i czasu. Można wyświetlić tylko
jednÄ… z tych informacji.
Manipulowanie datami
Jednym z zagadnień, które zawsze sprawiały pewne problemy programistom, jest manipulowanie [ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • apsys.pev.pl