新手求助
vb.net吧
全部回复
仅看楼主
level 1
021230210lmy 楼主
Module Module1
Public Class fuelgas
Private as0 As Double = 8055.8643
Private bs0 As Double = -1780.0633
Private a As Double() = New Double() {-301836.74, +1048965.2, -232840.57, +452884.31, -313084.77, +113413.62, -21298.087, +1636.36, 0.0}
Private b As Double() = New Double() {-111525.75, -310203.06, +2996119.7, -2793478.8, +1874640.7, -734995.97, +150626.02, -12510.984, 0.0}
Private z1 As Double = 0
Private z2 As Double = 0
Private tt, dtemp As Double
Public Sub blankair(ByVal ch As Char, ByVal t As Double, ByVal f As Double)
Dim i As Integer
tt = t * 0.001
Select Case ch
Case "h"
For i = 0 To 8
dtemp = Math.Pow(tt, i)
z1 += a(i) * dtemp
z2 += b(i) * dtemp
Next
Case "c"
For i = 0 To 8
dtemp = 0.001 * Math.Pow(tt, i - 1)
z1 += i * a(i) * dtemp
z2 += i * b(i) * dtemp
Next
Case "s"
dtemp = Math.Log(tt)
z1 = 0.001 * a(1) * dtemp
z2 = 0.001 * b(1) * dtemp
For i = 2 To 8
dtemp = 0.001 * Math.Pow(tt, i - 1)
z1 += i * a(i) * dtemp / (i - 1)
z2 += i * b(i) * dtemp / (i - 1)
Next
z1 += as0
z2 += bs0
End Select
dtemp = z1 + f / (1 + f) * z2
End Sub
End Class
Public Class vapour
Private as0 As Double = 231.13968
Private a As Double() = New Double() {-251798.88, 33930.851, -4363.0281, 10594.936, -5495.2291, 1494.933, -227.72255, 17.874978, -0.53236046}
Private z1 As Double = 0
Private z2 As Double = 0
Private dtemp As Double
Private H2O As Double = 0.01801534
Public Sub blankwater(ByVal ch As Char, ByVal t As Double)
Dim i, tt As Integer
tt = t * 0.001
Select Case ch
Case "h"
For i = 0 To 8
dtemp = Math.Pow(tt, i)
z1 += a(i) * dtemp
z2 += a(i) * Math.Pow(298.15 * 0.001, i)
Next
z1 = z1 - z2
Case "c"
For i = 1 To 8
dtemp = 0.001 * Math.Pow(tt, i - 1)
z1 += i * a(i) * dtemp
Next
Case "s"
dtemp = Math.Log(tt)
z1 = 0.001 * a(1) * dtemp
For i = 2 To 8
dtemp = 0.001 * Math.Pow(tt, i - 1)
z1 += i * a(i) * dtemp / (i - 1)
Next
z1 += as0
End Select
dtemp = z1 / H2O
End Sub
End Class
Sub Main()
Dim ch As Char
Dim t, f, d As Double
Dim dtemp As Double
ch = InputBox("输入控制变量:熵s、焓h、定压比热c")
t = InputBox("输入湿燃气温度")
f = InputBox("输入油气比")
d = InputBox("输入湿燃气湿度")
dtemp = ((1 + f) * fuelgas.blankair(ch, t, f) + d * vapour.blankwater(ch, t)) / (1 + f + d)
End Sub
End Module
最后运行时在调用类的方法时报错:对非共享成员的引用要求对象引用
刚学vb.net没多久,小弟可能会有一些比较低级的错误。。。谢谢了
2017年08月20日 09点08分 1
level 11
实例化类或者在被调用的方法声明那里加上shared关键字,详情请查阅帮助文档
2017年08月20日 19点08分 2
1