Vsi algoritmi so napisani v programskem jeziku VisualBasic.
Izracun celotne debeline plasti:
D = 0
For i = 1 To stPlasti
D = D + lbD.Items.Item(i - 1)
Material(i - 1) = lbP.Items.Item(i - 1)
'VseDebeline(i - 1) = lbD.Items.Item(i - 1)
Next
Izracun toplotnega upora plasti:
ReDim Rp(stPlasti)
R = 0
For i = 1 To stPlasti
Dim mt As Material = ht.Item(lbP.Items(i - 1))
Rp(i) = (lbD.Items.Item(i - 1) / 100) / (mt.lambda * S)
R = R + Rp(i)
Next
Temperatura med plastmi:
ReDim T(stPlasti)
If T1 >= T2 Then
T(0) = T1
T(stPlasti) = T2
For i = 1 To stPlasti - 1
T(i) = T(i - 1) - P * Rp(i)
Next
Else
T(0) = T2
T(stPlasti) = T1
For i = 1 To stPlasti - 1
T(i) = T(i - 1) - P * Rp(stPlasti + 1 - i)
Next
End If
Risanje temperaturnega diagrama:
If T1 >= T2 Then
g.DrawLine(RdecePero, xSl(0), ySl(T1), xSl(x(0)), ySl(T1))
Dim mt As Material
For i = 0 To stPlasti
If i <> stPlasti Then
mt = ht.Item(lbP.Items(i))
g.FillRectangle(mt.barva, xSl(x(i)), ySl(yMax), xSl(x(i + 1)) - xSl(x(i)), ySl(yMin) - ySl(yMax))
End If
g.DrawLine(Pens.Black, xSl(x(i)), ySl(yMin), xSl(x(i)), ySl(yMax))
g.DrawLine(RdecePero, xSl(x(i)), ySl(y(i)), xSl(x(i + 1)), ySl(y(i + 1)))
Next
g.DrawLine(RdecePero, xSl(x(stPlasti)), ySl(T2), xSl(xMax), ySl(T2))
Else
g.DrawLine(RdecePero, xSl(0), ySl(T1), xSl(x(0)), ySl(T1))
Dim mt As Material
For i = 0 To stPlasti - 1
If i <> stPlasti Then
mt = ht.Item(lbP.Items(i))
g.FillRectangle(mt.barva, xSl(x(i)), ySl(yMax), xSl(x(i + 1)) - xSl(x(i)), ySl(yMin) - ySl(yMax))
End If
g.DrawLine(Pens.Black, xSl(x(i)), ySl(yMin), xSl(x(i)), ySl(yMax))
g.DrawLine(RdecePero, xSl(x(i)), ySl(y(stPlasti - i)), xSl(x(i + 1)), ySl(y(stPlasti - 1 - i)))
Next
g.DrawLine(RdecePero, xSl(x(stPlasti)), ySl(T2), xSl(xMax), ySl(T2))
End If
Kontrola vhodnih podatkov :
Try
If IsNumeric(tbZT.Text & tbNT.Text & tbS.Text) And tbS.Text > 0 And tbS.Text <> Nothing And lbP.Items.Item(0) <> Nothing Then
T1 = tbNT.Text
T2 = tbZT.Text
S = tbS.Text
PodatkiOK = True
End If
Catch
MsgBox("Napaka!" & vbNewLine & "Vnesli ste neveljavne podatke.")
Exit Sub
End Try