lab6
Transkrypt
lab6
Lab. Informatyki P. Mazurek ©2016 Zadanie15. Wykorzystanie komponentu RadioButton Na formularzu umieścić komponenty Panel i GroupBox. Dodać 3 przyciski RadioButton (wewnątrz komponentu GroupBox). Zmień Caption RadioButtonów odpowiednio na 3 dowolne nazwy kolorów, Dla zdarzenia OnClick z napisem np. zielonym przypisz: procedure Tform1.RadioButton2 Click(Sender: TObject); begin If RadioButton2.Checked then Panel1.color:=clGreen; end; Sprawdzić właściwość checked. (np. dla czerwonego ustawić na True). Zsynchronizowanie ustawień na początku działania programu – dla zdarzenia OnActivate dla formularza wpisać procedurę: Panel1.Color:=clGreen. Zadanie16. Komponent RadioGroup. Na formularzu umieścić etykietę oraz komponenty: RadioGroup i RichEdit. Ustaw właściwości RadioGroup: caption - kolor, columns – 2, ItemIndex – 0, Items (wejście do edytora Strings List i zdefiniowanie przy przyciskach napisów – czerwony, zielony, niebieski żółty). Dla zdarzenia OnClick komponentu RadioGroup wpisz procedurę: begin case radiogroup1.itemindex of 0:RichEdit1.Font.Color:=clred; 1:RichEdit1.Font.Color:=clgreen; 2:RichEdit1.Font.Color:=clblue; 3:RichEdit1.Font.Color:=clyellow; end; Label1Caption:=RadioGroup1.ItemsRadioGroup1.ItemIndex; end; Do zsynchronizowania aplikacji należy ustawić kolory przycisków. Wpisz dla zdarzenia OnActivate na formularzu procedurę: procedure Tform1.FormActivate(Sender:TObject); begin RichEdit.Font.Color:=clRed; Label1.Caption:=RadioGroup1.Items[RadioGroup1.ItemIndex]; end; Zadanie17. Komponent CheckBox Na formularzu umieść etykietę i GroupBox z 4-6 przyciskami CheckBox. Uzupełnij ich właściwości Caption napisami części komputerowych. Dodaj przycisk polecenia z napisem wyświetl i przypisz procedurę obliczania ceny zestawu komputerowego. procedure Tform1.Button1Click (Sender:TObject); var cena: currency; begin cena:=1000; if CheckBox1.Checked then cena :=cena +200; if CheckBox2.Checked then cena :=cena +400; if CheckBox3.Checked then cena :=cena +600; if CheckBox4.Checked then cena :=cena +800; label1.Caption:=CurrToStr(cena) end; Zadanie 18. Utworzyć aplikację która będzie zmieniać właściwości stylu czcionki w polu RichEdit. Na formularzu umieścić komponent RichEdit i GroupBox z 4 przycisami CheckBox. Wprowadzić tytuł GroupBox'a jako „Styl czcionki” . Dla CheckBoxów analogicznie przypisać nazwy pogrubiony, Kusrywa, Podkreślony, Przekreślony. Dla zdarzenia – pojedynczego kliknięcia przycisku CheckBox1 wpisać procedurę Lab. Informatyki P. Mazurek ©2016 dodania/usunięcia/ do zbioru stylów czcionki styl fsBold: If CheckBox1.Checked then RichEdit1.Font.Style:=RichEdit.Font.Style+[fsBold]; else RichEdit1.Font.Style:=RichEdit.Font.Style-[fsBold]; end Analogicznie dla pozostałych wykorzystać procedury z: fsItalic, fsUnderline, fsStrikeout. Zadanie 19. Do utworzonej poprzednio aplikacji dodaj przyciski które ustalą w polu RichEdit kolor wyświetlanego tekstu i kolor tła (opcje RichEdit1.Font.Color oraz RichEdit1.Color). Zadanie 20. Aplikacje rysująca na formularzu figury geometryczne. StRectangle – prostokąt, stSquare – kwadrat, stRoundRect – prostokąt z zaokrąglonymi rogami, stRoundSquare – kwadrat z zaokrąglonymi rogami, stEllipse – elipsa, stCircle – koło. Stworzyć aplikację rysującą wybraną figurę i zmieniającą jej wielkość. Na formularzu umieścić Combobox z nazwami figur geometrycznych, przypisać mu procedurę Case Combobox1.ItemIndex of 0:=Shape1.Shape:=stCircle; 1:=Shape1.Shape:=stSquare; end; Pasek przewijania opisać: shape1.width:=Scrollbar1.position; shape1.wheight:=Scrollbar1.position; Zadanie 21. Utworzyć aplikację, która będzie zawierać prostą bazę nazw towarów i ich cen - program oparty na komponencie StringGrid. Aplikacja ma mieć możliwość zapisywania kolumn danych do plików tekstowych i odczytu przy kolejnym otwarciu. Na formularzu umieścić komponent StringGrid oraz przycisk polecenia z napisem zapis do pliku. Ustawić właściwości komponentu StringGrid : ColCount - 3, RowCount – 20 Options -> goEditing True, goTabs True. W procedurze FormCreate wypisz nagłówki tabeli (Lp., Nazwa towaru, Cena) wykorzystując kod StringGrid1.Cells[0,0]:='Lp.' (w procedurze zadeklarować zmienną i:integer – określającą typ łąńcuchów zawieranych komórek). Dla komponentu StringGrid zadeklarować zdarzenie: OnSelectedCell: procedure Tform1.StringGrid1SelectCell (Sender: Tobject; Acol, Arow: Integer; CanSelect: Boolean); begin StringGrid1.Cells[0,ARow]:=IntToStr(ARow)end; If Arow+1=StringGrid1.RowCount then StringGrid1.RowCount:=StringGrid1.RowCount+1; end; Zapis danych do pliku - Dla zdarzenia OnClose formularza (Events – FormClose) wpisać procedurę: procedure Tform1.FormCLose(Sender... begin StringGrid1.Cols[1].SaveToFile('nazwy.txt'); StringGrid1.Cols[2].SaveToFile('ceny.txt'); end; //uruchomić aplikację i wpisać pozycje, sprawdzić czy powstały 2 pliki// Pobieranie do kolumn tabeli danych z plików. Uzupełnić procedurę OnCreate i:=1; while StringGrid1.Cells[1,i]>'A' do begin StringGrid1.Cells[0,i]:=IntToStr(i); i:=i+1; end; end; var P. Mazurek ©2016 Lab. Informatyki Zadanie 22. Utworzyć prostą przeglądarkę plików graficznych. W katalogu zamieścić kilka obrazów graficznych. Na formularzu umieścić przycisk „next” który będzie ładował zadeklarowane zdjęcia. procedure TForm1.Button1Click(Sender: TObject); const i:integer=0; begin case i of 0: Image1.Picture.LoadFromFile('obraz1.bmp'); 1: Image1.Picture.LoadFromFile('obraz2.jpg'); 2: Image1.Picture.LoadFromFile('obraz3.bmp'); end; i:=(i+1) mod 3; end; Zadanie 23. Aplikacje z obsługą czasu i dat. Pobranie z komponentu DateTimePicker wybranej daty i wyświetlenie jej na etykiecie. W komponencie DateTimePicker ustawić właściwości DateFormat na dfShort, wprowadzić procedurę OnChange: Label1.Caption:=DateToStr(DateTimePicker1.Date); Aplikacja licząca liczbę dni od urodzenia var ile:Real; begin ile:=DateTimePicker1.Date-Date; Label2.Caption:='Liczba dni od urodzenia wynosi: '+IntToStr(Trunc(ile)); end; Zadanie 24. Stworzyć aplikacje która będzie realizowała funkcję prostego edytora tekstowego. W aplikacji wykorzystać komponent TMemo, opisać przyciski instrukcjami wykonującymi procedury wycinania, kopiowania, kasowania i wklejania. W kolejnym etapie rozbudować aplikację o instrukcje wykonujące zapisywanie tekstu z aplikacji do pliku tekstowego i instrukcje wczytywania tekstu. Informacje do wykorzystania: Memo1.Lines.Add( inttostr(Random(10)) ); Memo1.CutToClipboard; Memo1.PasteFromClipboard; Memo1.CopyToClipboard; Memo1.ClearSelection; Memo1.Lines.SaveToFile('testowy.txt'); Memo1.Lines.LoadFromFile('testowy.txt'); Memo1.Clear; //dodanie linii //plik testowy tworzony w aktualnym katalogu