以下の書き込みに連動し、マニアックな計算機を作成しました。
円錐台側面の作図用計算(誰が使うの?)2022/09/12
画面設計はこんな感じです。Labelの順番がグチャグチャなのは、設計なしで作成した結果で特に意味はありません。 少しづつ比率を追加したのは反省しています。
ソースの「-----------------」は区切り線なので記述の必要はありません。
青字は自動入力部分で修正の必要はありません。
黒字が入力部分です。
赤字はコメント文なので記述の必要はありません。
比率ボタンごとに計算しているのでソースは簡単ですが、勘違いミスでしばらくプチパニックでした。
------------------
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim a, b, h, c, k, t, g, r, s As Single
'TextBox1がブランクならLabel11に "abhの値を入力してください"を表示。
'TextBox2がブランクならLabel11に "abhの値を入力してください"を表示。
'TextBox3がブランクならLabel11に "abhの値を入力してください"を表示。
'Label11をリセット。
'TextBox1〜3の入力値に合わせてLabel1〜3に計算結果を表示。
If TextBox1.Text = Nothing Then
Label11.Text = "a b h の値を入力してください"
Exit Sub
End If
If TextBox2.Text = Nothing Then
Label11.Text = "a b h の値を入力してください"
Exit Sub
End If
If TextBox3.Text = Nothing Then
Label11.Text = "a b h の値を入力してください"
Exit Sub
End If
Label11.ResetText()
a = Val(TextBox1.Text)
b = Val(TextBox2.Text)
h = Val(TextBox3.Text)
c = a - b
k = c / 2
g = Math.Sqrt((h ^ 2) + (k ^ 2))
r = (g * b) / c
t = g + r
s = ((b * 360) / r) / 2
Label1.Text = Format(t, "0.00")
Label2.Text = Format(r, "0.00")
Label3.Text = Format(s, "0.00")
End Sub
------------------
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
'Label1, 2, 3, 11をリセット。
'TextBox1〜3をリセット。
Label11.ResetText()
TextBox1.ResetText()
TextBox2.ResetText()
TextBox3.ResetText()
Label1.ResetText()
Label2.ResetText()
Label3.ResetText()
End Sub
------------------
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
End
End Sub
End Class
------------------
起動直後のパレット
大きい方の直径(a)
小さい方の直径(b)
高さ(h)
を入力し[計算]にて大きい弧の半径(a)
小さい弧の半径(b)
角度(θ)
を算出します。
クリックするといきなりダウンロードが始まります。
実際のプログラム完成日は2022年8月18日です。
実際のプログラム完成日は2022年8月18日です。
Windows版です。