Wydział Transportu 1\W.
Laboratorium z informatyki sem.II / ćw.7
1. Zadeklaruj metodę formy, która wybiera najstarszy leksykograficznie tekst z siatki:
function TForml.Najstarszy:string;
var i: Integer;
begin
Resuit:^StringGridl.Cells[0,0]; with StringGridl do for i:=l to RowCount-1 do if Result<Cells[0,i] then Result:= Cells[0,i];
end;
(Deklarację umieść w części implementacyjnej modułu, a jej nagłówek w definicji formy.)
2. Utwórz procedurę obsługi kliknięcia dla grupy opcji, która zgodnie z wybraną opcją wykonuje pierwsze dwie operacje na tekstach widocznych w siatce i umieszcza wyniki w polu listy ListBoxl:
proceduro TForml.RadioGrouplClick(Sender: TObject); begin
ListBoxl.Clear;
CheckBoxl.Checked:=False; with StringGridl do
case RadioGroupl,Itemlndex of 0: ListBoxl.Items;= Cols[0];
1: ListBoxl.Items.Add(Najstarszy); end;
end;
3. Utwórz i oprogramuj procedurę obsługi kliknięcia dla komponentu CheckBoxl z instrukcją sortowania listy:
ListBoxl.Sorted:=CheckBoxl.Checked;
4. Zapisz wprowadzone zmiany, uruchom i przetestuj aplikację.
1. Utwórz procedurę usuwającą zaznaczenie wyboru opcji i czyszczącą listę przy zmianie tekstu w siatce:
proceduro TForml.ZmianaDanych; begin
RadioGroupl.Itemlndex: =-l;
ListBoxl.Clear; end;
2. 1Jtwórz procedurę obsługi zdarzenia OnSetEditText dla siatki tekstowej i wywołaj w niej procedurę ZmianaDanych. Dodaj wywołanie procedury ZmianaDanych do procedur obsługi kliknięcia przycisków Wpisz i Kasuj.
1. Analogicznie do punktu 111.1 zadeklaruj funkcję TForml. Najdłuższy wybierającą najdłuższy tekst z siatki, używając w niej funkcji Lcngth dla porównania długości tekstów. Dodaj odpowiednią pozycję w instrukcji case procedury RadioGrouplClick z wywołaniem tej metody i przetestuj działanie opcji najdłuższy tekst.
2. Dodaj pozycję w instrukcji case dla opcji długości tekstów, która powoduje wyświetlenie na liście w postaci tekstu liczby znaków w odpowiednich tekstach siatki.
Zastosuj w pętli for metodę Items.Add oraz funkcję Length z odpowiednią funkcją konwersji liczby na tekst.
3. Dodaj pozycję w instrukcji case dla opcji duże litery. Zastosuj w pętli for metodę Items.Add oraz funkcję AnsilipperCase.
4. Dodaj pozycję w instrukcji case dla opcji wspak. Zastosuj w pętli for metodę Items.Add oraz funkcję RevcrseString. Do klauzuli uses dodaj nazwę modułu StrUtils z implementacją tej funkcji.
5. Zapisz wprowadzone zmiany, uruchom i przetestuj aplikację.
Rozwiniecie aplikacji
* Oprogramuj operację dla opcji odwrotna kolejność, stosując instrukcję for w wersji down to (patrz materiały).
* Dodaj opcję teksty o danej długości i oprogramuj operację, dopisując do prawej listy tylko te teksty z siatki, dla których liczba znaków jest równa wartości podanej za pośrednictwem funkcji InputBox.