Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
ZveřejnilMarian Kopecký
1
Diář 1 Kalendář
2
Diář Základem diáře je kalendárium, ve kterém můžeme prohlížet jednotlivé měsíce Základem diáře je kalendárium, ve kterém můžeme prohlížet jednotlivé měsíce Toto kalendárium vytvoříme v 1. fázi projektu Toto kalendárium vytvoříme v 1. fázi projektu Ve 2. fázi umožníme zápis a prohlížení poznámek k zadanému datumu Ve 2. fázi umožníme zápis a prohlížení poznámek k zadanému datumu
3
Základní prvky formuláře Skupina jmenovek pro dny – vybraný měsíc Skupina jmenovek pro dny – vybraný měsíc Tlačítka pro výběr zobrazeného měsíce – posun o měsíc (>) nebo o rok (>>) Tlačítka pro výběr zobrazeného měsíce – posun o měsíc (>) nebo o rok (>>) Jmenovka pro zobrazení vybraného měsíce a roku Jmenovka pro zobrazení vybraného měsíce a roku Dny Měsíce Dnes Příští měsíc
4
Výběr měsíce Při volbě současného měsíce naplníme proměnnou dneska současným datem a zavoláme proceduru Vypis, která zobrazuje vybraný měsíc Při volbě současného měsíce naplníme proměnnou dneska současným datem a zavoláme proceduru Vypis, která zobrazuje vybraný měsíc Private Sub Dnes_Click() Dneska = Date Call Vypis End Sub
5
Posun o měsíc Pro posun o měsíc použijeme funkci DateAdd, pomocí které k proměnné dneska připočteme, resp. odečteme právě 1 měsíc Pro posun o měsíc použijeme funkci DateAdd, pomocí které k proměnné dneska připočteme, resp. odečteme právě 1 měsíc Private Sub MesicPlus_Click() Dneska = DateAdd("m", 1, Dneska) Call Vypis End Sub
6
Posun o rok Pro posun o rok použijeme funkci DateAdd, pomocí které k proměnné dneska připočteme, resp. odečteme právě 1 rok Pro posun o rok použijeme funkci DateAdd, pomocí které k proměnné dneska připočteme, resp. odečteme právě 1 rok Private Sub RokPlus_Click() Dneska = DateAdd("yyyy", 1, Dneska) Call Vypis End Sub
7
Zobrazení měsíce 1 Zobrazení měsíčního kalendária lze rozdělit do tří částí: Zobrazení měsíčního kalendária lze rozdělit do tří částí: Zbytek předešlého měsíce Zbytek předešlého měsíce Vybraný měsíc Vybraný měsíc Počátek následujícího měsíce Počátek následujícího měsíce K tomu potřebujeme určit den v týdnu, kterým vybraný měsíc začíná K tomu potřebujeme určit den v týdnu, kterým vybraný měsíc začíná Den = Day(Dneska) Mesic = Month(Dneska) Rok = Year(Dneska) PrvniDen = WeekDay(DateSerial(Rok, Mesic, 1))
8
Zobrazení měsíce 2 Dále potřebujeme znát počet dnů ve vybraném a předchozím měsíci Dále potřebujeme znát počet dnů ve vybraném a předchozím měsíci Proměnné Predchozi a Posledni musí být definovány v části General Proměnné Predchozi a Posledni musí být definovány v části General Call mesice(Mesic, Rok) Select Case Mesic Case 1 Predchozi = 31 Posledni = 31 Label2.Caption = "Leden " + Str(Rok) Case 2 Label2.Caption = "Únor " + Str(Rok) Predchozi = 31 If (Rok Mod 4) = 0 Then Posledni = 29 Else Posledni = 28 End If Case 3 ……..
9
Předešlý měsíc 1 Nejprve se vypočte datum 1. zobrazeného dne Nejprve se vypočte datum 1. zobrazeného dne Odpočet dvou vznikl tím, že Odpočet dvou vznikl tím, že Musíme 1 odečíst na to, že pro předešlý měsíc zbývá právě o 1 den méně než je číslo dne v týdnu 1.dne vybraného měsíce Musíme 1 odečíst na to, že pro předešlý měsíc zbývá právě o 1 den méně než je číslo dne v týdnu 1.dne vybraného měsíce Druhá 1 se odečítá na účet toho, že odečtením počtu zobrazených dní od celkového počtu bychom se dostali na poslední nezobrazované datum Druhá 1 se odečítá na účet toho, že odečtením počtu zobrazených dní od celkového počtu bychom se dostali na poslední nezobrazované datum a = Predchozi - PrvniDen + 2
10
Předešlý měsíc 2 Použijeme cyklus Použijeme cyklus Odečtení 2 je způsobeno zcela obdobným způsobem jako při určování čísla 1. zobrazovaného dne Odečtení 2 je způsobeno zcela obdobným způsobem jako při určování čísla 1. zobrazovaného dne For i = 0 To PrvniDen - 2 Label1(i).Caption = a Label1(i).ForeColor = &H8000000F a = a + 1 Next i
11
Současný měsíc Použijeme cyklus Použijeme cyklus Odečtení 1 od proměnné PrvniDen souvisí s tím, že jmenovky jsou indexovány od 0 Odečtení 1 od proměnné PrvniDen souvisí s tím, že jmenovky jsou indexovány od 0 Kdežto odečítaná 2 je opět vysvětlena již dříve Kdežto odečítaná 2 je opět vysvětlena již dříve a = 1 For i = PrvniDen - 1 To PrvniDen + Posledni - 2 Label1(i).Caption = a Label1(i).ForeColor = &H0 a = a + 1 Next i
12
Následující měsíc Doplnění zbývajících jmenovek je už triviální využití cyklu Doplnění zbývajících jmenovek je už triviální využití cyklu a = 1 For i = PrvniDen + Posledni - 1 To 41 Label1(i).Caption = a Label1(i).ForeColor = &H8000000F a = a + 1 Next i
13
Označení dnešního dne Pro označení aktuálního dne, resp. všech dnů od něj vzdálených o určitý počet měsíců nebo dnů je snadné Pro označení aktuálního dne, resp. všech dnů od něj vzdálených o určitý počet měsíců nebo dnů je snadné A to je všechno A to je všechno a = 1 For i = PrvniDen - 1 To PrvniDen + Posledni - 2 Label1(i).Caption = a Label1(i).ForeColor = &H0 If a = den Then Label1(i).ForeColor = &HFF a = a + 1 Next i
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.