Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 16

Public Class Form1

Dim w As Integer = 0

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

Windows.Forms.Control.CheckForIllegalCrossThreadCalls = False

bauratbox.Text = "9600"

Try

For Each port As String In SerialPort1.GetPortNames()

portbox.Items.Add(port)

Next

Catch ex As Exception

portndetect.Visible = True

End Try

'TODO: This line of code loads data into the 'TableA4DataSet.TabelA4' table. You can move, or
remove it, as needed.

Me.TabelA4TableAdapter.Fill(Me.TableA4DataSet.TabelA4)

'TODO: This line of code loads data into the 'Tabel_A4DataSet1.Tabel_A4' table. You can move,
or remove it, as needed.

Me.TableAdapterManager.UpdateAll(Me.TableA4DataSet)

Me.TabelA4DataGridView.Visible = False

End Sub

Private Sub connectbutt_Click(sender As Object, e As EventArgs) Handles connectbutt.Click

Try

SerialPort1.BaudRate = Val(bauratbox.Text)

SerialPort1.PortName = portbox.SelectedItem

SerialPort1.Open()

portconnect.Visible = True

portbox.Enabled = False

connectbutt.Enabled = False

timebox.Enabled = True

intervbox.Enabled = True

startbutt.Enabled = True
Catch ex As Exception

portnconnect.Visible = True

connectbutt.Enabled = True

portbox.Enabled = True

End Try

End Sub

Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick

w += 1

databox.Text = w

Dim I = SerialPort1.ReadLine

Try

Dim B

Dim interv = intervbox.SelectedItem

Dim time = timebox.SelectedItem

Dim x

Dim now

now = w

x = (time) / (interv / 1000)

B = I.ToString

Tchart.ChartAreas(0).AxisY.Maximum = 100

Tchart.Series("Temperature").Points.AddY(B)

If Tchart.Series(0).Points.Count = x Then

Tchart.Series(0).Points.RemoveAt(0)

Tlist.Sorted = True

Timer1.Enabled = False

End If

If Not I = "" Then

Tlist.Items.Add(B)

End If

Catch ex As Exception
End Try

End Sub

Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick

Tlist.Sorted = True

Dim min As Integer = Tlist.Items.Item(0)

Dim max As Integer = Tlist.Items.Item(Tlist.Items.Count - 1)

Dim max1 = Tlist.Items.Count - 1

For I = 0 To max1

If Tlist.Items.Item(I) > max Then

max = Tlist.Items.Item(I)

End If

If Tlist.Items.Item(I) < min Then

min = Tlist.Items.Item(I)

End If

Next

Dim total As Double

For Each item In Tlist.Items

total += CDbl(item)

Next

tminbox.Text = min

tminbox.Text = FormatNumber(tminbox.Text, 2)

tmaxbox.Text = max

tmaxbox.Text = FormatNumber(tmaxbox.Text, 2)

tavgbox.Text = CStr(total / Tlist.Items.Count)

tavgbox.Text = FormatNumber(tavgbox.Text, 2)

Timer1.Enabled = False

Timer2.Enabled = False

End Sub

Private Sub startbutt_Click(sender As Object, e As EventArgs) Handles startbutt.Click


Timer1.Interval = Val(timebox.SelectedItem)

Timer1.Enabled = True

Timer2.Interval = Val(intervbox.SelectedItem)

Timer2.Enabled = True

startbutt.Enabled = False

timebox.Enabled = False

intervbox.Enabled = False

CheckT.Enabled = True

End Sub

Private Sub Search_Click(sender As Object, e As EventArgs) Handles Search.Click

Dim filterdb As Double = Temp.Text

Try

Dim T As Double = Temp.Text

If T >= 0.01 And T <= 373.95 Then

Fix.Enabled = False

Temp.Enabled = False

validt.Visible = True

invalidt.Visible = False

End If

Me.TabelA4TableAdapter.Fill(Me.TableA4DataSet.TabelA4)

TabelA4BindingSource.DataSource = TableA4DataSet.Tables("TabelA4")

TabelA4BindingSource.Filter = "(T= '" & filterdb & "')"

Pressbox.DataBindings.Add("Text", TabelA4BindingSource, "Psat")

vfbox.DataBindings.Add("Text", TabelA4BindingSource, "vf")

vgbox.DataBindings.Add("Text", TabelA4BindingSource, "vg")

Pressbox.DataBindings.Clear()

vfbox.DataBindings.Clear()

vgbox.DataBindings.Clear()
If Pressbox.Text = "" Then

Dim A As Double

Dim C As Double

Dim Bp As Double

Dim Bvf As Double

Dim Bvg As Double

Dim Dp As Double

Dim Dvf As Double

Dim Dvg As Double

Dim Yp As Double

Dim Yvf As Double

Dim Yvg As Double

Dim X As Double = Temp.Text

Dim IDCount As Integer

Dim IDMax As Integer = TableA4DataSet.Tables("TabelA4").Rows.Count

For IDCount = 1 To IDMax

TabelA4BindingSource.Filter = "(ID=" & IDCount & ")"

Pressbox.DataBindings.Add("Text", TabelA4BindingSource, "Psat")

vfbox.DataBindings.Add("Text", TabelA4BindingSource, "vf")

vgbox.DataBindings.Add("Text", TabelA4BindingSource, "vg")

Temp.DataBindings.Add("text", TabelA4BindingSource, "T")

Pressbox.DataBindings.Clear()

vfbox.DataBindings.Clear()

vgbox.DataBindings.Clear()

Temp.DataBindings.Clear()

A = Temp.Text

Bp = Pressbox.Text

Bvf = vfbox.Text

Bvg = vgbox.Text
TabelA4BindingSource.Filter = "(Id =" & IDCount + 1 & ")"

Pressbox.DataBindings.Add("Text", TabelA4BindingSource, "Psat")

vfbox.DataBindings.Add("Text", TabelA4BindingSource, "vf")

vgbox.DataBindings.Add("Text", TabelA4BindingSource, "vg")

Temp.DataBindings.Add("text", TabelA4BindingSource, "T")

Pressbox.DataBindings.Clear()

vfbox.DataBindings.Clear()

vgbox.DataBindings.Clear()

Temp.DataBindings.Clear()

C = Temp.Text

Dp = Pressbox.Text

Dvf = vfbox.Text

Dvg = vgbox.Text

If X > +A And X <= C Then

Yp = Bp + (((X * Dp) - (X * Bp) - (A * Dp) + (A * Bp)) / (C - A))

Yvf = Bvf + (((X * Dvf) - (X * Bvf) - (A * Dvf) + (A * Bvf)) / (C - A))

Yvg = Bvg + (((X * Dvg) - (X * Bvg) - (A * Dvg) + (A * Bvg)) / (C - A))

Temp.Text = X

Pressbox.Text = Yp

vfbox.Text = Yvf

vgbox.Text = Yvg

Exit For

End If

Next

End If

Catch ex As Exception

MessageBox.Show("Database Can't Open")

End Try
Pressbox.Enabled = False

vfbox.Enabled = False

vgbox.Enabled = False

mf.Enabled = True

Checkmf.Enabled = False

Conversionmf.Enabled = False

mt.Enabled = True

Checkmt.Enabled = True

Conversionmt.Enabled = False

Search.Enabled = False

End Sub

Private Sub CheckT_Click(sender As Object, e As EventArgs) Handles CheckT.Click

Temp.Text = tavgbox.Text

Dim Check As Boolean

Dim Check_T As Char

Dim titik As Integer

Dim T = Temp.Text

Check = IsNumeric(T)

titik = 0

For x = 1 To Len(T)

If Check_T = "," Then

Check = False

Check_T = Mid(T, x, 1)

If Check_T = "." Then

titik += 1

End If

End If

If Check_T = "-" And x > 1 Then


Check = False

End If

If Check_T = "e" Then

Check = False

End If

If Check_T = "E" Then

Check = False

End If

Next

If titik > 1 Then

Check = False

End If

If Check = True Then

CheckT.Enabled = False

Temp.Enabled = False

validt.Visible = True

Fix.Enabled = False

Search.Enabled = True

Else

Fix.Visible = True

Fix.Enabled = True

Temp.Enabled = False

invalidt.Visible = True

End If

End Sub

Private Sub Fix_Click(sender As Object, e As EventArgs) Handles Fix.Click

Fix.Visible = True

Temp.Text = ""

Temp.Enabled = True

Temp.Focus()
invalidt.Visible = False

End Sub

Private Sub Checkmt_Click(sender As Object, e As EventArgs) Handles Checkmt.Click

Dim Check As Boolean

Dim Check_mt As Char

Dim titik As Integer

Dim mtl = mt.Text

Check = IsNumeric(mtl)

titik = 0

For x = 1 To Len(mtl)

Check_mt = Mid(mtl, x, 1)

If Check_mt = "." Then

titik += 1

End If

If Check_mt = "," Then

Check = False

End If

If Check_mt = "-" And x > 1 Then

Check = False

End If

If Check_mt = "e" Then

Check = False

End If

If Check_mt = "E" Then

Check = False

End If

Next

If titik > 1 Then

Check = False
End If

If Check = True Then

Checkmt.Enabled = False

mt.Enabled = False

validmt.Visible = True

Conversionmt.Enabled = False

Checkmf.Enabled = True

V.Enabled = False

Count.Enabled = False

Else

Conversionmt.Visible = True

Conversionmt.Enabled = True

mt.Enabled = False

invalidmt.Visible = True

End If

End Sub

Private Sub Conversionmt_Click(sender As Object, e As EventArgs) Handles Conversionmt.Click

Dim T As String

Dim konversi As String = ""

For x = 1 To Len(mt.Text)

T = Mid(mt.Text, x, 1)

If Asc(T) >= 45 And Asc(T) <= 57 Then

If Not (T = "." And konversi.Contains(".")) Then

If Not (T = "-" And x > 1) Then

konversi += T

End If

End If

End If

Next

mt.Text = Val(konversi)
If konversi = "" Then

mt.Text = "0"

End If

Checkmt.Enabled = False

mt.Enabled = False

Conversionmt.Enabled = False

invalidmt.Visible = False

validmt.Visible = True

Count.Enabled = False

Checkmf.Enabled = True

End Sub

Private Sub Checkmf_Click(sender As Object, e As EventArgs) Handles Checkmf.Click

Dim Check As Boolean

Dim Check_F As Char

Dim titik As Integer

Dim F = mf.Text

Check = IsNumeric(F)

titik = 0

For x = 1 To Len(F)

Check_F = Mid(F, x, 1)

If Check_F = "." Then

titik += 1

End If

If Check_F = "," Then

Check = False

End If

If Check_F = "-" And x > 1 Then

Check = False

End If
If Check_F = "e" Then

Check = False

End If

If Check_F = "E" Then

Check = False

End If

Next

If titik > 1 Then

Check = False

End If

If Check = True Then

Checkmf.Enabled = False

mf.Enabled = False

validmf.Visible = True

Conversionmf.Enabled = False

Calculate.Enabled = True

Count.Enabled = False

Else

Conversionmf.Visible = True

Conversionmf.Enabled = True

Conversionmf.Visible = True

mf.Enabled = False

invalidmf.Visible = True

End If

End Sub

Private Sub Conversionmf_Click(sender As Object, e As EventArgs) Handles Conversionmf.Click

Dim F As String

Dim konversi As String = ""

For x = 1 To Len(mf.Text)
F = Mid(mf.Text, x, 1)

If Asc(F) >= 45 And Asc(F) <= 57 Then

If Not (F = "." And konversi.Contains(".")) Then

If Not (F = "-" And x > 1) Then

konversi += F

End If

End If

End If

Next

mf.Text = Val(konversi)

If konversi = "" Then

mf.Text = "0"

End If

Checkmf.Enabled = False

mf.Enabled = False

Conversionmf.Enabled = False

invalidmf.Visible = False

validmf.Visible = True

Calculate.Enabled = True

Count.Enabled = False

End Sub

Private Sub Calculate_Click(sender As Object, e As EventArgs) Handles Calculate.Click

mg.Text = mt.Text - mf.Text

V.Enabled = False

Calculate.Enabled = False

c1.Enabled = True

Count.Enabled = True

End Sub

Private Sub c1_Click(sender As Object, e As EventArgs) Handles c1.Click


quality.Text = mg.Text / mt.Text

c1.Enabled = False

c2.Enabled = True

End Sub

Private Sub c2_Click(sender As Object, e As EventArgs) Handles c2.Click

volum.Text = vfbox.Text + (quality.Text * (vgbox.Text - vfbox.Text))

c2.Enabled = False

Count.Enabled = True

End Sub

Private Sub Count_Click(sender As Object, e As EventArgs) Handles Count.Click

V.Text = mf.Text * vfbox.Text + mg.Text * vgbox.Text

Reset.Enabled = True

Count.Enabled = False

V.Enabled = False

End Sub

Private Sub Reset_Click(sender As Object, e As EventArgs) Handles Reset.Click

timebox.SelectedIndex = -1

intervbox.SelectedIndex = -1

Tlist.Items.Clear()

Tchart.Series("Temperature").Points.Clear()

w=0

databox.Text = ""

tminbox.Text = ""

tmaxbox.Text = ""

tavgbox.Text = ""

Temp.Text = ""

Pressbox.Text = ""

vfbox.Text = ""
vgbox.Text = ""

mf.Text = ""

mt.Text = ""

mg.Text = ""

quality.Text = ""

volum.Text = ""

V.Text = ""

portbox.Enabled = True

portconnect.Visible = True

connectbutt.Enabled = False

timebox.Enabled = True

intervbox.Enabled = True

startbutt.Enabled = True

Temp.Enabled = True

mf.Enabled = True

mt.Enabled = True

V.Enabled = False

CheckT.Enabled = True

Fix.Enabled = True

Search.Enabled = True

Checkmf.Enabled = True

Conversionmf.Enabled = True

Checkmt.Enabled = True

Conversionmt.Enabled = True

mg.Enabled = False

c1.Enabled = True

c2.Enabled = True

Calculate.Enabled = True

Count.Enabled = True

Reset.Enabled = True
Exit1.Enabled = True

validt.Visible = False

validmf.Visible = False

validmt.Visible = False

End Sub

Private Sub Exit1_Click(sender As Object, e As EventArgs) Handles Exit1.Click

Application.Exit()

End Sub

End Class

You might also like