📄 混凝土配合比.frm
字号:
Caption = "用灰量(C) ="
Height = 255
Left = 120
TabIndex = 19
Top = 2880
Width = 1575
End
Begin VB.Label Label7
Caption = "粗集料粒径(mm) ="
Height = 255
Left = 120
TabIndex = 18
Top = 1080
Width = 1575
End
Begin VB.Label Label6
Caption = "单位用水量(W0) ="
Height = 255
Left = 120
TabIndex = 17
Top = 2520
Width = 1575
End
Begin VB.Label Label5
Caption = "水灰比W/C ="
Height = 255
Left = 120
TabIndex = 16
Top = 2160
Width = 1575
End
Begin VB.Label Label4
Caption = "水泥标号Rc ="
Height = 255
Left = 120
TabIndex = 15
Top = 1440
Width = 1695
End
Begin VB.Label Label3
Caption = "要求坍落度(mm) ="
Height = 255
Left = 120
TabIndex = 14
Top = 1800
Width = 1575
End
Begin VB.Label Label2
Caption = "粗集料 ="
Height = 255
Left = 120
TabIndex = 13
Top = 720
Width = 1575
End
Begin VB.Label Label1
Caption = "设计强度Rd(Mpa)="
Height = 255
Left = 120
TabIndex = 12
Top = 360
Width = 1575
End
End
Begin VB.CommandButton Command2
Caption = "关闭"
Height = 375
Left = 9000
TabIndex = 10
Top = 5640
Width = 855
End
Begin VB.CommandButton Command1
Caption = "计算"
Height = 375
Left = 8160
TabIndex = 9
Top = 5640
Width = 855
End
End
Attribute VB_Name = "frmhntphb"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Command1_Click()
'计算
On Error GoTo handlerror
rd = Val(Combo1.Text)
If rd < 25 Then dp = 4
If 25 <= rd And rd < 50 Then dp = 5
If rd >= 50 Then dp = 6
rh = rd + 1.645 * dp
If Combo2.Text = "碎石" Then a = 0.46: b = 0.52
If Combo2.Text = "卵石" Then a = 0.48: b = 0.61
rcb = Val(Combo3.Text)
rc = 1.13 * rcb / 10
wc = a * rc / (rh + a * b * rc)
If Val(Text2.Text) = 0 Then Text2.Text = Trim(Str(Int(wc * 1000 + 0.5) / 1000))
If Val(Text2.Text) <> 0 Then If Val(Text2.Text) <> 0 Then wc = Val(Text2.Text)
If Combo2.Text = "碎石" Then
If Combo4.Text = "10" Then k = 575
If Combo4.Text = "20" Then k = 530
If Combo4.Text = "40" Then k = 485
If Combo4.Text = "80" Then k = 440
End If
If Combo2.Text = "卵石" Then
If Combo4.Text = "10" Then k = 545
If Combo4.Text = "20" Then k = 500
If Combo4.Text = "40" Then k = 455
If Combo4.Text = "80" Then k = 410
End If
t = Val(Text1.Text)
w = (t + k) / 3
If Val(Text3.Text) = 0 Then Text3.Text = Trim(Str(Int(w + 0.5)))
If Val(Text3.Text) <> 0 Then w = Val(Text3.Text)
c = w / wc
Text4.Text = Trim(Str(Int(c + 0.5)))
sp = Val(Text5.Text)
List1.Clear
List1.AddItem " ---混凝土配合比设计原始数据---"
List1.AddItem ""
List1.AddItem " 设计强度Rd(Mpa)=" + Combo1.Text
List1.AddItem " 粗集料 =" + Combo2.Text
List1.AddItem " 粗集料粒径(mm) =" + Combo4.Text
List1.AddItem " 水泥标号Rc =" + Combo3.Text
List1.AddItem " 要求坍落度(mm) =" + Text1.Text
List1.AddItem " 水灰比W/C =" + Text2.Text
List1.AddItem " 单位用水量(W0) =" + Text3.Text
List1.AddItem " 用灰量(C) =" + Text4.Text
List1.AddItem " 砂率(%) =" + Text5.Text
If Option1.Value = True Then '体积法
p0 = Val(Text6.Text)
pg = Val(Text7.Text)
ps = Val(Text9.Text)
pw = 1
g0 = (990 - w - c / p0) / (1 / pg + sp / (100 * ps - sp * ps)) '碎石
s0 = sp * g0 / (100 - sp)
s0 = Int(s0 + 0.5)
g0 = Int(g0 + 0.5)
List1.AddItem " 水泥密度 =" + Text6.Text
List1.AddItem " 粗集料表观密度 =" + Text7.Text
List1.AddItem " 粗集料含水量(%)=" + Text8.Text
List1.AddItem " 砂表观密度 =" + Text9.Text
List1.AddItem " 砂含水量(%) =" + Text10.Text
End If
List1.AddItem ""
List1.AddItem " ----配合比计算结果----"
List1.AddItem ""
If Option1.Value = True Then
List1.AddItem " 按体积法计算为 :"
List1.AddItem " 单位砂重量(kg) =" + Trim(Str(s0))
List1.AddItem " 单位粗集料重(kg)=" + Trim(Str(g0))
List1.AddItem " 混凝土初步配合比=" + "水泥:砂:粗集料:水=" + Str(1) + ":" + Trim(Str(Int(s0 / c * 100 + 0.5) / 100)) + ":" + Trim(Str(Int(g0 / c * 100 + 0.5) / 100)) + ":" + Trim(Str(Int(w / c * 100 + 0.5) / 100))
End If
If Option2.Value = True Then
s0 = (2450 - c - w) * sp / 100
g0 = 2450 - c - w - s0
s0 = Int(s0 + 0.5)
g0 = Int(g0 + 0.5)
List1.AddItem " 按重量法计算为 :"
List1.AddItem " 单位砂重量(kg) =" + Trim(Str(s0))
List1.AddItem " 单位粗集料重(kg)=" + Trim(Str(g0))
List1.AddItem " 混凝土初步配合比=" + "水泥:砂:粗集料:水=" + Str(1) + ":" + Trim(Str(Int(s0 / c * 100 + 0.5) / 100)) + ":" + Trim(Str(Int(g0 / c * 100 + 0.5) / 100)) + ":" + Trim(Str(Int(w / c * 100 + 0.5) / 100))
End If
List1.AddItem ""
List1.AddItem " ----现场施工配合比----"
List1.AddItem ""
s1 = Int(s0 * (1 + Val(Text10.Text) / 100) + 0.5)
g1 = Int(g0 * (1 + Val(Text8.Text) / 100) + 0.5)
w1 = w - s0 * Val(Text10.Text) / 100 - g0 * Val(Text8.Text) / 100
s1 = Int(s1 + 0.5)
g1 = Int(g1 + 0.5)
w1 = Int(w1 + 0.5)
List1.AddItem " 单位砂重量(kg) =" + Trim(Str(s1))
List1.AddItem " 单位粗集料重(kg)=" + Trim(Str(g1))
List1.AddItem " 单位水用量(kg) =" + Trim(Str(w1))
List1.AddItem " 混凝土初步配合比=" + "水泥:砂:粗集料:水=" + Str(1) + ":" + Trim(Str(Int(s1 / c * 100 + 0.5) / 100)) + ":" + Trim(Str(Int(g1 / c * 100 + 0.5) / 100)) + ":" + Trim(Str(Int(w1 / c * 100 + 0.5) / 100))
Exit Sub
handlerror:
xianshi = MsgBox("请检查您输入的数据后再试试。", vbInformation, "问题提示")
End Sub
Private Sub Command2_Click()
'关闭
On Error GoTo handlerror
If List1.ListCount > 1 And rjsfzc = 88 Then
frmMain.Text1 = frmMain.Text1 & vbCrLf & ""
frmMain.Text1 = frmMain.Text1 & vbCrLf & " 混凝土配合比设计计算结果:"
For i = 0 To List1.ListCount - 1
frmMain.Text1 = frmMain.Text1 & vbCrLf & List1.List(i)
Next i
frmMain.Text1 = frmMain.Text1 & vbCrLf & " --------------------------------------"
End If
Unload Me
Exit Sub
handlerror:
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer)
'Esc键退出,VbEscape可以用27代替
On Error GoTo handlerror
If KeyAscii = 27 Then
Unload Me
End If
Exit Sub
handlerror:
End Sub
Private Sub Form_Load()
'启动
Combo1.Clear
Combo1.AddItem "10号"
Combo1.AddItem "15号"
Combo1.AddItem "20号"
Combo1.AddItem "25号"
Combo1.AddItem "30号"
Combo1.AddItem "35号"
Combo1.AddItem "40号"
Combo1.AddItem "45号"
Combo1.AddItem "50号"
Combo1.AddItem "55号"
Combo1.AddItem "60号"
Combo1.Text = "30号"
Combo2.Clear
Combo2.AddItem "碎石"
Combo2.AddItem "卵石"
Combo2.Text = "碎石"
Combo3.Clear
Combo3.AddItem "325号"
Combo3.AddItem "425号"
Combo3.AddItem "525号"
Combo3.AddItem "625号"
Combo3.AddItem "725号"
Combo3.Text = "425号"
Combo4.Clear
Combo4.AddItem "10"
Combo4.AddItem "20"
Combo4.AddItem "40"
Combo4.AddItem "80"
Combo4.Text = "40"
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = "3.15"
Text7.Text = "2.7"
Text8.Text = "3.0"
Text9.Text = "2.65"
Text10.Text = "5.0"
List1.Clear
With VSFlexGrid1
.MergeCol(0) = True
.TextMatrix(0, 0) = "坍落度(mm)"
.TextMatrix(1, 0) = "坍落度(mm)"
.ColWidth(0) = 1100
.MergeRow(0) = True
.TextMatrix(0, 1) = "卵石最大粒径(mm)"
.TextMatrix(0, 2) = "卵石最大粒径(mm)"
.TextMatrix(0, 3) = "卵石最大粒径(mm)"
.TextMatrix(0, 4) = "碎石最大粒径(mm)"
.TextMatrix(0, 5) = "碎石最大粒径(mm)"
.TextMatrix(0, 6) = "碎石最大粒径(mm)"
.TextMatrix(2, 0) = "10~30"
.TextMatrix(3, 0) = "30~50"
.TextMatrix(4, 0) = "50~70"
.TextMatrix(5, 0) = "70~90"
.TextMatrix(1, 1) = "10"
.TextMatrix(1, 2) = "20"
.TextMatrix(1, 3) = "40"
.TextMatrix(1, 4) = "10"
.TextMatrix(1, 5) = "20"
.TextMatrix(1, 6) = "40"
.TextMatrix(2, 1) = "190"
.TextMatrix(3, 1) = "200"
.TextMatrix(4, 1) = "210"
.TextMatrix(5, 1) = "215"
.TextMatrix(2, 2) = "170"
.TextMatrix(3, 2) = "180"
.TextMatrix(4, 2) = "190"
.TextMatrix(5, 2) = "195"
.TextMatrix(2, 3) = "160"
.TextMatrix(3, 3) = "170"
.TextMatrix(4, 3) = "180"
.TextMatrix(5, 3) = "185"
.TextMatrix(2, 4) = "205"
.TextMatrix(3, 4) = "215"
.TextMatrix(4, 4) = "225"
.TextMatrix(5, 4) = "235"
.TextMatrix(2, 5) = "185"
.TextMatrix(3, 5) = "195"
.TextMatrix(4, 5) = "205"
.TextMatrix(5, 5) = "215"
.TextMatrix(2, 6) = "170"
.TextMatrix(3, 6) = "180"
.TextMatrix(4, 6) = "190"
.TextMatrix(5, 6) = "200"
For i = 0 To .Cols - 1
.ColAlignment(i) = flexAlignCenterCenter
Next i
End With
With VSFlexGrid2
.MergeCol(0) = True
.TextMatrix(0, 0) = "水灰比(W/C)"
.TextMatrix(1, 0) = "水灰比(W/C)"
.ColWidth(0) = 1100
.MergeRow(0) = True
.TextMatrix(0, 1) = "卵石最大粒径(mm)"
.TextMatrix(0, 2) = "卵石最大粒径(mm)"
.TextMatrix(0, 3) = "卵石最大粒径(mm)"
.TextMatrix(0, 4) = "碎石最大粒径(mm)"
.TextMatrix(0, 5) = "碎石最大粒径(mm)"
.TextMatrix(0, 6) = "碎石最大粒径(mm)"
.TextMatrix(2, 0) = "0.45"
.TextMatrix(3, 0) = "0.50"
.TextMatrix(4, 0) = "0.60"
.TextMatrix(5, 0) = "0.70"
.TextMatrix(1, 1) = "10"
.TextMatrix(1, 2) = "20"
.TextMatrix(1, 3) = "40"
.TextMatrix(1, 4) = "15"
.TextMatrix(1, 5) = "20"
.TextMatrix(1, 6) = "40"
.TextMatrix(2, 1) = "26~32"
.TextMatrix(3, 1) = "30~35"
.TextMatrix(4, 1) = "33~38"
.TextMatrix(5, 1) = "36~41"
.TextMatrix(2, 2) = "25~31"
.TextMatrix(3, 2) = "29~34"
.TextMatrix(4, 2) = "32~37"
.TextMatrix(5, 2) = "35~40"
.TextMatrix(2, 3) = "24~30"
.TextMatrix(3, 3) = "28~33"
.TextMatrix(4, 3) = "31~36"
.TextMatrix(5, 3) = "34~39"
.TextMatrix(2, 4) = "30~35"
.TextMatrix(3, 4) = "33~38"
.TextMatrix(4, 4) = "36~41"
.TextMatrix(5, 4) = "39~44"
.TextMatrix(2, 5) = "29~34"
.TextMatrix(3, 5) = "32~37"
.TextMatrix(4, 5) = "35~40"
.TextMatrix(5, 5) = "38~43"
.TextMatrix(2, 6) = "27~32"
.TextMatrix(3, 6) = "30~35"
.TextMatrix(4, 6) = "33~38"
.TextMatrix(5, 6) = "36~41"
For i = 0 To .Cols - 1
.ColAlignment(i) = flexAlignCenterCenter
Next i
End With
End Sub
Private Sub vsflexgrid1_DblClick()
'双击为选定用水量
If Val(VSFlexGrid1.TextMatrix(VSFlexGrid1.Row, VSFlexGrid1.Col)) > 100 Then
Text3.Text = VSFlexGrid1.TextMatrix(VSFlexGrid1.Row, VSFlexGrid1.Col)
End If
End Sub
Private Sub VSFlexGrid2_DblClick()
'双击为选定用水量
If Val(VSFlexGrid2.TextMatrix(VSFlexGrid2.Row, VSFlexGrid2.Col)) > 20 Then
Text5.Text = Trim(Str(Val(VSFlexGrid2.TextMatrix(VSFlexGrid2.Row, VSFlexGrid2.Col)) + 3))
End If
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -