Przykład 4 Azymut ze współrzędnych.
Projekt:
Obiekty mają zmienione następujące wartości cech:
Położenie i wielkość obiektów (w przybliżeniu) zgodnie z wyglądem w oknie programu
Cecha NAME: okno ma nazwę P4
Przyciski mają nazwy odpowiednio KONIEC_PRZ,; AZYMUT_PRZ, WYCZYŚĆ_PRZ
Etykiety mają nazwy odpowiednio AUTOR_ETY, AZYMUT _ETY, a pozostałe LABEL (1-5 - bez zmiany nazwy)
Pola tekstowe mają nazwy odpowiednio .XK_TXT, YK_TXT, XP_TXT, YP_TXT
Pole obrazu ma nazwę RYSUNEK
Cecha TEXT - wszystkie obiekty zgodnie z wyglądem w oknie programu
Cecha TEXTALIGN - wszystkie pola tekstowe mają ustawioną wartość na = Center
Cecha BORDERSTYLE etykieta AZYMUT_ETY, ma ustawioną wartość na = FixedSingle
Dodatkowo:
Obiekt RYSUNEK ma zmienioną cechę: IMAGE wstawiony szkic (plik typu *.JPG stworzony poza VB).
Zmiany koloru tła i koloru napisu, oraz zmiany czcionki według własnego uznania.
Pozostałe cechy obiektów zachowują wartości początkowe.
Kod programu:
Wpisujemy kod oznaczony kolorem czarnym, pozostała część jest tworzona automatycznie przez VB.
Kolor zielony (poprzedzony Apostrofem) oznacza tekst komentarza.
Public Class P4
Dim xk, xp As Single
Dim yk, yp As Single
Dim azymut As Double
Private Sub koniec_prz_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles koniec_prz.Click
End
End Sub
Private Sub wyczyść_prz_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles wyczyść_prz.Click
xp_txt.Text = ""
yp_txt.Text = ""
xk_txt.Text = ""
yk_txt.Text = ""
azymut_ety.Text = ""
xp_txt.Text = ""
yp_txt.Text = ""
End Sub
Private Sub azymut_prz_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles azymut_prz.Click
Dim dx, dy As Single
If xp_txt.Text = "" Or xk_txt.Text = "" Or yp_txt.Text = "" Or yk_txt.Text = "" Then
MsgBox(" Co najmniej jedna współrzędna nie została wpisana!!!", 16, "BAD WSPÓARZDNYCH")
Exit Sub
End If
If xp_txt.Text = xk_txt.Text And yp_txt.Text = yk_txt.Text Then
MsgBox(" Błąd, nie ma azymutu !!!", 16, "BAD WSPÓARZDNYCH")
Exit Sub
End If
xk = Val(xk_txt.Text)
xp = Val(xp_txt.Text)
yk = Val(yk_txt.Text)
yp = Val(yp_txt.Text)
dx = xk - xp
dy = yk - yp
If dx = 0 And dy > 0 Then
azymut = 100
ElseIf dx = 0 And dy < 0 Then
azymut = 300
ElseIf dx > 0 And dy = 0 Then
azymut = 0
ElseIf dx < 0 And dy = 0 Then
azymut = 200
ElseIf dx <> 0 And dy <> 0 Then
azymut = Math.Atan(dy / dx)
azymut = azymut * 200 / Math.PI
If azymut < 0 Then azymut = -azymut
If dx < 0 And dy > 0 Then azymut = 200 - azymut
If dx < 0 And dy < 0 Then azymut = 200 + azymut
If dx > 0 And dy < 0 Then azymut = 400 - azymut
End If
azymut_ety.Text = Format(azymut, " 0.0000 gradów ")
End Sub
End Class
Jan Ruchel
Kraków, pazdziernik 2011
Wyszukiwarka
Podobne podstrony:
Konspekt nr 2 i 8Konspekt nr 2 i 9KONSPEKT NR 3Konspekt nr 6, 7 i 10KONSPEKT NR 6Strzelanie przygotowawcze nr 2 z BWP 1 konspektkonspekt zajęć Radosław SkibaTEMAT ARKUSZA NR 3 rzut cechowanynr 6aZałącznik nr 18 zad z pisow wyraz ó i u poziom Inr 2Lermontow wiersze, poezja konspektyZARZĄDZANIE WARTOŚCIĄ PRZEDSIĘBIORSTWA Z DNIA 26 MARZEC 2011 WYKŁAD NR 3SZTUCZKA NR 5więcej podobnych podstron