DatumTyp - Visual Basic 6
Download
Report
Transcript DatumTyp - Visual Basic 6
Datumový datový typ
Proměnné pro datum
Funkce pro práci s ním
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
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
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
Ú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
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
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)
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)
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)
Stopky 1
Vytvořte stopky, které
Timer
budou měřit čas ve
vteřinách
Ke sledování času
použijte objekt Timer
Čas zobrazte ve
formátu “nn:ss”
Stopky 2
Nejprve definujeme potřebné proměnné
Dim A As Date
Dim B As Date
Dim K As Boolean
' Spuštení stopek
' Zastavení stopek
' Kontrola chodu stopek
Při spuštění programu nastavíme potřebné
hodnoty proměnných
Private Sub Form_Load()
K = False
End Sub
Stopky 3
Nejprve ošetříme spuštění stopek
If K = False Then
' Stopky stojí
K = True
Timer1.Interval = 1
Command1.Caption = "Konec"
A = Time
' Čas spuštění stopek
Jak na to zareaguje timer?
B = Time
' Momentální čas
Label1.Caption = Format(B - A, "nn:ss")
Stopky 4
Stopky se rozběhly,
zbývá je zastavit
kliknutím na tlačítko
Konec
Jak to ošetřit?
Else
K = False
Timer1.Interval = 0
Command1.Caption = "Start"
' Stopky běží
' Zastavení timeru
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
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
Třída clsTimeTaken
Private StartTime As Long
Private EndTime As Long
Private TotalTime As Long
- počet kliků při stisknutí Start
- počet kliků při stisknutí Konec
- 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
TimeTaken = TotalTime
End Property
- vrací počet milisekund
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
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
Připomínáček 2
Program obsahuje 2
Text1
textboxy (pro čas a
pro sdělení), 2 tlačítka
(spuštění budíku a
ukončení programu) a
nezbytný timer
Text2
Command1
Command2
Připomínáček 3
Po vložení času a textu připomínky
postačí stisknout tlačítko a program se
rozběhne
Private Sub Command1_Click()
Form1.WindowState = 1
timer1.Enabled = True
End Sub
‘ Okno se minimalisuje
‘ Timer se rozběhne
Timer musí mít nastaven interval na
hodnotu větší než 0
Připomínáček 4
Co dělá timer?
Private Sub timer1_Timer()
aktualnicas = Format(Time, "h:mm")
If (aktualnicas = Text1.Text) Then
timer1.Enabled = False
MsgBox (Text2.Text ), , "Osobní budík“
Form1.WindowState = 0
End If
End Sub
A to je všechno
‘ načtení aktuál. času
‘ je-li stejný se zadaným
‘ spustí hlášku
‘ zobrazí připomínáček