Kalendár

 
! Navrhnime program na vytváranie kalendára na zvolený mesiac. Dni nech sa vypíšu po týždňoch do stĺpcov, nedele červeným. Používateľ musí zadať počet dní v mesiaci a číslo dňa, ktorým daný mesiac začína -- 1 pre pondelok, 2 pre utorok, 3 pre stredu...

Riešenie

Do prázdneho formuláru tak ako predtým položíme grafickú plochu -- komponent IMAGE z palety komponentov Additional:

a tlačidlo BUTTON z palety Standard:


! Tomuto tlačidlu zmeňme hneď meno.

v Objekovom inšpektore (ak ho nevidíte, stlačte F11) sa nastavme na časť Caption a prepíšme Button1 na Kalendár.
Čo pribudlo v Unite1?

! V Objektovom inšpektore si všimnime ešte položku Name, ktorú Delphi uplatnia pri názvoch premenných. Prepíšte ju napr. na Kalendar a opäť sa pozrite do deklarácií Unitu1.



Teraz potrebujeme, aby Delphi prečítali nejaké vstupy -- počet dní mesiaca a začiatočný deň. Na to použijeme Edit (editovacie okienko) z palety komponentov Standard


a vložíme ho do formuláru.
Takéto editovacie okienka musíme zrejme vložiť dve. Používame ich vtedy, keď potrebujeme od používateľa niečo načítať, niečo mu oznámiť -- vypísať krátku správu.

! Pozrite sa, čo teraz pribudlo v deklaráciách Unitu1.

Ak chceme, aby mali dané editovacie okienka nadpisy, použime Label opäť z palety Standard.

Nad každé editovacie okienko vlože takýto Label a v Objektovom inšpektore mu zmeňte položku Caption na príslušný nadpis -- nadpis môže byť jedno aj viac slov, ak sa slová nezmestia, zväčšite si vo formulári príslušný Label ťahaním za niektorý roh.
Náš formulár teraz vyzerá nasledovne.
! Opäť sa pozrite do definícií Unitu1, ktorý vytráva Delphi.

! Zapíšte si projekt



Teraz máme pripravené prostredie, môžeme začať programovať.

Najprv dvojkliknime na Form1 (pozor, aby sme neklikli napr. na grafickú plochu alebo niečo na iné). Takto nás Delphi prepnú do Unitu1, kde nám pripravili definíciu procedúry TForm1.FormCreate. Tak ako predtým doplňme do nej zjednodušenie odkazu na našu grafickú plochu  -- priradenie g:=Image1.Canvas; a deklaráciu premennej g.



Kalendár sa má nakresliť po kliknutí na tlačidlo -- túto udalosť spracujeme, keď dvojklikneme vo formulári na toto tlačidlo -- opäť nás Delphi prepnú do Unitu1, kde je už pripravená hlavička procedúry
 
 
procedure TForm1.KalendarClick(Sender: TObject);
begin

end;

Tu napíšte riešenie -- výpis kalendára.
Pozrite si niektoré grafické príkazy.


Ako sa dostať k zadaným hodnotám v editovacích okienkach?

Ako nič nerobiť, keď nie sú zadané hodnoty v editovacích okienkach?

Ako niečo vypísať do grafickej plochy?

Ako zmeniť font a farbu písma?

Ako zmazať plochu?

Ako zistiť, či hodnoty v okienkach sú čísla?




Súbor vznikol na základe cvičení Ruženy Zimanovej