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

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

Proměnné pro datum Funkce pro práci s ním

Podobné prezentace


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

1 Proměnné pro datum Funkce pro práci s ním
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 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)" 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 Command1 Command2

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 "Proměnné pro datum Funkce pro práci s ním"

Podobné prezentace


Reklamy Google