掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
複数テキストボックスでの条件分岐?? (ID:141663)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
アクアさん、こんにちは。 大変詳しいご説明有難う御座います。 条件分岐について、少し分かった感じがします! アクアさんのアドバイスを見ながら、コードを書き直してみたら、 出来ました! (アクアさんの予想している物と僕の作りたい物はきっと同じです) ちなみにこんなコードなんですが、無駄な部分とか不適当な部分とか あるでしょうか? お時間があれば、また教えてください。 Private Sub cmb41_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmb41.Click Dim teihen, takasa, syahen, kakudo, kakudo_t, kakudo_s, kakudo_c, radian As Double teihen = Val(txb41.Text) takasa = Val(txb42.Text) syahen = Val(txb43.Text) kakudo = Val(txb44.Text) kakudo_t = Math.Atan(takasa / teihen) kakudo_s = Math.Asin(takasa / syahen) kakudo_c = Math.Acos(teihen / syahen) radian = 180 / Math.PI Try If (syahen >= 1 And teihen > syahen) Or (syahen >= 1 And takasa > syahen) Or _ (syahen >= 1 And teihen = syahen) Or (syahen >= 1 And takasa = syahen) Then MsgBox("不正な入力です", 48, "エラー") Else If teihen > 0 And takasa > 0 Then lbl47.Text = Int(Math.Sqrt(teihen ^ 2 + takasa ^ 2) * 10 + 0.5) / 10 lbl47.ForeColor = Color.Crimson lbl48.Text = Int(kakudo_t * radian * 10 + 0.5) / 10 & "°" lbl48.ForeColor = Color.Crimson txb43.Text = lbl47.Text txb44.Text = lbl48.Text ElseIf takasa > 0 And syahen > 0 Then lbl45.Text = Int(Math.Sqrt(syahen ^ 2 - takasa ^ 2) * 10 + 0.5) / 10 lbl45.ForeColor = Color.Crimson lbl48.Text = Int(kakudo_s * radian * 10 + 0.5) / 10 & "°" lbl48.ForeColor = Color.Crimson txb41.Text = lbl45.Text txb44.Text = lbl48.Text ElseIf syahen > 0 And kakudo > 0 Then lbl45.Text = Int(Math.Cos(kakudo / 180 * Math.PI) * syahen * 10 + 0.5) / 10 lbl45.ForeColor = Color.Crimson lbl46.Text = Int(Math.Sqrt(syahen ^ 2 - lbl45.Text ^ 2) * 10 + 0.5) / 10 lbl46.ForeColor = Color.Crimson txb41.Text = lbl45.Text txb42.Text = lbl46.Text ElseIf teihen > 0 And syahen > 0 Then lbl46.Text = Int(Math.Sqrt(syahen ^ 2 - teihen ^ 2) * 10 + 0.5) / 10 lbl46.ForeColor = Color.Crimson lbl48.Text = Int(kakudo_c * radian * 10 + 0.5) / 10 & "°" lbl48.ForeColor = Color.Crimson txb42.Text = lbl46.Text txb44.Text = lbl48.Text ElseIf teihen > 0 And kakudo > 0 Then lbl46.Text = Int(Math.Tan(kakudo / 180 * Math.PI) * teihen * 10 + 0.5) / 10 lbl46.ForeColor = Color.Crimson lbl47.Text = Int(teihen / Math.Cos(kakudo / 180 * Math.PI) * 10 + 0.5) / 10 lbl47.ForeColor = Color.Crimson txb42.Text = lbl46.Text txb43.Text = lbl47.Text ElseIf takasa > 0 And kakudo > 0 Then lbl45.Text = Int(takasa / Math.Tan(kakudo / 180 * Math.PI) * 10 + 0.5) / 10 lbl45.ForeColor = Color.Crimson lbl47.Text = Int(takasa / Math.Sin(kakudo / 180 * Math.PI) * 10 + 0.5) / 10 lbl47.ForeColor = Color.Crimson txb41.Text = lbl45.Text txb43.Text = lbl47.Text Else MsgBox("値が不足しています", 64, "エラー") End If End If Catch MsgBox("予期せぬエラーが発生しました" & Chr(13) & "●●まで連絡を", 48, "エラー") End Try End Sub
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.