Laboratorium z informatyki sem.ll / ćw.11
1. Umieść po lewej stronie formy komponent procentowego wskaźnika Gaugel z zakładki Samples. Nadaj mu postać wykresu kołowego ustawiając jego właściwość Kind na gkPie. Nadaj jego właściwości Visible wartość False, wybierz kolory wykresu ustawiając właściwości Color, ForeColor i BackColor.
2. Nad wykresem umieść etykietę Label3 bez tytułu (z napisem pustym).
3. Zadeklaruj funkcję formy, która zależnie od zaznaczenia kryterium Grupa będzie zwracać liczbę studentów w wybranej grupie lub wszystkich studentów:
function TForml.Licznosc: Integer;
var i:Integer; begin
if CheckBoxl.Checked then begin Result:= 0;
for i:= 0 to LRek-1 do
if Dane[i].grupa = ComboBoxl.Text then Inc(Result); end else Result:= LRek; end;
4. Zadeklaruj procedurę TForml. Wykres, wyświetlającą wykres procentowy i odpowiedni tytuł etykiety:
proceduro TForml.Wykres;
var s: string;
begin
Gaugel.Progress:= Round(ListBoxl.Items.Count/Licznosc*100};
Gaugel.Show;
if CheckBoxl.Checked then
s:=* dla grupy '+ComboBoxl.Text else s:=' dla całego roku';
Label3.Caption:= 'Procent ocen ’ + ComboBox2.Text +s; end;
5. Dodaj na końcu procedury KryteriaClick warunkowe wywołanie procedury Wykres dla wybranej oceny:
if CheckBox2.Checked and (Licznosc>0) then Wykres else begin Gaugel.Hide; Label3.Caption:= 'end;
6. Zapisz zmiany i obejrzyj wykres wybierając różne oceny i grupy w polu kryteriów.
1. Dodaj do paska narzędziowego separator i przycisk o nazwie DoStatystyki. Przypisz nowemu przyciskowi obrazek o nazwie show 123 ustawiając odpowiednio jego właściwość Imagelndex.
2. Dodaj do deklaracji na początku części implementacyjnej modułu zmienną typu pliku tekstowego:
t: TextFile;
3. Utwórz procedurę obsługi zdarzenia OnCreate dla formy, która - zależnie od tego, czy w folderze roboczym znajduje się plik o nazwie ‘Statystyka.txt’ - otworzy do zapisu nowy lub istniejący już plik o tej nazwie
i umieści w nim nagłówek z bieżącą datą i godziną. Wpisz w treści procedury instrukcje:
AssignFile (t, ’Statystyka.txt1);
if not FileExistsfStatystyka.txt') then Rewrite(t) else Append(t);
Writeln(t, 'Statystyka DateTimeToStr(Now));
Writeln (t);
CloseFile (t);
4. Utwórz dla przycisku DoStatystyki procedurę obsługi kliknięcia, która zapisze dane z wykresu do pliku tekstowego. Wpisz w jej treści instrukcje:
i£ Gaugel.Visible then begin Append (t);
Writeln{t, Label3.Caption, ' = Gaugel.Progress, 1 %');
CloseFile(t);
ShowMessage( 'Wynik zapisano w pliku Statystyka.txt' );
end;
5. Zapisz zmiany i uruchom aplikację. Wyświetl kilka wykresów procentowych i obejrzyj plik statystyk.
Rozwinięcie aplikacji
• Zmodyfikuj procedurę ZapiszRekordyClick tak, aby można było zapisać plik pod dowolną nazwą.
• Zmodyfikuj procedurę Wczyta jRekordyClick tak, aby można było czytać wybrany plik o rozszerzeniu .rec.
• Zmodyfikuj procedurę KryteriaClick tak, aby w przypadku, gdy nie jest zaznaczone pole wyboru oceny, wyświetlać na etykiecie Label3 średnią wartość ocen w wybranej grupie lub dla całego roku.
Wskazówka: Do obliczenia średniej można wykorzystać funkcją Licznosc i analogiczną funkcją
zwracającą sumę ocen dla grupy lub całego roku (zależnie od zaznaczenia kryterium grupa)