Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Datumový datový typ Proměnné pro datum Funkce pro práci s ním.

Podobné prezentace


Prezentace na téma: "Datumový datový typ Proměnné pro datum Funkce pro práci s ním."— Transkript prezentace:

1 Datumový datový typ Proměnné pro datum Funkce pro práci s ním

2 Datumový datový typ 1  Tento datový typ je určen pro ukládání datumů a časů  Je uložen jako IEEE 64-bit (8-byte) číslo s pohyblivou desetinou čárkou, které representuje datumy od 1. ledna 100 do 31.prosince 9999 a časy od 0:00:00 do 23:59:59

3 Datumový datový typ 2  Datumový datový typ je zobrazován ve vybraném formátu  Numerické datové typy lze převést na datumový – celá část odpovídá datumu a desetinná část času (např. 0,5 odpovídá poledni)  Záporná celá čísla dopovídají datům před 30.prosincem 1899

4 Funkce zjišťující datum  Date – vrací aktuální datum  Time – vrací aktuální čas  Now – vrací aktuální datum a čas  Jako aktuální datum se rozumí údaj nastavený v PC

5 Údaje o datu a času  Z datumu získaného pomocí funkce Now lze získat jednotlivé části datumu  Second(Now) – vrací vteřiny  Minute(Now) – vrací minuty  Hour(Now) – vrací hodiny  Day(Now) – vrací den  Month(Now) – vrací měsíc  Year(Now) – vrací rok  Weekday(Now) – vrací den v týdnu

6 Formátování datumu  Pomocí funkce Format(Now," dd.mm.yyyy hh:nn:ss AM/PM ") můžeme formátovat údaj získaný pomocí funkce Now jako řetězec v libovolném tvaru zadaném v uvozovkách  Kterýkoliv údaj můžeme vynechat a pořadí zobrazování můžeme měnit  AM/PM zobrazí datum ve 12-ti hodinovém formátu (AM znamená ráno, PM odpoledne)  Existují ještě další formátovací příkazy

7 Vkládání datumu  Funkce DateSerial vrací proměnnou typu Date pro zadané číselné hodnoty rok, měsíc, den.  Syntax: DateSerial(rok,měsíc,den)

8 Funkce pro práci s datumy 1  Funkce DateDiff vrací rozdíl mezi dvěma daty v zadaném intervalu  Syntax: DateDiff(“interval”, datum1, datum2)  Funkce DatePart vrací specifikovanou část zadaného data.  Syntax: DatePart(„interval“, datum)

9 Funkce pro práci s datumy 2  Funkce DateAdd vrací proměnou obsahující datum, které vzniklo tím, že k zadanému datumu byl přidán určený počet časových intervalů  Syntax: DateAdd(interval, počet, datum)

10 Stopky 1  Vytvořte stopky, které budou měřit čas ve vteřinách  Ke sledování času použijte objekt Timer  Čas zobrazte ve formátu “nn:ss” Timer

11 Stopky 2  Nejprve definujeme potřebné proměnné  Při spuštění programu nastavíme potřebné hodnoty proměnných Dim A As Date ' Spuštení stopek Dim B As Date ' Zastavení stopek Dim K As Boolean ' Kontrola chodu stopek Private Sub Form_Load() K = False End Sub

12 Stopky 3  Nejprve ošetříme spuštění stopek  Jak na to zareaguje timer? If K = False Then ' Stopky stojí K = True Timer1.Interval = 1 Command1.Caption = "Konec" A = Time ' Čas spuštění stopek B = Time ' Momentální čas Label1.Caption = Format(B - A, "nn:ss")

13 Stopky 4  Stopky se rozběhly, zbývá je zastavit kliknutím na tlačítko Konec  Jak to ošetřit? Else ' Stopky běží K = False Timer1.Interval = 0 ' Zastavení timeru Command1.Caption = "Start"

14 Stopky s milisekundami 1  Visual Basic sám umí pomocí timeru určit čas na sekundy  Abychom mohli určovat čas přesněji, použijeme systémovou API funkci GetTickCount, která vrací počet milisekundových kliků od startu počítače  Visual Basic sám umí pomocí timeru určit čas na sekundy  Abychom mohli určovat čas přesněji, použijeme systémovou API funkci GetTickCount, která vrací počet milisekundových kliků od startu počítače Private Declare Function GetTickCount Lib "kernel32" () As Long

15 Stopky s milisekundami 2  Vytvoříme třídu clsTimeTaken, která obsahuje dvě metody StartTimer() a StopTimer() a veřejnou vlastnost TimeTaken()  Do stávajícího programu Stopky doplníme na formulář jeden prvek Label a doplníme proceduru reagující na stisknutí tlačítka

16 Třída clsTimeTaken Private StartTime As Long - počet kliků při stisknutí Start Private EndTime As Long - počet kliků při stisknutí Konec Private TotalTime As Long - rozdíl počtu kliků při stisknutí Public Sub StartTimer()- stisknutí Start StartTime = GetTickCount TotalTime = 0 End Sub Public Sub StopTimer() - stisknutí Konec EndTime = GetTickCount TotalTime = EndTime - StartTime Debug.Print TotalTime & " milliseconds (" & TotalTime / 1000 & " seconds)" End Sub Public Property Get TimeTaken() As Long- vrací počet milisekund TimeTaken = TotalTime End Property

17 Procedura Dim Cas As Long Private Sub Command1_Click() If K = False Then ' Stopky stojí K = True objTime.StartTimer-- Spuštění stopek Command1.Caption = "Konec" Label2.Caption = "" A = Time ' Čas spuštění stopek Timer1.Interval = 10 Else ' Stopky běží K = False objTime.StopTimer-- Zastavení stopek Timer1.Interval = 0 Cas = objTime.TimeTaken-- Převzat dosažený čas Label2.Caption = Cas / 1000 Command1.Caption = "Start" End If End Sub

18 Připomínáček 1  Občas se hodí malý prográmek, který vám připomene, že máte něco udělat (třeba jít na oběd nebo zavolat domů)  Stačí do něj vložit požadovaný čas upozornění a zapsat, na co má upozornit

19 Připomínáček 2  Program obsahuje 2 textboxy (pro čas a pro sdělení), 2 tlačítka (spuštění budíku a ukončení programu) a nezbytný timer Text1 Text2 Command1Command2

20 Připomínáček 3  Po vložení času a textu připomínky postačí stisknout tlačítko a program se rozběhne  Timer musí mít nastaven interval na hodnotu větší než 0 Private Sub Command1_Click() Form1.WindowState = 1‘ Okno se minimalisuje timer1.Enabled = True‘ Timer se rozběhne End Sub

21 Připomínáček 4  Co dělá timer? A to je všechno Private Sub timer1_Timer() aktualnicas = Format(Time, "h:mm")‘ načtení aktuál. času If (aktualnicas = Text1.Text) Then‘ je-li stejný se zadaným timer1.Enabled = False MsgBox (Text2.Text ),, "Osobní budík“‘ spustí hlášku Form1.WindowState = 0‘ zobrazí připomínáček End If End Sub

Stáhnout ppt "Datumový datový typ Proměnné pro datum Funkce pro práci s ním."

Podobné prezentace


Reklamy Google