z1 Wyliczenie Enum
Copyright © 2017, mgr inż. Janusz Bonarowski 1
z1 Wyliczenie Enum
Klasa Wyliczenie - to zbiór stałych nazwanych, typu całkowitego (Int16, Int32, Int64, Integer). Jeśli żaden typ podstawowy nie jest jawnie zadeklarowana, użyty jest typ Int32. W języku Visual Basic typ wyliczeniowy deklarujemy za pomocą słowa kluczowego Enum.
Enum NazwaTypuWyliczeniowego [As dowolny typ całkowity]
nazwy_stałych End Enum
np.
Enum Ocena_sytuacji As Integer kiepsko
neutralnie poprawnie End Enum
lub
Enum Ocena_sytuacji As Integer neutralnie
poprawnie kiepsko End Enum
Deklarując typ wyliczeniowy, można (ale nie trzeba) określić, jakie wartości przyjmują kolejne stałe, Enum Ocena_sytuacji As Integer
kiepsko = -1 neutralnie = 0 poprawnie = 1 End Enum
Zadanie
Zdefiniować klasę wyliczeniową (czyli typu Enum)
Operacje_arytmetyczne składającą się z 4 podstawowych działań arytmetycznych: dodawania, odejmowania, mnożenie i dzielenia.
Posłużyć się tą klasą w celu wykonania prostego kalkulatora.
Realizacja
Cztery przyciski ze znakami operacji, będą ustawiały jedną z wartości zmiennej wyliczeniowej, a przycisk Oblicz,
w rozbudowanej instrukcji warunkowej zidentyfikuje wybraną operację arytmetyczną w zmiennej wyliczeniowej i wykona ją.
Przykład zmiennej wyliczeniowej wykorzystanej w zadaniu:
Public Enum Operacja_arytmetyczna As Integer Dodawanie
Odejmowanie Mnozenie Dzielenie End Enum
Rysunek 1 Materiały
[1] https://msdn.microsoft.com/pl-pl/library/system.enum(v=vs.110).aspx data skorzystania: 31.07.2017.
[2] http://tomasz.kubik.staff.iiar.pwr.wroc.pl/dydaktyka/VB/matVB-00-NET.pdf, data skorzystania: 31.07.2017 [3] http://kaims.eti.pg.gda.pl/~kuszner/2008/JPnPN/all.pdf, data skorzystania: 31.07.2017
[4] http://www.pcworld.pl/news/Obiekty-w-C-i-VB-NET,317388.html, data skorzystania: 31.07.2017
z1 Wyliczenie Enum
Copyright © 2017, mgr inż. Janusz Bonarowski 2
Kod aplikacji
Public Class Form1
Dim operacja As Operacja_arytmetyczna
Private Sub btnOdejmowanie_Click(sender As Object, e As EventArgs) _
Handles btnOdejmowanie.Click operacja = Operacja_arytmetyczna.Odejmowanie
lblOperacja.Text = operacja.ToString txtWynik.Clear()
End Sub
Private Sub btnDzielenie_Click(sender As Object, e As EventArgs) _
Handles btnDzielenie.Click operacja = Operacja_arytmetyczna.Dzielenie
lblOperacja.Text = operacja.ToString txtWynik.Clear()
End Sub
Private Sub btnDodawanie_Click(sender As Object, e As EventArgs) _
Handles btnDodawanie.Click operacja = Operacja_arytmetyczna.Dodawanie
lblOperacja.Text = operacja.ToString txtWynik.Clear()
MsgBox(operacja) End Sub
Private Sub btnMnozenie_Click(sender As Object, e As EventArgs) _
Handles btnMnozenie.Click operacja = Operacja_arytmetyczna.Mnozenie
lblOperacja.Text = operacja.ToString txtWynik.Clear()
End Sub
Private Sub btnOblicz_Click(sender As Object, e As EventArgs) _
Handles btnOblicz.Click Dim liczba1, liczba2, wynik As Single
Try
liczba1 = CSng(txtLiczba1.Text) liczba2 = CSng(txtLiczba2.Text)
If operacja = Operacja_arytmetyczna.Odejmowanie Then wynik = liczba1 - liczba2
txtWynik.Text = CStr(wynik)
ElseIf operacja = Operacja_arytmetyczna.Dzielenie Then wynik = liczba1 / liczba2
txtWynik.Text = CStr(wynik)
ElseIf operacja = Operacja_arytmetyczna.Mnozenie Then wynik = liczba1 * liczba2
txtWynik.Text = CStr(wynik)
ElseIf operacja = Operacja_arytmetyczna.Dodawanie Then wynik = liczba1 + liczba2
txtWynik.Text = CStr(wynik) End If
Catch ex As Exception
MsgBox(Err.Description) End Try
End Sub
Public Enum Operacja_arytmetyczna As Integer Dodawanie
Odejmowanie Mnozenie Dzielenie End Enum
End Class