月曜日, 9月 26, 2022

Visual Studio Basic_29 
多角形に内接する円の直径を求める

以下の書き込みに連動し、マニアックな計算機を作成しました。

画面設計はこんな感じです。Labelの順番がグチャグチャなのは、設計なしで作成した結果で特に意味はありません。 


ソースの
「-----------------」は区切り線なので記述の必要はありません。

青字は自動入力部分で修正の必要はありません。 黒字が入力部分です。 赤字はコメント文なので記述の必要はありません。
比率ボタンごとに計算しているのでソースは簡単ですが、勘違いミスでしばらくプチパニックでした。
------------------
Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

  'N, H, LB, LASingle宣言

  'TH Double宣言

  'TextBox1, 2のどれかがブランクならLabel6に

  '「多角形の辺の数と半径aを入力してくださいを表示

        Dim N, H, LB, LA As Single
        Dim TH As Double

        If TextBox1.Text = Nothing Then
            Label6.Text = "多角形の辺の数と半径aを入力してください"
            Exit Sub
        End If
        If TextBox2.Text = Nothing Then
            Label6.Text = "多角形の辺の数と半径aを入力してください"
            Exit Sub
        End If

  'Label6をリセット。

  '正弦定理より

  'Label1とLabel2に計算結果を整数で表示。

        Label6.ResetText()
        N = Val(TextBox1.Text)
        LB = Val(TextBox2.Text)
        TH = 360 / (N * 2)
        LA = LB * Math.Cos(TH * Math.PI / 180)
        H = LB * Math.Sin(TH * Math.PI / 180)
        Label1.Text = Format(2 * LA, "0.00")
        Label7.Text = Format(2 * H, "0.00")
    End Sub
------------------
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
         'Label1, 6, 7をリセット。
         'TextBox1, 2をリセット。
        TextBox1.ResetText()
        TextBox2.ResetText()
        Label1.ResetText()
        Label6.ResetText()
        Label7.ResetText()
    End Sub
------------------
    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        End
    End Sub
End Class
------------------

起動直後のパレット

入力に不備があるとエラーメッセージが出ます。

「多角形の辺の数」と「多角形の半径」を入力後に[計算]をクリック

Illustratorに連動した円(多角形の内接円)の直径値と、おまけで多角形の一辺値が表示されます。

クリックするといきなりダウンロードが始まります。
実際のプログラム完成日は2022年8月29日です。

Windows版です。