Ćwiczenie 9 – Komunikacja
Transkrypt
Ćwiczenie 9 – Komunikacja
Oprogramowanie użytkowe/Visual Basic Dr Joanna Sekulska-Nalewajko Ćwiczenie 9 Ćwiczenie 9 – Komunikacja W tym ćwiczeniu występuje tworzenie procedury, w której istniej możliwości wyboru jak ma przebiegać program. Wybór ten jest dostępny w postaci formularzy, okien dialogowych i zamieszczonych w nich opcji. Do tworzenia prostego dialogu z użytkownikiem służy funkcja MsgBox. Funkcja ta nie tylko wyświetla okno dialogowe z komunikatem, ale czeka na wciśnięcie przycisku przez użytkownika, po czym zwraca wartość typu Integer określającą przyciśnięty przez użytkownika przycisk. Składnia funkcji MsgBox: MsgBox(Komunikat [, Przyciski] [, Tytuł] [, PlikHelp, HelpContext]) Przyciski (ang. Buttons) – argument opcjonalny – to zestawienie informacji, jakie przyciski będą wyświetlone w oknie oraz jaki będzie typ komunikatu. Z typem komunikatu wiąże się wyświetlana w oknie ikona i efekty dźwiękowe (jeżeli użytkownik z nich korzysta). Odpowiednią wartość parametru Buttons oblicza się przez dodanie do siebie wartości stałych (można podać składniki oddzielone znakiem „+” lub obliczoną ich sumę) lub podanie ich nazw, rozdzielonych znakiem „+”. Wartości i stałe VB dostępne dla argumentu Przyciski: Przyciski Stała Wartość Opis vbOKOnly 0 Przycisk OK vbOKCancel 1 Przyciski OK i Cancel(Anuluj) vbAbortRetryIgnore 2 Przyciski Abort(Przerwij), Retry(Ponów próbę) i Ignore(Zignoruj) vbYesNoCancel 3 Przyciski Yes(Tak), No(Nie) i Cancel(Anuluj) vbYesNo 4 Przyciski Yes(Tak) i No(Nie) vbRetryCancel 5 Przyciski Retry(Ponów próbę) i Cancel(Anuluj) vbCritical 16 Wyświetla ikonę wiadomości krytycznej vbQuestion 32 Wyświetla ikonę pytania vbExclamation 48 Wyświetla ikonę wiadomości ostrzegawczej (wykrzyknik) vbInformation 64 Wyświetla ikonę wiadomości vbDefaultButton1 0 Pierwszy przycisk jest domyślny vbDefaultButton2 256 Drugi przycisk jest domyślny vbDefaultButton3 512 Trzeci przycisk jest domyślny vbDefaultButton4 768 Czwarty przycisk jest domyślny vbApplicationModal 0 Okno modalne dla aplikacji, użytkownik musi zareagować na wiadomość vbSystemModal 4096 Okno modalne dla systemu, wszystkie aplikacje są zawieszone dopóki użytkownik nie zareaguje na wiadomość vbMsgBoxHelpButton 16384 Dodaje przycisk Help(Pomoc) VbMsgBoxSetForeground 65536 Okno wiadomości będzie oknem na wierzchu vbMsgBoxRight 524288 Tekst jest wyrównany do prawej vbMsgBoxRtlReading 1048576 Tekst powinien być czytany od prawej do lewej w systemach Arabskich i Hebrajskich 1 Oprogramowanie użytkowe/Visual Basic Dr Joanna Sekulska-Nalewajko Ćwiczenie 9 Pierwsza grupa przycisków (0-5) określa numer i typ przycisków wyświetlanych w oknie dialogowym. Druga grupa (16, 32, 48, 64) określa styl wyświetlanej ikony. Trzecia grupa (0, 256, 512) określa, który przycisk jest domyślny. Czwarta grupa (0,4096) określa modalność okna. Aby określić wartość wyświetlanych przycisków należy dodawać tylko jedną wartość z każdej z tych grup. Wartości i stałe VBzwracane przez funkcję MsgBox: Stała Wartość Opis vbOK 1 OK vbCancel 2 Cancel(Anuluj) vbAbort 3 Abort(Przerwij) vbRetry 4 Retry(Ponów próbę) vbIgnore 5 Ignore(Zignoruj) vbYes 6 Yes(Tak) vbNo 7 No(Nie) Przykład użycia funkcji MsgBox: Dim varWcisniety As Variant varWcisniety=MsgBox("Czy chcesz kontynuowac?", vbYesNo+vbCritical+vbDefaultButton2, "Pytanie", "DEMO.HLP", 10) wyświetla okno z wiadomością i tytułem, przyciskami Yes i No, domyślnym przyciskiem drugim i skojarzony z tematem pomocy w pliku pomocy, zmienna varWcisniety zawiera wartość wciśniętego przycisku vbYes lub vbNo Kod obsługujący zdarzenia związane z wyborem przycisków może wyglądać następująco: okno1 = MsgBox("Czy chcesz podać następne nazwisko?", vbYesNo, "Dalej") If klik = Yes Then [GoTo Etykieta] Else [Exit Sub] End If Komunikacja (1) Wyświetl okno komunikatu MsgBox zawierające przyciski PRZERWIJ, PONÓW PRÓBĘ oraz IGNORUJ, wpisz odpowiedni tytuł okna: W zależności od czynności wykonywanych przez użytkownika powinny być wyświetlane następujące okna komunikatu: 2 Oprogramowanie użytkowe/Visual Basic Dr Joanna Sekulska-Nalewajko 1) Ćwiczenie 9 2) 3) Kliknięcie przycisku PONÓW PRÓBĘ i IGNORUJ powoduje wyświetlenie okien 1) i 2). Kliknięcie przycisku PRZERWIJ powinno spowodować wyświetlenie komunikatu ile razy dokonano kliknięcia przycisków 1), 2) i 3) i opuszczenie programu. Uwagi: - użyj istrukcji GoTo i odpowiedniej etykiety; - wynik funkcji MsgBox może być przypisany zmiennej; w tym ćwiczeniu użyj zmiennej o nazwie klik; - użyj pętli Select Case do powiązania zdarzeń z odpowiednimi przyciskami; - do przełamania tekstu, który pojawi się w oknie MsgBox służy funkcja vbCrLf: MsgBox "Procedurę powtórzono [...] razy." & vbCrLf & "Dziękuję za współpracę" Komunikacja (2) Zaprojektuj formularz zgodnie ze wzorem: Po naciśnięciu przycisku LICZ program ma policzyć wartość wyrażenia (x + y)2 – 1 i zapisać otrzymany wynik w pierwszej wolnej komórce kolumny A, a zmienne x i y odpowiednio w komórkach B i C. Wynik powinien być także wyświetlony w oknie informacyjnym vbYesNo. Wciśnięcie przycisku Yes spowoduje wyczyszczenie pól formularza i możliwość ponownego wpisu zmiennych. No – wyjście z programu. 3 Oprogramowanie użytkowe/Visual Basic Dr Joanna Sekulska-Nalewajko Ćwiczenie 9 Komunikacja (3) Zaprojektuj formularz zgodnie ze wzorem: • • Po naciśnięciu przycisku Zakończ opuszczamy formularz bez żadnej reakcji. Po naciśnięciu przycisku Zatwierdź: o jeśli zaznaczone zostało pole wyboru „Wpis do arkusza” wstawiamy podane przez użytkownika informacje w pierwszym wolnym wierszu wybranego arkusza w skoroszycie. o jeśli zaznaczone zostało pole wyboru „Okno informacyjne” wyświetlamy tylko okno informacyjne MsgBox z podanymi prze użytkownika informacjami. o jeśli zaznaczono obie opcje wykonywane są obie powyższe operacje (wpis i okno MsgBox). o jeśli nie zaznaczono żadnej opcji wyświetlane jest okno MsgBox z informacją „Nie zaznaczono opcji wpisu”. Po naciśnięciu przycisku „Następny wpis” następuje wyczyszczenie pól tekstowych i zaznaczeń. Dla pola Kombi (ComboBox) ustaw własciwość RowSource - F2:F9, która pobiera następujące dane z komórek F2:F9: 4 Oprogramowanie użytkowe/Visual Basic Dr Joanna Sekulska-Nalewajko Ćwiczenie 9 Inne ustawienia pola Kombi: BoundColumn – 1, ListRows - 8 (liczba wierszy widocznych w liście rozwijanej). 5