Odcinek 15 Jeżeli przez przypadek klikniemy ikonę wychodzenia z program lub opcję Zamknij z menu plikplik, program po prostu zostanie zakończony i będziemy musieli ponownie go uruchomić. Aby temu zapobiec, możemy utworzyć system okien dialogowych - pytających o potwierdzenie wyjścia z programu. Procedurą wyświetlającą okno komunikatu jest procedura ShowMessage. Wyświetla ona okno z komunikatem, na którego treść mamy wpływ. KROK 22 Cel: Zastosowanie okien pytającychwyświetlających pytania i komunikaty (MessageBox). 1. Otwórz swój program. 2. Skompiluj i sprawdź, czy działa prawidłowo. Czy znajdujesz się w oknie pierwszego formularza? Jeżeli tak, to odnajdź opcję Zamknij w menu Plik. [rys.1] rys.1
3. Kliknij 2 razy. Zostaniesz przeniesiony do kodu programu. Kiedy tworzyliśmy menu górne, nie wpisaliśmy pomiędzy a żadnej komendy. [rys.2] 4. Gdybyśmy w miejscu kursora wpisali komendęna pewno zauważyłeś, że w miejscu kursora stoi już napis: close; opcja Zamknij zamykałaby program bez żadnych dodatkowych komunikatów. My jednak mamy inne plany. To funkcja zamykania programu. Musimy ja zastąpić inną. 5. Wykasuj: close; 6. Wpisz w to miejsce kursora następującą komendę: numbtn:=0; numbtn:=application.messagebox('czy na pewno chcesz zakończyc program?','kończenie pracy z programem', MB_ICONQUESTION or MB_YESNO); if (numbtn=idyes) then ShowMessage('TAK');Close; if (numbtn=idno)then ShowMessage('NIE'); [rys.3] Pamietaj o dokładnym przepisaniu formuły!
rys.3 7. Przejdź następnie wyżej, nad słowo kluczowe: i wpisz: var numbtn: Integer; [rys.4] rys.4 Możesz dostosować napisy w okienku według własnego uznania.
Zamiast napisów: Czy na pewno chcesz... Kończenie pracy... Możesz w kodzie źródłowym wpisać inny, dowolny tekst. [rys.5] 8. Zapisz program. 9. Skompiluj program. 10. Wywołaj opcję Zamknij, aby przetestować nowo utworzoną procedurę. rys.5 Naciśnij przycisk z napisem: Tak. [rys.6] rys.6
Czy pojawiło się podobne w wyglądzie okno? Czy napis w tym oknie jest ten sam? Czy wiesz, co zrobić, aby wyświetlił się podobny napis? 11. Kliknij OK. aby zakończyć program. 12. Zamknij program Delphi. 13. Przejdź do katalogu, w którym widzisz wszystkie pliki swojego programu. [rys.7] 14. Zaznacz plik Projekt1 i wciskając prawy przycisk myszy (menu kontekstowe), zmień nazwę na: Notatnik. [rys.7] 15. Odszukaj kolejny plik o nazwie Projekt1 i ponownie zamień nazwę pliku na: Notatnik. 16. Uruchom Plik o nazwie: Notatnik rys.7 17. Przetestuj swój program. Musisz podobną funkcję nadać przyciskowi: Zamknij (w dolnym lewym rogu). 18. Kliknij na przycisk Zamkjnij 2 razy. Zostaniesz przeniesiony do kodu programu.
Wpisz zamiast komendy: close; numbtn:=0; numbtn:=application.messagebox('czy na pewno chcesz zakończyc program?','kończenie pracy z programem.', MB_ICONQUESTION or MB_YESNO); if (numbtn=idyes) then ShowMessage('TAK');Close; if (numbtn=idno)then ShowMessage('NIE'); czyli to samo, co przedtem. 19. Dopisz powyżej: var numbtn:integer; 20. Sprawdź działanie programu. 21. Zapisz. Czy wiesz, jak w oknie pytającym wyświetlającym pytanie dodać opcję (przycisk) Anuluj? Jak przebudować kod? Poćwicz samodzielnie. Pamiętaj jednak o utworzeniu kopii zapasowej programu! Jeśli nie będzie wychodziło, koniecznie zajrzyj do następnego odcinka. Tam na pewno znajdziesz rozwiązanie.