Ć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