📄 form1.vb
字号:
Else
tempApro = New CProcess(arow(0), arow(1), arow(2), arow(3), arow(5))
tempApro.preProcess = aprocess '将前一道工序与后一道工序相连
aprocess.nextProcess = tempApro
aprocess = tempApro
End If
flag = 1
'将可用设备添加到工序中
For Each str As String In aprocess.validmachineArray
For Each amach As CMachine In machinesArray
If amach.nameMachine = str Then
aArray.Add(amach)
End If
Next
Next
aprocess.validmachineArray.Clear()
aprocess.validmachineArray = aArray.Clone()
aArray.Clear()
'------------
sum = sum + aprocess.timeProcess
tempArray.Add(aprocess)
array.Add(aprocess)
Next
aprocess = tempArray.Item(0)
aprocess.timeRelation = Round(aprocess.timeProcess / sum, 2)
For j As Integer = 1 To tempArray.Count - 1
aprocess = tempArray.Item(j)
tempApro = tempArray.Item(j - 1)
aprocess.timeRelation = tempApro.timeRelation + aprocess.timeProcess / sum
Next
For k As Integer = 0 To tempArray.Count - 1
aprocess = tempArray.Item(k)
aprocess.timeRelation = Round(1 - aprocess.timeRelation, 2)
Next
Next
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Else
mydataset = New DataSet()
For i As Integer = 0 To partsArray.Count - 1 '根据工件号,将不同工件的工序分成几张表
strselect = "select * from processinfo84 where 工件号= '" & partsArray.Item(i).ToString() & "' order by 工序号 asc"
dataAdapter = New OleDbDataAdapter(strselect, dbConnection)
dataAdapter.Fill(mydataset, i.ToString)
Dim sum As Double = 0
Dim tempArray As New ArrayList
Dim aArray As New ArrayList
Dim tempApro As CProcess
Dim flag As Integer = 0
For Each arow As DataRow In mydataset.Tables(i).Rows '计算某张表中的工序的相对剩余时间,并将工序存入工序数组
If flag = 0 Then
aprocess = New CProcess(arow(0), arow(1), arow(2), arow(3), arow(5))
aprocess.preProcess = New CProcess()
Else
tempApro = New CProcess(arow(0), arow(1), arow(2), arow(3), arow(5))
tempApro.preProcess = aprocess '将前一道工序与后一道工序相连
aprocess.nextProcess = tempApro
aprocess = tempApro
End If
flag = 1
'将可用设备添加到工序中
For Each str As String In aprocess.validmachineArray
For Each amach As CMachine In machinesArray
If amach.nameMachine = str Then
aArray.Add(amach)
End If
Next
Next
aprocess.validmachineArray.Clear()
aprocess.validmachineArray = aArray.Clone()
aArray.Clear()
'------------
sum = sum + aprocess.timeProcess
tempArray.Add(aprocess)
array.Add(aprocess)
Next
aprocess = tempArray.Item(0)
aprocess.timeRelation = Round(aprocess.timeProcess / sum, 2)
For j As Integer = 1 To tempArray.Count - 1
aprocess = tempArray.Item(j)
tempApro = tempArray.Item(j - 1)
aprocess.timeRelation = tempApro.timeRelation + aprocess.timeProcess / sum
Next
For k As Integer = 0 To tempArray.Count - 1
aprocess = tempArray.Item(k)
aprocess.timeRelation = Round(1 - aprocess.timeRelation, 2)
Next
Next
End If
End Sub
Sub ReadMachinesName() '从machinesinfo中读取所有设备的名称,并初始化
If count1 = 1 Then
strselect = "select distinct 占用设备号 from processinfo "
dataAdapter = New OleDbDataAdapter(strselect, dbConnection)
dataAdapter.Fill(mydataset, "占用设备号")
For Each arow As DataRow In mydataset.Tables("占用设备号").Rows
amachine = New CMachine(arow("占用设备号"))
machinesArray.Add(amachine)
Next
ElseIf count1 = 2 Then
strselect = "select distinct 占用设备号 from processinfo66 "
dataAdapter = New OleDbDataAdapter(strselect, dbConnection)
dataAdapter.Fill(mydataset, "占用设备号")
For Each arow As DataRow In mydataset.Tables("占用设备号").Rows
amachine = New CMachine(arow("占用设备号"))
machinesArray.Add(amachine)
Next
Else
strselect = "select distinct 占用设备号 from processinfo84 "
dataAdapter = New OleDbDataAdapter(strselect, dbConnection)
dataAdapter.Fill(mydataset, "占用设备号")
For Each arow As DataRow In mydataset.Tables("占用设备号").Rows
amachine = New CMachine(arow("占用设备号"))
machinesArray.Add(amachine)
Next
End If
End Sub
Sub ReadPartsName() '从partsinfo中读取所有工件的名称
If count1 = 1 Then
strselect = "select distinct 工件号 from processinfo "
dataAdapter = New OleDbDataAdapter(strselect, dbConnection)
dataAdapter.Fill(mydataset, "工件号")
For Each arow As DataRow In mydataset.Tables("工件号").Rows
partsArray.Add(arow("工件号"))
Next
ElseIf count = 2 Then
strselect = "select distinct 工件号 from processinfo66 "
dataAdapter = New OleDbDataAdapter(strselect, dbConnection)
dataAdapter.Fill(mydataset, "工件号")
For Each arow As DataRow In mydataset.Tables("工件号").Rows
partsArray.Add(arow("工件号"))
Next
Else
strselect = "select distinct 工件号 from processinfo84 "
dataAdapter = New OleDbDataAdapter(strselect, dbConnection)
dataAdapter.Fill(mydataset, "工件号")
For Each arow As DataRow In mydataset.Tables("工件号").Rows
partsArray.Add(arow("工件号"))
Next
End If
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
SaveFileDialog1.AddExtension = True
SaveFileDialog1.DefaultExt = "bmp"
SaveFileDialog1.CheckPathExists = True
SaveFileDialog1.Filter = "*.bmp|*.bmp"
SaveFileDialog1.OverwritePrompt = True
If Me.SaveFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK And SaveFileDialog1.FileName.Length > 0 Then
bmp.Save(Me.SaveFileDialog1.FileName)
End If
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
flag = True
'Dim count As Integer = 0
If Me.TextBox1.Text <> "" And Me.TextBox2.Text <> "" And Me.TextBox3.Text <> "" And Me.TextBox4.Text <> "" And Me.TextBox5.Text <> "" Then
Me.DataGridView1.Rows.Add()
Me.DataGridView1.Rows(count).Cells.Item(0).Value = Me.TextBox1.Text
Me.DataGridView1.Rows(count).Cells.Item(1).Value = Me.TextBox2.Text
Me.DataGridView1.Rows(count).Cells.Item(2).Value = Me.TextBox3.Text
Me.DataGridView1.Rows(count).Cells.Item(3).Value = Me.TextBox4.Text
Me.DataGridView1.Rows(count).Cells.Item(4).Value = Me.TextBox5.Text
Me.DataGridView1.Rows(count).Cells.Item(5).Value = (Int(Me.TextBox3.Text) * Int(Me.TextBox5.Text)).ToString
count = count + 1
Else
MessageBox.Show("错误!工件工序的数据不完整,不能添加!")
End If
Me.TextBox1.Text = ""
Me.TextBox2.Text = ""
Me.TextBox3.Text = ""
Me.TextBox4.Text = ""
Me.TextBox5.Text = ""
Me.TextBox6.Text = ""
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
Dim response As MsgBoxResult
' Me.DataGridView1.Rows.Clear()
If flag = True Then
MessageBox.Show("请完成手工添加记录!")
Else
' connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
' "Data Source=" & Application.StartupPath & "\mydatabase.mdb"
response = MsgBox("要添加info吗?", MsgBoxStyle.YesNo, "qq")
If response = MsgBoxResult.Yes Then
strselect = "select * from processinfo "
' dbConnection = New OleDbConnection(connectionstring)
dataAdapter = New OleDbDataAdapter(strselect, dbConnection)
dataAdapter.Fill(mydataset, "info")
Me.DataGridView2.Width = Me.DataGridView1.Width
Me.DataGridView2.Height = Me.DataGridView1.Height
Me.DataGridView1.Hide()
Me.DataGridView2.Show()
Me.DataGridView2.Location = Me.DataGridView1.Location
Me.DataGridView2.DataSource = mydataset.Tables("info")
count1 = 1
Else
response = MsgBox("要添加info66吗?", MsgBoxStyle.YesNo, "qq1")
If response = MsgBoxResult.Yes Then
strselect = "select * from processinfo66 "
' dbConnection = New OleDbConnection(connectionstring)
dataAdapter = New OleDbDataAdapter(strselect, dbConnection)
dataAdapter.Fill(mydataset, "info66")
Me.DataGridView2.Width = Me.DataGridView1.Width
Me.DataGridView2.Height = Me.DataGridView1.Height
Me.DataGridView1.Hide()
Me.DataGridView2.Show()
Me.DataGridView2.Location = Me.DataGridView1.Location
Me.DataGridView2.DataSource = mydataset.Tables("info66")
count1 = 2
Else
strselect = "select * from processinfo84 "
' dbConnection = New OleDbConnection(connectionstring)
dataAdapter = New OleDbDataAdapter(strselect, dbConnection)
dataAdapter.Fill(mydataset, "info84")
Me.DataGridView2.Width = Me.DataGridView1.Width
Me.DataGridView2.Height = Me.DataGridView1.Height
Me.DataGridView1.Hide()
Me.DataGridView2.Show()
Me.DataGridView2.Location = Me.DataGridView1.Location
Me.DataGridView2.DataSource = mydataset.Tables("info84")
count1 = 3
End If
End If
End If
End Sub
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
If Me.TextBox1.Text <> "" Then
Me.TextBox2.Text += Me.TextBox1.Text + "-"
End If
End Sub
Private Sub TextBox5_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox5.TextChanged
If Me.TextBox1.Text <> "" Then
Me.TextBox6.Enabled = True
Me.TextBox6.Text = (Int(Me.TextBox3.Text) * Int(Me.TextBox5.Text)).ToString
Else
Me.TextBox6.Enabled = False
End If
End Sub
End Class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -