Wydział Transportu P.W.
Laboratorium z informatyki sem.II / ćw.2 Zadanie:
Utworzyć aplikację Delphi, która wykonuje obliczenia z pomocą menu poleceń, przy czym:
* dane do obliczeń są wpisywane w polu edycyjnym,
* wyniki są wyświetlane na etykietach przez wywołanie procedury przypisanej do formy,
* obliczenia są wykonywane po kliknięciu poleceń menu, ew. z wywołaniem funkcji obliczeniowej.
/
L
2.
3.
4.
5.
Otwórz nową aplikację Delphi 6. Nadaj formie rozmiar 300x400 pikseli, a w jej nagłówku umieść tekst: Pasek menu, metoda formy, funkcja obliczeniowa
Umieść na formularzu komponent MainMenu B® z karty Standard.
Kliknij dwukrotnie na tym komponencie, otwierając okno Forml.MainMcnul.
W oknie Object Inspector we właściwości Caplion wpisz Funkcje &1. Zauważ, że znak poprzedzony znakiem & (ampersand) pojawił się z podkreśleniem.
Kliknij w polu Funkcje 1 okna Forml.MainMenul.
Strzałką w dół lub za pomocą kliknięcia uaktywnij pole leżące poniżej pola Funkcje 1. We właściwości Caption wpisz tytuł: S&uma kwadratów 1..n
jf Pasek menu, metoda formy, funkcja obliczeniowa ISSEI
FunkcjeL Funkcje 2
Suma kwadratów 1 ..n .■ Ctrl+U. v 1 Silnia n Ctrl+I
:;: Editl
::::
i naciśnij Enter. We właściwości ShortCut rozwiń listę i wybierz skrót Ctrl+U.
6.
II
1.
2.
III
1.
2.
3.
IV
1.
2.
Analogicznie utwórz następne polecenie menu Funkcje 1_ wpisując jako Caption napis S&ilnia n, a jako ShortCut wybierz Ctrl+I. Zamknij okno FormlMainMenul.
Dodaj do formularza dwie etykiety. Zwiększ rozmiar ich czcionki do 14 punktów. Nadaj im nazwy odpowiednio: Loperacja i Lwynik, ustawiając właściwość Naine w oknie Object Inspector.
W części implementacyjnej modułu ( po słowie implementation oraz pod wierszem dyrektywy włączenia formy {$R * .dem}) umieść deklarację procedury wyświetlającej wynik obliczeń:
procedurę TForml.PiszWynik(operacja: string; wynik: Real); begin
Lwynik. Caption: =FloatToStr (wynik) ; //zamiana 1. rzeczywistej na tekst Loperacja. Caption: =operacj arend;
W części private definicji typu TForml wstaw nagłówek tej procedury pomijając przedrostek TForml.
Umieść na formie komponent Edit z karty Standard. Usuń tekst z właściwości Text pola edycyjnego w oknie Object Inspector.
Dwukrotnie kliknij komponent MainMenul na formie, otwierając okno Forml.MainMenul. Wybierz z menu element typu TMenuItem realizujący polecenie Suma kwadratów 1..n. Dwukrotnie weń klikając, przypisz mu procedurę obsługi domyślnego zdarzenia OnClick. Po nagłówku zadeklaruj lokalne zmienne i, n, suma2 typu całkowitego; po słowie begin wpisz instrukcje:
n:= StrToInt(Editl.Text); suma2:=0;
for i:=l to n do suma2:= suma2 + i*i;
PiszWynik('Suma kwadratów 1.. 1 + Editl.Text, suma2);
Zapisz projekt i sprawdź działanie pierwszego menu poleceń. Spróbuj błędnie wpisywać dane
(po komunikacie o błędzie kliknij OK i wykonaj polecenie Run|Program Reset lub wciśnij Ctrl+F2).
W procedurze obsługującej polecenie menu Suma kwadratów 1..n zastąp instrukcję: n:= StrToInt(Editl.Text); przez dwie instrukcje:
n:= StrToIntDef(Editl.Text,0);
Editl.Text:= IntToStr(n);
W ten sposób błędnie wpisany argument zostanie automatycznie zmieniony na wartość 0.
Uruchom aplikację i sprawdź jej zachowanie.
1