11 1

11 1



Wydział Transportu PW


Laboratorium z informatyki sem.ll / ćw.11 Zadanie

Rozbudować aplikację z poprzedniego ćwiczenia, umożliwiając;

♦ wczytywanie danych z pliku elementowego    ♦ sortowanie wczytanych danych

♦ wyświetlanie w postaci graficznej statystyki ocen    ♦ zapisywanie statystyk w pliku tekstowym.

Na zajęciach należy wykorzystać plik elementowy o nazwie Studenci.rec, który zawiera dane o studentach i ocenach w postaci rekordów typu Student.

I    Wczytanie danych z pliku elementowego

1.    Skopiuj pliki utworzone na poprzednich ćwiczeniach z foldera sieciowego Informatyka na Novel411...\ INF2\L11 do foldera roboczego.

2.    Dodaj do listy w komponencie ImageListl obrazki przycisków fldr2open, arro\v3d,picture, report, datę, show.

3.    Zadeklaruj metodę formy umieszczającą wszystkie dane z tablicy rekordów w postaci wierszy tekstu na listach ComboBox3 i ListBox1 oraz u suwającą zaznać zen i a pól wyboru;

procedurę TForml.WyswietlRekordy;

var i:    Integer;

begin

ComboBox3.Items.Clear;

for i:= 0 to Lrek-1 do with Dane[i] do

ComboBox3.Items.Add(nr_alb+'    '+nazwisko+’ '+grupa+' '+

DatetoStr(data) +'    '+ FloatToStr(ocena));

//po każdym polu dodajemy jedną spację ListBoxl.Items:= ComboBox3.Items;

ComboBox3.Itemlndex:= 0;

CheckBoxl.Checked:= False; CheckBox2.Checked:= False; end;

4.    Umieść separator przed ostatnim przyciskiem paska narzędziowego. Następnie dodaj nowy przycisk o nazwie WczytajRekordy i utwórz dla niego procedurę obsługi kliknięcia, która wczyta rekordy z elementowego pliku studenci. rec do tablicy Dane i wyświetli je w postaci tekstowej na obu listach. Oto instrukcje tej procedury;

AssignFile(f,    'Studenci.rec’);

try

Reset(f);

Lrek:= FileSize(f); try

for i:=0 to Lrek - 1 do Read(f, Danefi]);

WyswietIRekordy; finally

CloseFile(f); end

except

ShowMessage(' Błąd przy czytaniu danych'); end;

Po nagłówku procedury zadeklaruj licznik pętli i zmienną plikową f o elementach typu student: var i: Integer; f: file of Student;

5.    Zapisz zmiany i wypróbuj działanie przycisku.

II    Sortowanie rekordów tablicy danych


1.    Dodaj do paska narzędziowego separator i nowy przycisk rozwijalny o nazwie Sortuj - dla właściwości Style - wybierz wartość tbsDropDown.

2.    Wstaw na formę komponent PopupMenul z zakładki Standard. Jako wartość jego właściwości Images ustaw ImageListl. Dodaj trzy pozycje menu o tytułach: wg nazwiska, wg oceny, wg daty i wybierz dla nich obrazki ustawiając właściwość Imagelndex.

3.    Przypisz komponent PopupMenul do właściwości DropDownMenu przycisku Sortuj.

4.    Dla pierwszej pozycji menu utwórz procedurę obsługi kliknięcia, która sortuje tablicę rekordów Dane według nazwisk studentów i wyświetla je na obu listach ComboBox3 i ListBox1. W treści procedury umieść instrukcje:

for i:=0 to LRek-2 do for j:=i+l to LRek-1 do

if AnsiCompareText(Dane[i] .nazwisko, Dane[j].nazwisko)>0 then begin pom:=Dane[i]; Dane[ij:=Dane[j]; Dane[j]:=pom; end;

WyswietlRekordy;

Pod nagłówkiem procedury umieść deklarację zmiennych lokalnych: var i,j: Integer; pom: Student;

5.    Zapisz zmiany, uruchom program i zaobserwuj posortowaną postać listy danych.

6.    Analogicznie oprogramuj polecenia sortowania według oceny i według daty. Sprawdź działanie oprogramowanych poleceń menu.


Wyszukiwarka

Podobne podstrony:
10 1 Wydział Transportu PW Laboratorium z informatyki sem.ll / ćw.10 Zadanie Utworzyć aplikację w
11 3 Wydział Transportu PW Laboratorium z informatyki sem.IL/ ćw. 11Materiały pomocnicze do ćwiczeni
11 4 Wydział Transportu PW Laboratorium z informatyki sem.II./ ćw. 11Zagnieżdżanie instrukcji
3 3 Wydział Transportu PW Laboratorium z informatyki sem.II. ćw. 3 Materiały pomocnicze do ćwiczenia
1 1 Wydział Transportu PW Laboratorium z informatyki sem.II/ ćw. 1 Zadanie Utworzyć aplikację w środ
cw8b Wydział Transportu PW Laboratorium informatyki sem. II / ćw. 8III    Generowanie
3 4 Wydział Transportu PW Laboratorium z informatyki sem.II. ćw. 3 Zdarzenie OnCreate dla formy Zdar

więcej podobnych podstron