Laboratorium z informatyki sem.ll. ćw2 Wydział Transportu I*W
Materiały pomocnicze do ćwiczenia 2 Menu aplikacji - komponent MainMenu :;gp
Komponent MainMenu służy do utworzenia głównego menu aplikacji.
sT Form1.MainMenu1
Poszczególne pozycje menu tworzy się w oknie Menu Designer.
Okno to można otworzyć przez dwukrotne kliknięcie komponentu MainMenu lub klawiszem [...] w polu właściwości Items tego komponentu w oknie Inspektora Obiektów.
Każdej pozycji menu nadajemy tytuł (Caption), na podstawie którego Delphi automatycznie tworzy nazwę (Nanie) elementu menu. Nazwę tę można zmienić w oknie Inspektora Obiektów.
Litera poprzedzona znakiem & (ampersand) zostaje podkreślona i określa skrót klawiaturowy dla menu lub jego poleceń. Na przykład naciśnięcie kombinacji klawiszy [Alt]+[2] spowoduje rozwinięcie menu Funkcje 2, a następnie naciśnięcie klawisza [o] spowoduje wyliczenie pola koła. Drugą możliwością przypisania skrótu jest określenie właściwości ShortCut polecenia. Np. kombinacja klawiszy [Ctrl]+[o] wykona to samo polecenie bez rozwijania menu.
Procedurę obsługującą polecenie menu tworzymy dwukrotnie klikając element menu w oknie Menu Designer i uzupełniając treść utworzonej przez Delphi procedury zdarzenia.
Pole edycyjne - komponent Edit P®
Komponent służy do wpisywania lub wyświetlania pojedynczej linii tekstu. Tekst wpisany w polu edycji jest zawarty we właściwości Text. Jeśli napis w polu edycji jest interpretowany jako liczba, to konieczna jest konwersja, np.:
n:=StrToInt(Editl.Text) ; lub Editl.Text:=IntToStr(n) ;
Aby w programie usunąć tekst wyświetlony w polu edycyjnym, można wpisać tekst pusty lub zastosować metodę Clear, np.:
Editl.Text :='lub Edit1.Clear;
Metody formy
Metodami formy są procedury obsługi zdarzeń formy i komponentów na niej umieszczonych. Oprócz tych procedur możemy definiować własne metody formy. Nagłówki tych metod (procedur lub funkcji) musimy umieścić w definicji formy, którą Delphi tworzy na początku modułu. Pełną deklarację metody (z przedrostkiem TForml. przed nazwą procedury lub funkcji) umieszczamy w części implementacyjnej modułu (zaczynającej się od słowa implementation).
Tworzenie procedur obsługi zdarzeń, zdarzenia domyślne
Aby komponent reagował na zdarzenie jakiegoś typu, należy dla tego komponentu w oknie Inspektora Obiektów wybrać zakładkę Events (zdarzenia) i kliknąć dwukrotnie w polu obok nazwy zdarzenia. Powstanie wtedy procedura o pustej treści, którą musimy uzupełnić. Zdarzeniu można też przypisać już istniejącą procedurę obsługi innego zdarzenia, wybierając ją z listy wyświetlanej w polu obok nazwy zdarzenia. Każdy komponent ma ponadto przypisane zdarzenie domyślne. Procedura obsługi tego zdarzenia powstaje po dwukrotnym kliknięciu komponentu, bez pomocy Inspektora Obiektów. Na przykład domyślnym zdarzeniem dla przycisku lub elementu menu jest zdarzenie OnClick.
Uważa: Jeśli omyłkowo utworzymy procedurą obsługi jakiegoś zdarzenia, nie należy jej kasować lecz pozostawić pustą jej treść i zapisać projekt (Save Ali). Delphi automatycznie kasuje przy zapisie puste procedury obsługi zdarzeń.
Przykłady typów liczbowych
Integer-typ całkowity; wartości tego typu należą do zakresu -2147483648 ... 2147483647 Int64 - typ całkowity; wartości tego typu należą do zakresu -2A63 ... 2A63-1 Real lub Double- typ rzeczywisty; wartości tego typu należą do zakresu -1.7*10A308 ... 1.7*10A308 Extcnded - typ rzeczywisty; wartości tego typu należą do zakresu -1.1 * 10A4932 ... 1.1* 10A4932
Konwersja tekstu na liczbę, kontrola poprawności
Do zamiany łańcucha znaków (tekstu) na liczbę służą funkcje konwersji: funkcja StrToInt(s) zamienia łańcuch znaków 5 (typu string) na liczbę całkowita. funkcja StrToFloat (s) zamienia łańcuch znaków s (typu string) na liczbę rzeczywista.
Do zamiany łańcucha na liczbę z kontrolą poprawności służą:
funkcja StrToIntDef (s, d) zamienia dany łańcuch s na liczbę całkowita. a gdy s nie przedstawia liczby całkowitej, to funkcja zwraca wartość d (jest to tzw. wartość domyślna - Default),
funkcja StrToFloatDef(s, d) zamienia dany łańcuch i na liczbę rzeczywista. zwracając w przypadku błędu
wartość domyślną d.