?? form1.frm
字號:
VERSION 5.00
Begin VB.Form Form1
Caption = "油箱截面計算(Fgb)"
ClientHeight = 5310
ClientLeft = 60
ClientTop = 510
ClientWidth = 6915
DrawStyle = 2 'Dot
LinkTopic = "Form1"
LockControls = -1 'True
MaxButton = 0 'False
ScaleHeight = 5310
ScaleWidth = 6915
StartUpPosition = 3 '窗口缺省
Begin VB.TextBox Text7
Height = 1095
Left = 360
Locked = -1 'True
MultiLine = -1 'True
ScrollBars = 2 'Vertical
TabIndex = 14
Top = 4080
Width = 6375
End
Begin VB.TextBox Text6
Height = 375
Left = 1440
TabIndex = 11
Text = "82"
Top = 1080
Width = 1335
End
Begin VB.TextBox Text5
Height = 375
Left = 1440
TabIndex = 10
Text = "152"
Top = 480
Width = 1335
End
Begin VB.CommandButton Command2
Caption = "計算任意兩刻度間的油量"
Height = 375
Left = 3120
TabIndex = 9
Top = 3480
Width = 3615
End
Begin VB.CommandButton Command1
Caption = "計算現刻度下油箱的油量情況"
Height = 375
Left = 240
TabIndex = 8
Top = 2160
Width = 2535
End
Begin VB.TextBox Text4
Height = 2415
Left = 3000
MultiLine = -1 'True
ScrollBars = 2 'Vertical
TabIndex = 6
Top = 600
Width = 3735
End
Begin VB.TextBox Text3
Height = 375
Left = 1440
TabIndex = 3
Top = 3480
Width = 1335
End
Begin VB.TextBox Text2
Height = 375
Left = 1440
TabIndex = 1
Top = 2880
Width = 1335
End
Begin VB.TextBox Text1
Height = 375
Left = 1440
TabIndex = 0
Top = 1680
Width = 1335
End
Begin VB.Label Label6
Caption = "油箱直徑(cm):"
Height = 375
Left = 240
TabIndex = 13
Top = 1200
Width = 1215
End
Begin VB.Label Label5
Caption = "油箱長度(cm):"
Height = 375
Left = 240
TabIndex = 12
Top = 600
Width = 1335
End
Begin VB.Label Label4
Caption = "結果顯示(立方米)"
Height = 255
Left = 4200
TabIndex = 7
Top = 240
Width = 1455
End
Begin VB.Label Label3
Caption = "比較刻度(大)"
Height = 255
Left = 360
TabIndex = 5
Top = 3600
Width = 1095
End
Begin VB.Label Label2
Caption = "比較刻度(小)"
Height = 375
Left = 360
TabIndex = 4
Top = 3000
Width = 1095
End
Begin VB.Label Label1
Caption = "現刻度值:"
Height = 255
Left = 360
TabIndex = 2
Top = 1800
Width = 975
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim sss
Private Sub Command1_Click()
yyy = Val(Text1.Text) / 100 '將CM化為M
If yyy <= Val(Text6.Text) / 100 And yyy >= 0 Then '確認半徑是否有效
count_you (yyy)
Else
Text4 = ""
Text4 = "直徑有誤!"
End If
End Sub
Private Sub count_you(yyy)
Text4 = "" '清空原記錄數據
h = Val(Text5.Text) / 100 '油箱半徑
r = 0.5 * Val(Text6.Text) / 100 '長度
PI = 3.1415926 '圓周率
If yyy > r Then z = (yyy - r) '油的高度(米)
If yyy <= r Then z = (r - yyy) '油的高度(米)
y = Sqr(r * r - z * z) '1/2油的截面長度
s_0 = ArcCos(z / r) '1/2扇形的角度值
s_san = (r * r * PI) * (s_0 / 180) '扇形的面積
s_3 = y * z '扇形內的三角形面積
s = (s_san - s_3) * h '空油的體積部分
ss = PI * r * r * h '滿油時的總體積
sss = ss - s '剩余油的體積
If yyy <= r Then
k = s
s = sss
sss = k
End If
If Text1.Text <> "" Then Text4.Text = "滿油時的體積:=" & Format(ss, "##.####") & vbCrLf & "剩余油的體積:=" & Format(sss, "#.####") & vbCrLf & "已用油的體積:=" & Format(s, "##.###0")
End Sub
Private Function ArcCos(X As Single) As Single '反余弦函數
Dim lSngResult As Single
If X = 0 Then
lSngResult = 90
ElseIf X = 1 Then
lSngResult = 0
Else
lSngResult = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1)
lSngResult = lSngResult * 180 / 3.1415926
End If
ArcCos = lSngResult
End Function
Private Sub Command2_Click()
a = Val(Text2) / 100 '小刻度值
b = Val(Text3) / 100 '大刻度值
c = Val(Text6) / 100 '直徑大小
If a < c / 2 Then
k = a
a = c - b
b = c - k
End If
If a <> "" And b <> "" And a <= b And a <= c And b <= c And a >= 0 And b >= 0 Then
count_you (a) '計算小刻度時的油量值
little = sss '記錄小刻度時的剩余油量值
count_you (b) '計算大刻度時的油量值
big = sss '記錄大刻度時的剩余油量值
Text4 = vbCrLf & Text2.Text & "--" & Text3.Text & "刻度間的油量為:" & vbCrLf & Format(big - little, "##.####")
Else
Text4 = ""
Text4 = "請檢查是否輸入了合法的半徑和大與小的刻度值!"
End If
End Sub
Private Sub Form_Load()
Text7 = "使用說明:" & vbCrLf & "輸入'現刻度值'后按:計算現刻度下....,按鍵可以計算當前油箱內的剩余油量和已經使用了的油量;要計算任意兩個刻度值之間的油量,請輸入刻度值,注意分大小輸入,精度可達到毫米級.油箱的長度和直徑可任意確定;要驗證是否計算正確,可輸入最大直徑及1/2直徑來測試." & vbCrLf & "本程序用到的計算公式有:扇形面積計算;反三角函數;三角形面積等"
End Sub
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -