From cd1fa017c5757a7d5a049ebb1a316a2b4613bcac Mon Sep 17 00:00:00 2001 From: Anton Date: Tue, 9 Feb 2021 14:29:02 +0100 Subject: [PATCH] Added whole mesh widths and how they are handled in the GUI --- Databas.xlsx | Bin 49016 -> 50507 bytes Wardrobe/GUI.Designer.vb | 25 +++---- Wardrobe/GUI.vb | 41 +++++++---- Wardrobe/GUI_Drawing_Panel.vb | 6 +- Wardrobe/GUI_Functions.vb | 3 +- Wardrobe/GUI_Gratings_Data.vb | 132 ++++++++++++++++++---------------- 6 files changed, 113 insertions(+), 94 deletions(-) diff --git a/Databas.xlsx b/Databas.xlsx index f9da4237741a95b93519fc091740067895b66cf7..436f9c57ecc4a618edb6453cebf43ad43642d9ec 100644 GIT binary patch delta 34148 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

6?M_@*W8Z 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 delta 32655 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

3cd2I_(h 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 T0E+xg2;vw(fy!(8hxh*hoE "" tempDT.Columns.Add(columnName, GetType(String)) + + rowCounter = 2 + rowValue = activeSheet.Cells(rowCounter, numOfColumns + 1).Value + While rowValue <> "" + rowCounter = rowCounter + 1 + rowValue = activeSheet.Cells(rowCounter, numOfColumns + 1).Value + End While + If rowCounter > longestRow Then + longestRow = rowCounter + End If + columnCounter = columnCounter + 1 columnName = activeSheet.Cells(1, columnCounter).Value numOfColumns = numOfColumns + 1 End While - Dim rowCounter As Integer = 2 - Dim rowValue As String = activeSheet.Cells(rowCounter, 1).Value - While rowValue <> "" + For j = 2 To longestRow - 1 tempDT.Rows.Add() - For j = 0 To numOfColumns - 1 - tempDT.Rows(tempDT.Rows.Count - 1)(j) = activeSheet.Cells(rowCounter, j + 1).Value + For k = 0 To numOfColumns - 1 + tempDT.Rows(tempDT.Rows.Count - 1)(k) = activeSheet.Cells(j, k + 1).Value Next - rowCounter = rowCounter + 1 - rowValue = activeSheet.Cells(rowCounter, 1).Value - End While + Next dataBase.Add(activeSheet.Name, tempDT) System.Runtime.InteropServices.Marshal.ReleaseComObject(activeSheet) Next - ' HANTERA OLIKA LÄNGDER PÅ COLUMNER - excelWB.Close() excelApp.Quit() @@ -68,7 +76,8 @@ Public Class GUI System.Runtime.InteropServices.Marshal.ReleaseComObject(excelApp) End Sub - Public Sub Create_TextBox(TextBoxName As String, TextBoxText As String, TextBoxLeft As Integer, TextBoxTop As Integer, TextBoxWidth As Integer) + Public Sub Create_TextBox(TextBoxName As String, TextBoxText As String, TextBoxLeft As Integer, TextBoxTop As Integer, + TextBoxWidth As Integer) Dim textBoxTemp As New TextBox textBoxTemp.Name = TextBoxName textBoxTemp.Text = TextBoxText @@ -117,7 +126,9 @@ Public Class GUI GUI_Gratings_Data.ThicknessChanged(sender, e) End Sub - Private Sub CheckBox_WholeMeshWidths_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox_WholeMeshWidths.CheckedChanged + Private Sub CheckBox_WholeMeshWidths_CheckedChanged(sender As Object, e As EventArgs) _ + Handles CheckBox_WholeMeshWidths.CheckedChanged + GUI_Gratings_Data.WholeMeshWidthsChanged(sender, e) End Sub @@ -132,12 +143,12 @@ Public Class GUI End Sub ' --- Grating length changed --- - Private Sub LengthBox_TextChanged(sender As Object, e As EventArgs) Handles ComboBox_Length.TextChanged + Private Sub LengthBox_TextChanged(sender As Object, e As EventArgs) Handles TextBox_Length.TextChanged GUI_Gratings_Data.LengthChanged(sender, e) End Sub ' --- Check if length is a number --- - Private Sub ComboBox_Length_KeyPress(sender As Object, e As KeyPressEventArgs) Handles ComboBox_Length.KeyPress + Private Sub ComboBox_Length_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox_Length.KeyPress GUI_Gratings_Data.Check_IfNumber(e) End Sub diff --git a/Wardrobe/GUI_Drawing_Panel.vb b/Wardrobe/GUI_Drawing_Panel.vb index 8d03e12..7caae87 100644 --- a/Wardrobe/GUI_Drawing_Panel.vb +++ b/Wardrobe/GUI_Drawing_Panel.vb @@ -163,12 +163,14 @@ ' Draw grating direction symbol Dim symPen As Pen = New Pen(Color.Black, 1) For i = 1 To DirSymbolPoints.Count - 1 - e.Graphics.DrawLine(symPen, DirSymbolPoints("p" & i)(0), DirSymbolPoints("p" & i)(1), DirSymbolPoints("p" & i + 1)(0), DirSymbolPoints("p" & i + 1)(1)) + e.Graphics.DrawLine(symPen, DirSymbolPoints("p" & i)(0), DirSymbolPoints("p" & i)(1), + DirSymbolPoints("p" & i + 1)(0), DirSymbolPoints("p" & i + 1)(1)) Next ' Draw arrow symbol For i = 1 To ArrowSymbolPoints.Count - 1 - e.Graphics.DrawLine(symPen, ArrowSymbolPoints("p" & i)(0), ArrowSymbolPoints("p" & i)(1), ArrowSymbolPoints("p" & i + 1)(0), ArrowSymbolPoints("p" & i + 1)(1)) + e.Graphics.DrawLine(symPen, ArrowSymbolPoints("p" & i)(0), ArrowSymbolPoints("p" & i)(1), + ArrowSymbolPoints("p" & i + 1)(0), ArrowSymbolPoints("p" & i + 1)(1)) Next e.Graphics.TranslateTransform(20, containerW - 20) e.Graphics.DrawString("Length", New Font("Microsoft Sans Serif", 8), Brushes.Black, New Point(45, -7)) diff --git a/Wardrobe/GUI_Functions.vb b/Wardrobe/GUI_Functions.vb index 009fb5a..d08669d 100644 --- a/Wardrobe/GUI_Functions.vb +++ b/Wardrobe/GUI_Functions.vb @@ -90,7 +90,8 @@ ' Remove point buttons For i = 0 To GUI_Drawing_Panel.pointsOrder.Count - 1 If pointsFunc(GUI_Drawing_Panel.pointsOrder(i)) Then - RemoveHandler GUI.DrawingPanel.Controls(GUI_Drawing_Panel.pointsOrder(i) & "_Button").Click, AddressOf PointButton_Click + RemoveHandler GUI.DrawingPanel.Controls(GUI_Drawing_Panel.pointsOrder(i) & "_Button").Click, + AddressOf PointButton_Click GUI.DrawingPanel.Controls.RemoveByKey(GUI_Drawing_Panel.pointsOrder(i) & "_Button") End If Next diff --git a/Wardrobe/GUI_Gratings_Data.vb b/Wardrobe/GUI_Gratings_Data.vb index 7504822..aa56a5e 100644 --- a/Wardrobe/GUI_Gratings_Data.vb +++ b/Wardrobe/GUI_Gratings_Data.vb @@ -85,7 +85,9 @@ End If - If lacqueredCheckBoxBol = False AndAlso (gratingMaterial = "Hot dip galvanized steel" OrElse gratingMaterial = "Untreated") Then + If lacqueredCheckBoxBol = False AndAlso (gratingMaterial = "Hot dip galvanized steel" _ + OrElse gratingMaterial = "Untreated") Then + lacqueredCheckBox.Name = "CheckBox_Lacquered" lacqueredCheckBox.Text = "Lacquered" lacqueredCheckBox.Left = 115 @@ -93,7 +95,9 @@ AddHandler lacqueredCheckBox.CheckedChanged, AddressOf CheckBox_Lacquered_CheckedChanged GUI.Controls.Add(lacqueredCheckBox) lacqueredCheckBoxBol = True - ElseIf lacqueredCheckBoxBol = True AndAlso gratingMaterial <> "Hot dip galvanized steel" AndAlso gratingMaterial <> "Untreated" Then + ElseIf lacqueredCheckBoxBol = True AndAlso gratingMaterial <> "Hot dip galvanized steel" _ + AndAlso gratingMaterial <> "Untreated" Then + RemoveHandler lacqueredCheckBox.CheckedChanged, AddressOf CheckBox_Lacquered_CheckedChanged GUI.Controls.RemoveByKey("CheckBox_Lacquered") lacqueredCheckBoxBol = False @@ -140,7 +144,8 @@ For i = 0 To meshesDT.Rows.Count - 1 If gratingSerrated = serratedInDT AndAlso gratingMaterial = materialInDT AndAlso gratingType = typeInDT Then Dim item As String - item = meshesDT.Rows(i)("LB-SPACING") & "x" & meshesDT.Rows(i)("CB-SPACING") & " (" & meshesDT.Rows(i)("NAME") & ")" + item = meshesDT.Rows(i)("LB-SPACING") & "x" & meshesDT.Rows(i)("CB-SPACING") & + " (" & meshesDT.Rows(i)("NAME") & ")" Dim addItem As Boolean = True For j = 0 To GUI.ComboBox_MeshSize.Items.Count - 1 @@ -238,7 +243,8 @@ For i = 0 To meshesDT.Rows.Count - 1 If gratingName = nameInDT AndAlso loadBarSpacing = LBSpacingInDT AndAlso crossBarSpacing = CBSpacingInDT _ - AndAlso gratingSerrated = serratedInDT AndAlso gratingMaterial = materialInDT AndAlso gratingHeight = HeightInDT Then + AndAlso gratingSerrated = serratedInDT AndAlso gratingMaterial = materialInDT _ + AndAlso gratingHeight = HeightInDT Then Dim addItem As Boolean = True For j = 0 To tempList.Count - 1 @@ -270,27 +276,6 @@ End Sub - Public Shared Sub ThicknessChanged(sender As Object, e As EventArgs) - GUI.ComboBox_Width.Enabled = True - GUI.ComboBox_Width.Items.Clear() - GUI.ComboBox_Length.Enabled = True - GUI.ComboBox_Length.Items.Clear() - GUI.CheckBox_WholeMeshWidths.Enabled = True - - loadBarThickness = CInt(GUI.ComboBox_Thickness.Text) - - ' Add Widths - GUI.ComboBox_Width.Items.Add("300") - GUI.ComboBox_Width.Items.Add("500") - GUI.ComboBox_Width.Items.Add("1000") - GUI.ComboBox_Width.Text = GUI.ComboBox_Width.Items(0) - - ' Add Length - GUI.ComboBox_Length.Items.Add("500") - GUI.ComboBox_Length.Items.Add("1000") - GUI.ComboBox_Length.Text = GUI.ComboBox_Length.Items(0) - End Sub - Public Shared Sub WholeMeshWidthsChanged(sender As Object, e As EventArgs) If sender.Checked Then GUI.ComboBox_Width.DropDownStyle = ComboBoxStyle.DropDownList @@ -299,32 +284,74 @@ End If End Sub - Public Shared Sub WidthChanged(sender As Object, e As EventArgs) + Public Shared Sub ThicknessChanged(sender As Object, e As EventArgs) + GUI.ComboBox_Width.Enabled = True + GUI.ComboBox_Width.Items.Clear() + GUI.TextBox_Length.Text = 1000 + GUI.TextBox_Length.Enabled = True + GUI.CheckBox_WholeMeshWidths.Enabled = True + loadBarThickness = CInt(GUI.ComboBox_Thickness.Text) + + Dim meshesDT As DataTable = GUI.dataBase("Meshes") + + Dim nameInDT As String = meshesDT.Rows(0)("NAME") + Dim materialInDT As String = meshesDT.Rows(0)("MATERIAL") + Dim serratedInDT As Boolean = CBool(meshesDT.Rows(0)("SERRATED")) + Dim LBSpacingInDT As Integer = CInt(meshesDT.Rows(0)("LB-SPACING")) + Dim CBSpacingInDT As Integer = CInt(meshesDT.Rows(0)("CB-SPACING")) + Dim HeightInDT As Integer = CInt(meshesDT.Rows(0)("LB-HEIGHT")) + Dim ThicknessInDT As Integer = CInt(meshesDT.Rows(0)("LB-THICKNESS")) + + Dim wholeMeshesColumn As String = "" + For i = 0 To meshesDT.Rows.Count - 1 + If gratingName = nameInDT AndAlso loadBarSpacing = LBSpacingInDT AndAlso crossBarSpacing = CBSpacingInDT _ + AndAlso gratingSerrated = serratedInDT AndAlso gratingMaterial = materialInDT _ + AndAlso gratingHeight = HeightInDT AndAlso loadBarThickness = ThicknessInDT Then + + wholeMeshesColumn = meshesDT.Rows(i)("WHOLE MESHES") + Exit For + End If + + Try + nameInDT = meshesDT.Rows(i + 1)("NAME") + materialInDT = meshesDT.Rows(i + 1)("MATERIAL") + serratedInDT = CBool(meshesDT.Rows(i + 1)("SERRATED")) + LBSpacingInDT = CInt(meshesDT.Rows(i + 1)("LB-SPACING")) + CBSpacingInDT = CInt(meshesDT.Rows(i + 1)("CB-SPACING")) + HeightInDT = CInt(meshesDT.Rows(i + 1)("LB-HEIGHT")) + ThicknessInDT = CInt(meshesDT.Rows(i + 1)("LB-THICKNESS")) + Catch ex As Exception + End Try + Next + + Dim wholeMeshesDT As DataTable = GUI.dataBase("Whole Meshes") + For i = 0 To wholeMeshesDT.Rows.Count - 1 + If Not IsDBNull(wholeMeshesDT.Rows(i)(wholeMeshesColumn)) Then + GUI.ComboBox_Width.Items.Add(wholeMeshesDT.Rows(i)(wholeMeshesColumn)) + End If + Next + End Sub + + + + Public Shared Sub WidthChanged(sender As Object, e As EventArgs) If GUI.ComboBox_Width.Text <> "" Then - If CDec(GUI.ComboBox_Width.Text) > 0 Then + If CDec(GUI.ComboBox_Width.Text) >= GUI.ComboBox_Width.Items(GUI.ComboBox_Width.Items.Count - 1) AndAlso + CDec(GUI.ComboBox_Width.Text) <= GUI.ComboBox_Width.Items(0) Then gratingMaxW = CDec(GUI.ComboBox_Width.Text) GUI_Drawing_Panel.Update_GratingPoints() End If End If - - 'If stocked length options exist - If gratingMaxW = 500 Then - Dim stockedCheckBox As New CheckBox - stockedCheckBox.Name = "CheckBox_Stocked" - stockedCheckBox.Text = "Only stocked lengths" - stockedCheckBox.Left = 94 - stockedCheckBox.Top = 386 - stockedCheckBox.Checked = True - GUI.Controls.Add(stockedCheckBox) - End If End Sub Public Shared Sub LengthChanged(sender As Object, e As EventArgs) - If GUI.ComboBox_Length.Text <> "" Then - If CDec(GUI.ComboBox_Length.Text) > 0 Then - gratingMaxL = CDec(GUI.ComboBox_Length.Text) + If GUI.TextBox_Length.Text <> "" Then + If CDec(GUI.TextBox_Length.Text) >= 200 AndAlso CDec(GUI.TextBox_Length.Text) <= 6000 Then + gratingMaxL = CDec(GUI.TextBox_Length.Text) GUI_Drawing_Panel.Update_GratingPoints() + Else + 'Message: Out of boundary End If End If End Sub @@ -354,7 +381,7 @@ gratingTable.Rows(0)("SERRATED") = False 'Hämta från GUI gratingTable.Rows(0)("WIDTH") = CDec(GUI.ComboBox_Width.Text) - gratingTable.Rows(0)("LENGTH") = CDec(GUI.ComboBox_Length.Text) + gratingTable.Rows(0)("LENGTH") = CDec(GUI.TextBox_Length.Text) gratingTable.Rows(0)("LOADBAR_THICKNESS") = CDec(GUI.ComboBox_Thickness.Text) gratingTable.Rows(0)("LOADBAR_HEIGHT") = CDec(GUI.ComboBox_Height.Text) gratingTable.Rows(0)("LOADBAR_SPACING") = CDec(lSpacing) @@ -404,23 +431,4 @@ End If End Sub - - - - - - - - - - - - - - - - - -End Class - - +End Class \ No newline at end of file