Stosowanie komponent贸w Calendar i ProgressBar
Komponent Calendar to tabelka okre艣laj膮ca dni miesi膮ca i odpowiadaj膮ce im nazwy dni tygodnia. Podstawowe w艂a艣ciwo艣ci:
Month - w艂a艣ciwo艣膰 okre艣laj膮ca numer miesi膮ca
Day - w艂a艣ciwo艣膰 okre艣laj膮ca numer dnia w miesi膮cu.
Komponent ProgressBar to wska藕nik przebiegu procesu. Podstawowe w艂a艣ciwo艣ci:
Min - minimalna warto艣膰 s艂upka wska藕nika - pozycja startowa
Max - maksymalna warto艣膰 s艂upka wska藕nika - pozycja ko艅cowa
Position - bie偶膮ca pozycja wska藕nika - proporcjonalnie do tego wskazania nast臋puje zamalowanie s艂upka wska藕nika innym kolorem.
膯wiczenie 3.8
Zadanie aplikacji
Aplikacja pokazuje kalendarz z zaznaczon膮 bie偶膮c膮 dat膮. Na etykiecie uwidocznione jest, ile dni up艂yn臋艂o od pocz膮tku roku, dwa s艂upki wykresu pokazuj膮 w procentach, jak膮 cz臋艣膰 roku i jak膮 cz臋艣膰 miesi膮ca mamy ju偶 za sob膮. Po zaznaczeniu w kalendarzu innego dnia nast臋puje aktualizacja wykres贸w.
Nowe umiej臋tno艣ci
Zastosowanie s艂upk贸w zaawansowania procesu ProgressBar i kalendarza.
Na formularzu umie艣膰 komponenty:
Calendar z karty Sample:
dwa komponenty ProgressBar z karty Win32; pierwszy do pokazywania przebiegu czasu dla miesi膮ca i drugi dla roku.
dwie etykiety, umieszczaj膮c je obok s艂upk贸w ProgressBar; ustaw napisy na etykietach odpowiednio: Miesi膮c, Rok.
Wyskaluj ProgressBar z etykiet膮 Rok w nast臋puj膮cy spos贸b:
Min 1
Max 365
Dla komponentu ProgressBar z etykiet膮 Miesi膮c ustaw w艂a艣ciwo艣膰
Min 1
Wpisz procedur臋 OnActivate dla formularza:
procedure TForm1.FormActivate(Sender: TObject);
//tablica sta艂ych okre艣laj膮ca liczb臋 dni w miesi膮cu
const Miesiac:array[l..12]ofInteger=(31,28,31,30,31,30,31,31,30,31,30,31);
var m, i, ile_dni: Integer;
begin
m:=Calendar1.Month;
ProgressBar1.Max: = Miesiac[m]; //maksymalna liczba dni w danym miesi膮cu
ProgressBar1.Position: = Calendarl.Day //bie偶膮cy dzie艅 w miesi膮cu
ile_dni:=0; //p臋tla oblicza, ile dni up艂yn臋艂o od pocz膮tku roku do danego miesi膮ca
for i:=1 to m-1 do
ile_dni := ile_dni + Miesiac[i];
ile_dni :=ile_dni + Calendar1.Day-1;
Label2.Caption:=Label2.Caption + IntToStr(ile_dni);
ProgressBar2.Position:=ile_dni;
Label1.Caption:=Label1.Caption + IntToStr(Calendar1.Day);
end;
Uruchom aplikacje i sprawd藕 jej dzia艂anie.
Zadanie l
Dodaj do aplikacji reakcje na zmian臋 daty w kalendarzu, tak aby aktualizowa艂y si臋 s艂upki stanu.
Zadanie 2
Wykonaj to samo 膰wiczenie, stosuj膮c zamiast s艂upk贸w ProgressBar komponent Gauge z karty Sample.
Zadanie 3
Dodaj list臋 wyboru z nazwami miesi臋cy i ustawiaj z listy numery miesi臋cy (w艂a艣ciwo艣膰 Month komponentu Calendar).
Stosowanie komponent贸w Calendar i ProgressBar
Komponent Calendar to tabelka okre艣laj膮ca dni miesi膮ca i odpowiadaj膮ce im nazwy dni tygodnia. Podstawowe w艂a艣ciwo艣ci:
Month - w艂a艣ciwo艣膰 okre艣laj膮ca numer miesi膮ca
Day - w艂a艣ciwo艣膰 okre艣laj膮ca numer dnia w miesi膮cu.
Komponent ProgressBar to wska藕nik przebiegu procesu. Podstawowe w艂a艣ciwo艣ci:
Min - minimalna warto艣膰 s艂upka wska藕nika - pozycja startowa
Max - maksymalna warto艣膰 s艂upka wska藕nika - pozycja ko艅cowa
Position - bie偶膮ca pozycja wska藕nika - proporcjonalnie do tego wskazania nast臋puje zamalowanie s艂upka wska藕nika innym kolorem.
膯wiczenie 3.8
Zadanie aplikacji
Aplikacja pokazuje kalendarz z zaznaczon膮 bie偶膮c膮 dat膮. Na etykiecie uwidocznione jest, ile dni up艂yn臋艂o od pocz膮tku roku, dwa s艂upki wykresu pokazuj膮 w procentach, jak膮 cz臋艣膰 roku i jak膮 cz臋艣膰 miesi膮ca mamy ju偶 za sob膮. Po zaznaczeniu w kalendarzu innego dnia nast臋puje aktualizacja wykres贸w.
Nowe umiej臋tno艣ci
Zastosowanie s艂upk贸w zaawansowania procesu ProgressBar i kalendarza.
Na formularzu umie艣膰 komponenty:
Calendar z karty Sample:
dwa komponenty ProgressBar z karty Win32; pierwszy do pokazywania przebiegu czasu dla miesi膮ca i drugi dla roku.
dwie etykiety, umieszczaj膮c je obok s艂upk贸w ProgressBar; ustaw napisy na etykietach odpowiednio: Miesi膮c, Rok.
Wyskaluj ProgressBar z etykiet膮 Rok w nast臋puj膮cy spos贸b:
Min 1
Max 365
Dla komponentu ProgressBar z etykiet膮 Miesi膮c ustaw w艂a艣ciwo艣膰
Min 1
Wpisz procedur臋 OnActivate dla formularza:
procedure TForm1.FormActivate(Sender: TObject);
//tablica sta艂ych okre艣laj膮ca liczb臋 dni w miesi膮cu
const Miesiac:array[l..12]ofInteger=(31,28,31,30,31,30,31,31,30,31,30,31);
var m, i, ile_dni: Integer;
begin
m:=Calendar1.Month;
ProgressBar1.Max: = Miesiac[m]; //maksymalna liczba dni w danym miesi膮cu
ProgressBar1.Position: = Calendarl.Day //bie偶膮cy dzie艅 w miesi膮cu
ile_dni:=0; //p臋tla oblicza, ile dni up艂yn臋艂o od pocz膮tku roku do danego miesi膮ca
for i:=1 to m-1 do
ile_dni := ile_dni + Miesiac[i];
ile_dni :=ile_dni + Calendar1.Day-1;
Label2.Caption:=Label2.Caption + IntToStr(ile_dni);
ProgressBar2.Position:=ile_dni;
Label1.Caption:=Label1.Caption + IntToStr(Calendar1.Day);
end;
Uruchom aplikacje i sprawd藕 jej dzia艂anie.
Zadanie l
Dodaj do aplikacji reakcje na zmian臋 daty w kalendarzu, tak aby aktualizowa艂y si臋 s艂upki stanu.
Zadanie 2
Wykonaj to samo 膰wiczenie, stosuj膮c zamiast s艂upk贸w ProgressBar komponent Gauge z karty Sample.
Zadanie 3
Dodaj list臋 wyboru z nazwami miesi臋cy i ustawiaj z listy numery miesi臋cy (w艂a艣ciwo艣膰 Month komponentu Calendar).