Imports System.IO.Ports Imports System.Math Imports System.Runtime.InteropServices.ComTypes Imports Microsoft Imports System.Runtime.Remoting Imports System.Windows.Forms.VisualStyles.VisualStyleElement.TaskbarClock Imports Mysqlx Imports Mysqlx.XDevAPI Public Class MainForm Public Const FormVersion As String = "2.0.0" Private Const FormName As String = "DUALSONIC Product Manager Ver " & FormVersion Private Const TDNameSize As Int16 = 10 Private Const StrLen As Int16 = 10 Private Const WriteSerialLength As Int16 = 6 Private Const SerialLength As Int16 = 9 Private Const SerialParsingLength As Int16 = 12 Private Const TwosComplement32Mask As Long = 4294967296 Private Const OneDay As Int32 = 86400 Private Const OneHour As Int32 = 3600 Private Const OneMinute As Int16 = 60 Private Const OneSecond As Int32 = 1000 Private Enum ErrorList DataError = -5 DBError = -4 ResultError = -3 ReceiveError = -2 SendError = -1 NonError MAXError End Enum Private Enum ModelList PRO = 1 LUX MAXIMUM ALPHA ALTO EFFECT MAX_Model End Enum Private Enum TypeList V1_Set V2_Face Eye Body MAXType End Enum Private Enum TypeCodeList Eye = 1 Face Body MAXType End Enum Private tmpCmdMessage As String = String.Empty Private cmdMessage As String = String.Empty Private DBCmd As String = String.Empty Private Sub StartForm() Me.Text = FormName Me.Size = New Size(1920, 800) UseSerialSetting(SerialPort1) rdbDual.Checked = True ckbDBUse.Checked = True End Sub Private Sub MainForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load StartForm() StartTop() End Sub Private Sub rdbDual_CheckedChanged(sender As Object, e As EventArgs) Handles rdbDual.CheckedChanged, rdbMax.CheckedChanged, rdbAlto.CheckedChanged, rdbEffect.CheckedChanged ResetClear() ResultReset() Dim CheckOkNg As RadioButton = CType(sender, RadioButton) If CheckOkNg.Checked = True Then If rdbDual.Checked = True Then SelectModel = ModeList.DUALSONIC DUALForm_Setting() DUALSONIC_UseOn() Device_UseOn() btnALFuncReset1.Enabled = True ElseIf rdbMax.Checked = True Then SelectModel = ModeList.MAXIMUM MAXForm_Setting() MAXIMUM_UseOn() btnALFuncReset1.Enabled = True ElseIf rdbAlto.Checked = True Then SelectModel = ModeList.ALTO ALTOForm_Setting() ALTO_UseOn() btnALFuncReset1.Enabled = False ElseIf rdbEffect.Checked = True Then SelectModel = ModeList.EFFECT EFFECTForm_Setting() EFFECT_UseOn() btnALFuncReset1.Enabled = True Else MsgBox("잘못된 경로입니다.", vbCritical) End If End If End Sub Private Sub rdbDev_Click(sender As Object, e As EventArgs) Handles rdbDev.Click, rdbUseTime.Click Dim CheckOkNg As RadioButton = CType(sender, RadioButton) If rdbDev.Checked = True Then Device_UseOn() ElseIf rdbUseTime.Checked = True Then Select Case SelectModel Case ModeList.DUALSONIC DUALSONIC_UseOn() Case ModeList.MAXIMUM MAXIMUM_UseOn() Case ModeList.ALTO ALTO_UseOn() Case ModeList.EFFECT EFFECT_UseOn() Case Else MsgBox("잘못된 경로입니다.", vbCritical, FormName) End Select Else MsgBox("잘못된 경로입니다.", vbCritical) End If End Sub Private Sub Device_UseOn() gbDevice.Visible = True gbRunTime.Visible = False tcMAXUse.Visible = False gbDUALUse.Visible = False tcAltoUse.Visible = False End Sub Private Sub DUALSONIC_UseOn() gbDevice.Visible = False gbRunTime.Visible = True tcMAXUse.Visible = False gbDUALUse.Visible = True tcAltoUse.Visible = False End Sub Private Sub MAXIMUM_UseOn() gbDevice.Visible = False gbRunTime.Visible = True tcMAXUse.Visible = True gbDUALUse.Visible = False tcAltoUse.Visible = False End Sub Private Sub ALTO_UseOn() gbDevice.Visible = False gbRunTime.Visible = True tcMAXUse.Visible = False gbDUALUse.Visible = False tcAltoUse.Visible = True End Sub Private Sub EFFECT_UseOn() gbDevice.Visible = False gbRunTime.Visible = False tcMAXUse.Visible = False gbDUALUse.Visible = False tcAltoUse.Visible = False End Sub Private Sub btnComport_Click(sender As Object, e As EventArgs) Handles btnComport.Click If btnComport.Text = "검색" Then pnBottom.Enabled = False If LoadCompartList() Then btnComport.Text = "연결" End If Else If cboComport.SelectedIndex = -1 Then MsgBox("연결하고자 하는 포트를 선택하여 주십시오.", vbExclamation, FormName) Else If UseSerial_Ch1.IsOpen Then UseSerial_Ch1.Close() End If If OpenSerial(cboComport.SelectedItem) Then pnBottom.Enabled = True End If End If btnComport.Text = "검색" End If End Sub Private Function LoadCompartList() As Boolean Try cboComport.Items.Clear() Dim PortName() As String = SerialPort.GetPortNames For i = 0 To PortName.Length - 1 cboComport.Items.Add(PortName(i)) Next cboComport.Text = "SELECT!" Return True Catch ex As Exception MsgBox("COM 포트 불러오기 실패!" & vbCrLf & ex.Message, vbCritical, FormName) Return False End Try End Function Private Sub btnAuth_Click(sender As Object, e As EventArgs) Handles btnAuth.Click Select Case SelectModel Case ModeList.DUALSONIC DUALSONIC_AuthFunc() Case ModeList.MAXIMUM, ModeList.ALTO, ModeList.EFFECT FlashDataReset() Case Else MsgBox("잘못된 경로입니다.", vbCritical, FormName) End Select End Sub Private Sub AuthReady() txbAuthBox.Visible = True txbAuthBox.Text = "RUNNING" txbAuthBox.BackColor = Color.GreenYellow txbAuthBox.Refresh() End Sub Private Sub DUALSONIC_AuthFunc() Const PollingTimeOut As Int16 = 10000 Dim StageCnt As Int16 = ErrorList.NonError Try AuthReady() tmpCmdMessage = "cartauth" cmdMessage = "[sb" & tmpCmdMessage & "]" If SendData(cmdMessage) Then StageCnt = ErrorList.SendError GoTo FAIL_Finish End If Dim ReceiveData As String = PollingReceiveData(PollingTimeOut) If ReceiveData = "False" Then StageCnt = ErrorList.ReceiveError GoTo FAIL_Finish End If If ReceiveData = "success" Then txbAuthBox.Text = "SUCCESS" txbAuthBox.BackColor = Color.Green GoTo End_Finish Else StageCnt = ErrorList.ResultError GoTo FAIL_Finish End If Catch ex As Exception MsgBox("인증 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbAuthBox.Text = "ERROR" + Str(StageCnt) txbAuthBox.BackColor = Color.Red End_Finish: txbAuthBox.Refresh() End Sub Private Sub FlashDataReset() Dim StageCnt As Int16 = ErrorList.NonError Dim TDNameStr As String = String.Empty Try AuthReady() If MsgBox("Flash Data 를 초기화 하시겠습니까?", vbExclamation + vbOKCancel, FormName) = MsgBoxResult.Ok Then If ckbDBUse.Checked = True Then TDNameStr = TDNameLoad() If TDNameStr = Str(ErrorList.SendError) Or TDNameStr = Str(ErrorList.ReceiveError) Then MsgBox("TD 시리얼 번호를 확인할 수 없습니다. 저장하고자 하는 Serial 번호를 먼저 입력하여 주십시오.", vbCritical, FormName) StageCnt = TDNameStr GoTo FAIL_Finish End If End If Dim ResetResult As Int16 = DataResetFunc() If ResetResult = ErrorList.SendError Or ResetResult = ErrorList.ReceiveError Then StageCnt = ResetResult GoTo FAIL_Finish End If If ckbDBUse.Checked = True Then If ResetDBUpdate(TDNameStr) = False Then StageCnt = ErrorList.DBError GoTo FAIL_Finish End If End If End If txbAuthBox.Text = "SUCCESS" txbAuthBox.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("초기화 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbAuthBox.Text = "ERROR" + Str(StageCnt) txbAuthBox.BackColor = Color.Red End_Finish: txbAuthBox.Refresh() End Sub Private Function ResetDBUpdate(TDSerial As String) As Boolean DBCmd = "UPDATE " & UseCartridgeTbl & " SET TestStep = '11', Product_SN = NULL, Ct_Manufacture_Name = NULL, Ct_Manufacture_Year = NULL, Ct_Manufacture_Month = NULL, Ct_SN = NULL, Ct_Model = '', Ct_Type = '', Ct_Abroad = NULL, Ct_Agency = NULL , Ct_Frequency = NULL, Ct_Power = '0', Ct_Max_ShotCnt = '0', Ct_Remain_ShotCnt = '0' WHERE PV_SN = '" & TDSerial & "'" If DBCommand(DBCmd) Then Return True End If Return False End Function Private Function DataResetFunc() As Boolean Dim retval As String tmpCmdMessage = "resetinf" cmdMessage = "[" & tmpCmdMessage & "]" + vbCrLf If SendData(cmdMessage) Then Return ErrorList.SendError End If retval = PollingReceiveData(1500) If retval <> "ok" Then Return ErrorList.ReceiveError End If Return ErrorList.NonError End Function Private Sub btnIfWrite_Click(sender As Object, e As EventArgs) Handles btnIfWrite.Click Select Case SelectModel Case ModeList.DUALSONIC DUALSONIC_WriteFunc() Case ModeList.MAXIMUM MAXIMUM_WriteFunc() Case ModeList.ALTO ALTO_WriteFunc() Case ModeList.EFFECT EFFECT_WriteFunc() Case Else MsgBox("잘못된 경로입니다.", vbCritical, FormName) End Select End Sub Private Function InfoWriteStart() As Boolean InfoReadReady() If nudIfYear.Text.Replace(" ", "") = String.Empty Or nudIfMonth.Text.Replace(" ", "") = String.Empty Or nudIfSerial.Text.Replace(" ", "") = String.Empty Then MsgBox("빈 칸이 존재합니다.", vbExclamation, FormName) Return True End If If txbIfCode.Text = String.Empty Then txbIfCode.Text = "jomt" End If If rdbIfPRO_V1.Checked = False And rdbIfLUX_V2.Checked = False And rdbIfALPHA.Checked = False Then MsgBox("모델을 선택하여 주십시오.", vbExclamation, FormName) Return True End If If rdbIfFace.Checked = False And rdbIfEye.Checked = False And rdbIfBody.Checked = False Then MsgBox("타입을 선택하여 주십시오.", vbExclamation, FormName) Return True End If Return False End Function Private Function ModelSetting() As Int16 If rdbIfPRO_V1.Checked = True Then If SelectModel = ModeList.DUALSONIC Then Return ModelList.PRO Else Return TypeList.V1_Set End If ElseIf rdbIfLUX_V2.Checked = True Then If SelectModel = ModeList.DUALSONIC Then Return ModelList.LUX Else Return TypeList.V2_Face End If ElseIf rdbIfALPHA.Checked = True Then Return ModelList.ALPHA Else Return ModelList.MAX_Model End If End Function Private Function TypeSetting() As Int16 If rdbIfFace.Checked = True Then Return TypeList.V2_Face ElseIf rdbIfEye.Checked = True Then Return TypeList.Eye ElseIf rdbIfBody.Checked = True Then Return TypeList.Body Else Return TypeList.MAXType End If End Function Private Function TypeCodeSetting() As Int16 If rdbIfFace.Checked = True Then Return TypeCodeList.Face ElseIf rdbIfEye.Checked = True Then Return TypeCodeList.Eye ElseIf rdbIfBody.Checked = True Then Return TypeCodeList.Body Else Return TypeCodeList.MAXType End If End Function Private Sub DUALSONIC_WriteFunc() Dim StageCnt As Int16 = ErrorList.NonError Try If InfoWriteStart() Then StageCnt = ErrorList.DataError GoTo FAIL_Finish End If Dim ModelCode As ModelList = ModelSetting() Dim TypeCode As TypeList = TypeSetting() If ModelCode = ModelList.MAX_Model Or TypeCode = TypeList.MAXType Then MsgBox("존재하지 않는 모델 및 타입 코드입니다. 체크된 내용을 확인하여 주십시오.", vbCritical, FormName) StageCnt = ErrorList.DataError GoTo FAIL_Finish End If ''************************************ ''******* 제조사코드 발신 ******* ''************************************ tmpCmdMessage = "cartmanu" cmdMessage = "[sb" & tmpCmdMessage & " " & "" & txbIfCode.Text & "" & "]" If SendData(cmdMessage) Then StageCnt = ErrorList.SendError GoTo FAIL_Finish End If Dim DataResult As String = PollingReceiveData(1500) If DataResult = "False" Then StageCnt = ErrorList.ReceiveError GoTo FAIL_Finish End If If DataResult <> "success" Then StageCnt = ErrorList.ResultError GoTo FAIL_Finish End If ''************************************ ''******* 모델 넘버 발신 ********** ''************************************ tmpCmdMessage = "ctmodel" cmdMessage = "[sb" & tmpCmdMessage & " " & ModelCode & TypeCode & "]" If SendData(cmdMessage) Then StageCnt = ErrorList.SendError GoTo FAIL_Finish End If DataResult = PollingReceiveData(1500) If DataResult = "False" Then StageCnt = ErrorList.ReceiveError GoTo FAIL_Finish End If If DataResult <> "success" Then StageCnt = ErrorList.ResultError GoTo FAIL_Finish End If ''************************************ ''******* Cart Type 전송 ******** ''************************************ Dim TypeCodeNum As Int16 = TypeCodeSetting() tmpCmdMessage = "carttype" cmdMessage = "[sb" & tmpCmdMessage & " " & TypeCodeNum & "]" If SendData(cmdMessage) Then StageCnt = ErrorList.SendError GoTo FAIL_Finish End If DataResult = PollingReceiveData(1500) If DataResult = "False" Then StageCnt = ErrorList.ReceiveError GoTo FAIL_Finish End If If DataResult <> "success" Then StageCnt = ErrorList.ResultError GoTo FAIL_Finish End If ''************************************ ''****** 시리얼넘버 발신 ********** ''************************************ Dim SerialValue As String = SerialNumSetting(nudIfSerial.Value.ToString) Dim MonthParsing As String = MonthSetting(nudIfMonth.Value.ToString) If SerialValue = "FAIL" Or MonthParsing = "FAIL" Then StageCnt = ErrorList.DataError GoTo FAIL_Finish End If If SerialValue.Length <> WriteSerialLength Then StageCnt = ErrorList.DataError GoTo FAIL_Finish End If Dim nudSerial = nudIfYear.Text & MonthParsing & Mid(SerialValue, 4, 3) & Mid(SerialValue, 1, 3) Dim productSerial = CInt(ModelCode) & CInt(TypeCode) & nudSerial txbIfNumber.Text = productSerial tmpCmdMessage = "cartsn" cmdMessage = "[sb" & tmpCmdMessage & " " & nudSerial & "]" If SendData(cmdMessage) Then StageCnt = ErrorList.SendError GoTo FAIL_Finish End If DataResult = PollingReceiveData(1500) If DataResult = "False" Then StageCnt = ErrorList.ReceiveError GoTo FAIL_Finish End If If DataResult <> "success" Then StageCnt = ErrorList.ResultError GoTo FAIL_Finish Else txbInfoBox.Text = "SUCCESS" txbInfoBox.BackColor = Color.Green GoTo End_Finish End If Catch ex As Exception MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbInfoBox.Text = "ERROR" + Str(StageCnt) txbInfoBox.BackColor = Color.Red End_Finish: txbInfoBox.Refresh() End Sub Private Sub MAXIMUM_WriteFunc() Dim StageCnt As Int16 = ErrorList.NonError Dim TDNameStr As String = String.Empty Const AboardCode As Int32 = 82 Const AgencyCode As Int16 = 0 Try If InfoWriteStart() Then StageCnt = ErrorList.DataError GoTo FAIL_Finish End If If ckbDBUse.Checked = True Then TDNameStr = TDNameLoad() If TDNameStr = Str(ErrorList.SendError) Or TDNameStr = Str(ErrorList.ReceiveError) Then MsgBox("TD 시리얼 번호를 확인할 수 없습니다. 저장하고자 하는 Serial 번호를 먼저 입력하여 주십시오.", vbExclamation, FormName) StageCnt = TDNameStr GoTo FAIL_Finish End If Dim DBExist As Boolean = TDNameDBLoad(TDNameStr) If DBExist = False Then MsgBox("TD 시리얼 번호가 데이터베이스에 등록되어 있지 않습니다.", vbCritical, FormName) StageCnt = ErrorList.ReceiveError GoTo FAIL_Finish End If End If Dim ModelCode As Integer = ModelSetting() If ModelCode = ModelList.MAX_Model Then StageCnt = ErrorList.DataError GoTo FAIL_Finish End If ModelCode = ModelList.MAXIMUM & ModelCode Dim SerialValue As String = SerialNumSetting(nudIfSerial.Value.ToString) Dim MonthParsing As String = MonthSetting(nudIfMonth.Value.ToString) Dim cartridgeSerial = SerialValue SerialValue = nudIfYear.Value & MonthParsing & SerialValue Dim ResultData As Int16 = MAXInfoWrite(txbIfCode.Text, SerialValue, ModelCode, AboardCode, AgencyCode) If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then StageCnt = ResultData GoTo FAIL_Finish End If txbIfNumber.Text = ModelCode & Mid(SerialValue, 1, 4) & Mid(SerialValue, 8, 3) & Mid(SerialValue, 5, 3) If ckbDBUse.Checked = True Then Dim DBCmd = "UPDATE " & UseCartridgeTbl & " SET " & "Product_SN = '" & txbIfNumber.Text & "', " & "Ct_Manufacture_Name = '" & txbIfCode.Text & "', " & "Ct_Manufacture_Year = '" & nudIfYear.Value & "', " & "Ct_Manufacture_Month = '" & nudIfMonth.Value & "', " & "Ct_SN = '" & cartridgeSerial & "', " & "Ct_Model = 'MAXIMUM', " & "Ct_Type = 'SET' " & "WHERE PV_SN = '" & TDNameStr & "'" DBCommand(DBCmd) End If txbInfoBox.Text = "SUCCESS" txbInfoBox.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbInfoBox.Text = "ERROR" + Str(StageCnt) txbInfoBox.BackColor = Color.Red End_Finish: txbInfoBox.Refresh() End Sub Private Sub ALTO_WriteFunc() Dim StageCnt As Int16 = ErrorList.NonError Dim TDNameStr As String = String.Empty Const AboardCode As Int32 = 82 Const AgencyCode As Int16 = 0 Try If InfoWriteStart() Then StageCnt = ErrorList.DataError GoTo FAIL_Finish End If If ckbDBUse.Checked = True Then TDNameStr = TDNameLoad() If TDNameStr = Str(ErrorList.SendError) Or TDNameStr = Str(ErrorList.ReceiveError) Then MsgBox("TD 시리얼 번호를 확인할 수 없습니다. 저장하고자 하는 Serial 번호를 먼저 입력하여 주십시오.", vbExclamation, FormName) StageCnt = TDNameStr GoTo FAIL_Finish End If Dim DBExist As Boolean = NonTDNameDBLoad(TDNameStr) If DBExist = False Then MsgBox("TD 시리얼 번호가 데이터베이스에 등록되어 있지 않습니다.", vbCritical, FormName) StageCnt = ErrorList.ReceiveError GoTo FAIL_Finish End If End If Dim ModelCode As Integer = ModelSetting() If ModelCode = ModelList.MAX_Model Then StageCnt = ErrorList.DataError GoTo FAIL_Finish End If ModelCode = ModelList.ALTO & ModelCode Dim SerialValue As String = SerialNumSetting(nudIfSerial.Value.ToString) Dim MonthParsing As String = MonthSetting(nudIfMonth.Value.ToString) SerialValue = nudIfYear.Value & MonthParsing & SerialValue Dim ResultData As Int16 = MAXInfoWrite(txbIfCode.Text, SerialValue, ModelCode, AboardCode, AgencyCode) If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then StageCnt = ResultData GoTo FAIL_Finish End If txbIfNumber.Text = ModelCode & Mid(SerialValue, 1, 4) & Mid(SerialValue, 8, 3) & Mid(SerialValue, 5, 3) If ckbDBUse.Checked = True Then Dim cartridgeSerial = Mid(SerialValue, 5, 3) & Mid(SerialValue, 8, 3) Dim DBCmd = "UPDATE " & NonCartridgeTbl & " SET " & "Product_SN = '" & txbIfNumber.Text & "', " & "Ct_Manufacture_Name = '" & txbIfCode.Text & "', " & "Ct_Manufacture_Year = '" & nudIfYear.Value & "', " & "Ct_Manufacture_Month = '" & nudIfMonth.Value & "', " & "Ct_SN = '" & cartridgeSerial & "', " & "Ct_Model = 'ALTO', " & "Ct_Type = 'SET' " & "WHERE PV_SN = '" & TDNameStr & "'" DBCommand(DBCmd) End If txbInfoBox.Text = "SUCCESS" txbInfoBox.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbInfoBox.Text = "ERROR" + Str(StageCnt) txbInfoBox.BackColor = Color.Red End_Finish: txbInfoBox.Refresh() End Sub Private Sub EFFECT_WriteFunc() Dim StageCnt As Int16 = ErrorList.NonError Dim TDNameStr As String = String.Empty Const AboardCode As Int32 = 82 Const AgencyCode As Int16 = 0 Try If InfoWriteStart() Then StageCnt = ErrorList.DataError GoTo FAIL_Finish End If If ckbDBUse.Checked = True Then TDNameStr = TDNameLoad() If TDNameStr = Str(ErrorList.SendError) Or TDNameStr = Str(ErrorList.ReceiveError) Then MsgBox("TD 시리얼 번호를 확인할 수 없습니다. 저장하고자 하는 Serial 번호를 먼저 입력하여 주십시오.", vbExclamation, FormName) StageCnt = TDNameStr GoTo FAIL_Finish End If Dim DBExist As Boolean = TDNameDBLoad(TDNameStr) If DBExist = False Then MsgBox("TD 시리얼 번호가 데이터베이스에 등록되어 있지 않습니다.", vbCritical, FormName) StageCnt = ErrorList.ReceiveError GoTo FAIL_Finish End If End If Dim ModelCode As Integer = ModelSetting() If ModelCode = ModelList.MAX_Model Then StageCnt = ErrorList.DataError GoTo FAIL_Finish End If ModelCode = ModelList.EFFECT & ModelCode Dim SerialValue As String = SerialNumSetting(nudIfSerial.Value.ToString) Dim MonthParsing As String = MonthSetting(nudIfMonth.Value.ToString) SerialValue = nudIfYear.Value & MonthParsing & SerialValue Dim ResultData As Int16 = MAXInfoWrite(txbIfCode.Text, SerialValue, ModelCode, AboardCode, AgencyCode) If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then StageCnt = ResultData GoTo FAIL_Finish End If txbIfNumber.Text = ModelCode & Mid(SerialValue, 1, 4) & Mid(SerialValue, 8, 3) & Mid(SerialValue, 5, 3) If ckbDBUse.Checked = True Then Dim cartridgeSerial = Mid(SerialValue, 5, 3) & Mid(SerialValue, 8, 3) Dim DBCmd = "UPDATE " & UseCartridgeTbl & " SET " & "Product_SN = '" & txbIfNumber.Text & "', " & "Ct_Manufacture_Name = '" & txbIfCode.Text & "', " & "Ct_Manufacture_Year = '" & nudIfYear.Value & "', " & "Ct_Manufacture_Month = '" & nudIfMonth.Value & "', " & "Ct_SN = '" & cartridgeSerial & "', " & "Ct_Model = 'EFFECT', " & "Ct_Type = 'SET' " & "WHERE PV_SN = '" & TDNameStr & "'" DBCommand(DBCmd) End If txbInfoBox.Text = "SUCCESS" txbInfoBox.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbInfoBox.Text = "ERROR" + Str(StageCnt) txbInfoBox.BackColor = Color.Red End_Finish: txbInfoBox.Refresh() End Sub Private Function MAXInfoWrite(Factory As String, ProdNum As String, ModelType As Integer, AboardNum As Integer, AgencyNum As Integer) As Int16 tmpCmdMessage = "wrsconf1" cmdMessage = "[" & tmpCmdMessage & " " & Factory & "," & ProdNum & "," & ModelType & "," & AboardNum & "," & AgencyNum & "]" + vbCrLf If SendData(cmdMessage) Then Return ErrorList.SendError End If Dim retVal As String = PollingReceiveData(2000) If retVal <> Factory.ToLower & "," & ProdNum & "," & ModelType & "," & AboardNum & "," & AgencyNum Then Return ErrorList.ReceiveError End If Return ErrorList.NonError End Function Private Function MonthSetting(MonthData As String) As String If Len(MonthData) = 2 Then Return MonthData ElseIf Len(MonthData) = 1 Then Return "0" & MonthData Else Return "FAIL" End If End Function Private Function SerialNumSetting(SerialNum As String) As String For cnt = Len(SerialNum) To 5 SerialNum = "0" + SerialNum Next If SerialNum.Length = 6 Then Return SerialNum Else Return "FAIL" End If End Function Private Sub btnIfRead_Click(sender As Object, e As EventArgs) Handles btnIfRead.Click Select Case SelectModel Case ModeList.DUALSONIC DUALSONIC_ReadFunc() Case ModeList.MAXIMUM MAXIMUM_ReadFunc() Case ModeList.ALTO ALTO_ReadFunc() Case ModeList.EFFECT EFFECT_ReadFunc() Case Else MsgBox("잘못된 경로입니다.", vbCritical, FormName) End Select End Sub Private Sub DUALSONIC_ReadFunc() Dim StageCnt As Int16 = ErrorList.NonError Try InfoResest() InfoReadReady() ''************************************ ''******* 제조사 코드 수신 ******* ''************************************ tmpCmdMessage = "cartmanu" cmdMessage = "[sb" & tmpCmdMessage & "]" If SendData(cmdMessage) Then StageCnt = ErrorList.SendError GoTo FAIL_Finish End If Dim DataResult As String = PollingReceiveData(1500) If DataResult = "False" Then StageCnt = ErrorList.ReceiveError GoTo FAIL_Finish End If txbIfCode.Text = DataResult ''************************************ ''****** 모델타입 수신 ******** ''************************************ tmpCmdMessage = "ctmodel" cmdMessage = "[sb" & tmpCmdMessage & "]" If SendData(cmdMessage) Then StageCnt = ErrorList.SendError GoTo FAIL_Finish End If DataResult = PollingReceiveData(1500) If DataResult = "False" Then StageCnt = ErrorList.ReceiveError GoTo FAIL_Finish End If Dim ModelCode As Int16 = Val(Mid(DataResult, 1, 1)) If ModelChecking(ModelCode) Then MsgBox("없는 모델 번호입니다.", vbCritical, FormName) GoTo FAIL_Finish End If ''************************************ ''******* Cart Type 수신 ******** ''************************************ tmpCmdMessage = "carttype" cmdMessage = "[sb" & tmpCmdMessage & "]" If SendData(cmdMessage) Then StageCnt = ErrorList.SendError GoTo FAIL_Finish End If DataResult = PollingReceiveData(1500) If DataResult = "False" Then StageCnt = ErrorList.ReceiveError GoTo FAIL_Finish End If Dim cartCode = Mid(DataResult, 1, 1) If TypeChecking(Val(cartCode)) Then MsgBox("없는 타입 번호입니다.", vbCritical, FormName) GoTo FAIL_Finish End If '************************************ '****** 시리얼넘버 발신 ********** '************************************ tmpCmdMessage = "cartsn" cmdMessage = "[sb" & tmpCmdMessage & "]" If SendData(cmdMessage) Then StageCnt = ErrorList.SendError GoTo FAIL_Finish End If DataResult = PollingReceiveData(1500) If DataResult = "False" Then StageCnt = ErrorList.ReceiveError GoTo FAIL_Finish End If Dim serial = Long.Parse(DataResult) If serial < 0 Then serial += TwosComplement32Mask End If DataResult = serial.ToString Dim productSerial = ModelCode & cartCode & DataResult If productSerial.Length <> SerialParsingLength Then StageCnt = ErrorList.DataError GoTo FAIL_Finish End If txbIfNumber.Text = productSerial nudIfYear.Text = Mid(productSerial, 3, 2) nudIfMonth.Text = Mid(productSerial, 5, 2) nudIfSerial.Text = Mid(productSerial, 10, 3) & Mid(productSerial, 7, 3) txbInfoBox.Text = "SUCCESS" txbInfoBox.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("출력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbInfoBox.Text = "ERROR" + Str(StageCnt) txbInfoBox.BackColor = Color.Red End_Finish: txbInfoBox.Refresh() End Sub Private Sub MAXIMUM_ReadFunc() Dim StageCnt As Int16 = ErrorList.NonError Try InfoReadReady() Dim ResultData As String = ReadInfo() If ResultData = Str(ErrorList.SendError) Or ResultData = Str(ErrorList.ReceiveError) Then StageCnt = ResultData GoTo FAIL_Finish End If Dim MakeCode As String = Mid(ResultData, 1, InStr(ResultData, ",") - 1) ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) Dim SerialValue As String = Mid(ResultData, 1, InStr(ResultData, ",") - 1) ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) Dim ProdValue As String = Mid(ResultData, 1, InStr(ResultData, ",") - 1) Dim ModelCode As String = Mid(ProdValue, 1, 1) Dim TypeCode As String = Mid(ProdValue, 2, 1) txbIfCode.Text = MakeCode If (ProdValue & SerialValue).Length <> SerialParsingLength Then StageCnt = ErrorList.DataError GoTo FAIL_Finish End If If ModelCode = Str(ModelList.MAXIMUM) Then StageCnt = ErrorList.DataError MsgBox("MAXIMUM 제품군이 아닙니다.", vbCritical, FormName) GoTo FAIL_Finish End If txbIfNumber.Text = ProdValue & Mid(SerialValue, 1, 2) & Mid(SerialValue, 3, 2) & Mid(SerialValue, 8, 3) & Mid(SerialValue, 5, 3) nudIfYear.Text = Mid(SerialValue, 1, 2) nudIfMonth.Text = Mid(SerialValue, 3, 2) If TypeChecking_MAX(TypeCode) Then StageCnt = ErrorList.DataError GoTo FAIL_Finish End If nudIfSerial.Text = Mid(SerialValue, 5, 6) txbInfoBox.Text = "SUCCESS" txbInfoBox.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("출력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbInfoBox.Text = "ERROR" + Str(StageCnt) txbInfoBox.BackColor = Color.Red End_Finish: txbInfoBox.Refresh() End Sub Private Sub ALTO_ReadFunc() Dim StageCnt As Int16 = ErrorList.NonError Try InfoReadReady() Dim ResultData As String = ReadInfo() If ResultData = Str(ErrorList.SendError) Or ResultData = Str(ErrorList.ReceiveError) Then StageCnt = ResultData GoTo FAIL_Finish End If Dim MakeCode As String = Mid(ResultData, 1, InStr(ResultData, ",") - 1) ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) Dim SerialValue As String = Mid(ResultData, 1, InStr(ResultData, ",") - 1) ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) Dim ProdValue As String = Mid(ResultData, 1, InStr(ResultData, ",") - 1) Dim ModelCode As String = Mid(ProdValue, 1, 1) Dim TypeCode As String = Mid(ProdValue, 2, 1) txbIfCode.Text = MakeCode If (ProdValue & SerialValue).Length <> SerialParsingLength Then StageCnt = ErrorList.DataError GoTo FAIL_Finish End If If ModelCode = Str(ModelList.ALTO) Then StageCnt = ErrorList.DataError MsgBox("ALTO 제품군이 아닙니다.", vbCritical, FormName) GoTo FAIL_Finish End If txbIfNumber.Text = ProdValue & Mid(SerialValue, 1, 2) & Mid(SerialValue, 3, 2) & Mid(SerialValue, 8, 3) & Mid(SerialValue, 5, 3) nudIfYear.Text = Mid(SerialValue, 1, 2) nudIfMonth.Text = Mid(SerialValue, 3, 2) If TypeChecking_MAX(TypeCode) Then StageCnt = ErrorList.DataError GoTo FAIL_Finish End If nudIfSerial.Text = Mid(SerialValue, 5, 6) txbInfoBox.Text = "SUCCESS" txbInfoBox.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("출력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbInfoBox.Text = "ERROR" + Str(StageCnt) txbInfoBox.BackColor = Color.Red End_Finish: txbInfoBox.Refresh() End Sub Private Sub EFFECT_ReadFunc() Dim StageCnt As Int16 = ErrorList.NonError Try InfoReadReady() Dim ResultData As String = ReadInfo() If ResultData = Str(ErrorList.SendError) Or ResultData = Str(ErrorList.ReceiveError) Then StageCnt = ResultData GoTo FAIL_Finish End If Dim MakeCode As String = Mid(ResultData, 1, InStr(ResultData, ",") - 1) ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) Dim SerialValue As String = Mid(ResultData, 1, InStr(ResultData, ",") - 1) ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) Dim ProdValue As String = Mid(ResultData, 1, InStr(ResultData, ",") - 1) Dim ModelCode As String = Mid(ProdValue, 1, 1) Dim TypeCode As String = Mid(ProdValue, 2, 1) txbIfCode.Text = MakeCode If (ProdValue & SerialValue).Length <> SerialParsingLength Then StageCnt = ErrorList.DataError GoTo FAIL_Finish End If If ModelCode = Str(ModelList.EFFECT) Then StageCnt = ErrorList.DataError MsgBox("EFFECT 제품군이 아닙니다.", vbCritical, FormName) GoTo FAIL_Finish End If txbIfNumber.Text = ProdValue & Mid(SerialValue, 1, 2) & Mid(SerialValue, 3, 2) & Mid(SerialValue, 8, 3) & Mid(SerialValue, 5, 3) nudIfYear.Text = Mid(SerialValue, 1, 2) nudIfMonth.Text = Mid(SerialValue, 3, 2) If TypeChecking_MAX(TypeCode) Then StageCnt = ErrorList.DataError GoTo FAIL_Finish End If nudIfSerial.Text = Mid(SerialValue, 5, 6) txbInfoBox.Text = "SUCCESS" txbInfoBox.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("출력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbInfoBox.Text = "ERROR" + Str(StageCnt) txbInfoBox.BackColor = Color.Red End_Finish: txbInfoBox.Refresh() End Sub Private Function ReadInfo() As String tmpCmdMessage = "rdsconf1" cmdMessage = "[" & tmpCmdMessage & "]" + vbCrLf If SendData(cmdMessage) Then Return ErrorList.SendError End If Dim retval As String = PollingReceiveData(2000) If InStr(1, retval, ",") > 0 Then Return retval Else Return ErrorList.ReceiveError End If End Function Private Sub InfoReadReady() txbInfoBox.Visible = True txbInfoBox.Text = "RUNNING" txbInfoBox.BackColor = Color.GreenYellow txbInfoBox.Refresh() End Sub Private Sub InfoResest() txbIfNumber.Text = String.Empty txbIfNumber.Refresh() txbIfCode.Text = String.Empty txbIfCode.Refresh() nudIfYear.Text = Format(Now, "yy") nudIfYear.Refresh() nudIfMonth.Text = Format(Now, "MM") nudIfMonth.Refresh() rdbIfPRO_V1.Checked = True rdbIfPRO_V1.Refresh() rdbIfLUX_V2.Checked = False rdbIfLUX_V2.Refresh() rdbIfALPHA.Checked = False rdbIfALPHA.Refresh() rdbIfFace.Checked = True rdbIfFace.Refresh() rdbIfEye.Checked = False rdbIfEye.Refresh() rdbIfBody.Checked = False rdbIfBody.Refresh() nudIfSerial.Text = String.Empty nudIfSerial.Refresh() txbInfoBox.Visible = False txbInfoBox.Text = String.Empty txbInfoBox.BackColor = Color.FromArgb(0, 192, 0) End Sub Private Function ModelChecking(ModelNum As Int16) As Boolean Select Case ModelNum Case ModelList.PRO rdbIfPRO_V1.Checked = True rdbIfLUX_V2.Checked = False rdbIfALPHA.Checked = False Case ModelList.LUX rdbIfPRO_V1.Checked = False rdbIfLUX_V2.Checked = True rdbIfALPHA.Checked = False Case ModelList.ALPHA rdbIfPRO_V1.Checked = False rdbIfLUX_V2.Checked = False rdbIfALPHA.Checked = True Case Else Return True End Select Return False End Function Private Function TypeChecking_MAX(TypeNum As Int16) As Boolean Select Case TypeNum Case TypeList.V1_Set rdbIfPRO_V1.Checked = True rdbIfLUX_V2.Checked = False rdbIfALPHA.Checked = False Case TypeList.V2_Face rdbIfPRO_V1.Checked = False rdbIfLUX_V2.Checked = True rdbIfALPHA.Checked = False Case Else Return True End Select Return False End Function Private Function TypeChecking(TypeNum As Int16) As Boolean Select Case TypeNum Case TypeCodeList.Face rdbIfFace.Checked = True rdbIfEye.Checked = False rdbIfBody.Checked = False Case TypeCodeList.Eye rdbIfFace.Checked = False rdbIfEye.Checked = True rdbIfBody.Checked = False Case TypeCodeList.Body rdbIfFace.Checked = False rdbIfEye.Checked = False rdbIfBody.Checked = True Case Else Return True End Select Return False End Function Private Function TDNameDBLoad(TDName As String) As Boolean DBCmd = "SELECT EXISTS (SELECT 1 FROM " & UseCartridgeTbl & " WHERE PV_SN = '" & TDName & "')" Return DBQueryScalar(DBCmd) End Function Private Function NonTDNameDBLoad(TDName As String) As Boolean DBCmd = "SELECT EXISTS (SELECT 1 FROM " & NonCartridgeTbl & " WHERE PV_SN = '" & TDName & "')" Return DBQueryScalar(DBCmd) End Function Private Function TDNameLoad() As String Dim retVal As String tmpCmdMessage = "settdsn" cmdMessage = "[" & tmpCmdMessage & "]" + vbCrLf If SendData(cmdMessage) Then Return Str(ErrorList.SendError) End If retVal = PollingReceiveData(1500) If retVal.Length = TDNameSize Then Return retVal Else Return Str(ErrorList.ReceiveError) End If End Function Private Sub btnArRead_Click(sender As Object, e As EventArgs) Handles btnArRead.Click Select Case SelectModel Case ModeList.DUALSONIC DUALSONIC_AreaReadFunc() Case ModeList.MAXIMUM, ModeList.ALTO, ModeList.EFFECT MAXIMUM_AreaReadFunc() Case Else MsgBox("잘못된 경로입니다.", vbCritical, FormName) End Select End Sub Private Sub AreaReadStart() txbAreaBox.Visible = True txbAreaBox.Text = "RUNNING" txbAreaBox.BackColor = Color.GreenYellow txbAreaBox.Refresh() End Sub Private Sub DUALSONIC_AreaReadFunc() Dim StageCnt As Int16 = ErrorList.NonError Try AreaReadStart() ''************************************ ''******* txbAbroad 수신 ******* ''************************************ tmpCmdMessage = "ctabroad" cmdMessage = "[sb" & tmpCmdMessage & "]" If SendData(cmdMessage) Then StageCnt = ErrorList.SendError GoTo FAIL_Finish End If Dim DataResult As String = PollingReceiveData(1500) If DataResult = "False" Then StageCnt = ErrorList.ReceiveError GoTo FAIL_Finish End If txbAbroad.Text = DataResult ''************************************ ''******* txbAgency 수신 ********** ''************************************ tmpCmdMessage = "ctagency" cmdMessage = "[sb" & tmpCmdMessage & "]" If SendData(cmdMessage) Then StageCnt = ErrorList.SendError GoTo FAIL_Finish End If DataResult = PollingReceiveData(1500) If DataResult = "False" Then StageCnt = ErrorList.ReceiveError GoTo FAIL_Finish End If txbAgency.Text = DataResult txbAreaBox.Text = "SUCCESS" txbAreaBox.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("출력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbAreaBox.Text = "ERROR" + Str(StageCnt) txbAreaBox.BackColor = Color.Red End_Finish: txbAreaBox.Refresh() End Sub Private Sub MAXIMUM_AreaReadFunc() Dim StageCnt As Int16 = ErrorList.NonError Try AreaReadStart() Dim ResultData As String = ReadInfo() If ResultData = Str(ErrorList.SendError) Or ResultData = Str(ErrorList.ReceiveError) Then StageCnt = ResultData GoTo FAIL_Finish End If 'If Mid(ResultData, 1, InStr(ResultData, ",") - 1) = "" Then ' StageCnt = ErrorList.DataError ' GoTo FAIL_Finish 'End If txbAgency.Text = Mid(ResultData, InStrRev(ResultData, ",", ResultData.Length) + 1, ResultData.Length) ResultData = Mid(ResultData, 1, InStrRev(ResultData, ",", ResultData.Length) - 1) txbAbroad.Text = Mid(ResultData, InStrRev(ResultData, ",", ResultData.Length) + 1, ResultData.Length) txbAreaBox.Text = "SUCCESS" txbAreaBox.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("출력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbAreaBox.Text = "ERROR" + Str(StageCnt) txbAreaBox.BackColor = Color.Red End_Finish: txbAreaBox.Refresh() End Sub Private Function AreaWriteStart() As Boolean AreaReadStart() If txbAbroad.Text = String.Empty Or txbAgency.Text = String.Empty Then MsgBox("빈 칸이 존재합니다.", vbExclamation, FormName) Return True End If Return False End Function Private Sub btnArWrite_Click(sender As Object, e As EventArgs) Handles btnArWrite.Click Select Case SelectModel Case ModeList.DUALSONIC DUALSONIC_AreaWriteFunc() Case ModeList.MAXIMUM, ModeList.EFFECT MAXIMUM_AreaWriteFunc() Case ModeList.ALTO ALTO_AreaWriteFunc() Case Else MsgBox("잘못된 경로입니다.", vbCritical, FormName) End Select End Sub Private Sub DUALSONIC_AreaWriteFunc() Dim StageCnt As Int16 = ErrorList.NonError Try If AreaWriteStart() Then StageCnt = ErrorList.DataError GoTo FAIL_Finish End If ''************************************ ''******* txbAbroad 발신 ******** ''************************************ tmpCmdMessage = "ctabroad" cmdMessage = "[sb" & tmpCmdMessage & " " & txbAbroad.Text & "]" If SendData(cmdMessage) Then StageCnt = ErrorList.SendError GoTo FAIL_Finish End If Dim DataResult As String = PollingReceiveData(1500) If DataResult = "False" Then StageCnt = ErrorList.ReceiveError GoTo FAIL_Finish End If If DataResult <> "success" Then StageCnt = ErrorList.ResultError GoTo FAIL_Finish End If ''************************************ ''****** txbAgency 발신 ******** ''************************************ tmpCmdMessage = "ctagency" cmdMessage = "[sb" & tmpCmdMessage & " " & txbAgency.Text & "]" If SendData(cmdMessage) Then StageCnt = ErrorList.SendError GoTo FAIL_Finish End If DataResult = PollingReceiveData(1500) If DataResult = "False" Then StageCnt = ErrorList.ReceiveError GoTo FAIL_Finish End If If DataResult <> "success" Then StageCnt = ErrorList.ResultError GoTo FAIL_Finish End If txbAreaBox.Text = "SUCCESS" txbAreaBox.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbAreaBox.Text = "ERROR" + Str(StageCnt) txbAreaBox.BackColor = Color.Red End_Finish: txbAreaBox.Refresh() End Sub Private Sub MAXIMUM_AreaWriteFunc() Dim StageCnt As Int16 = ErrorList.NonError Try If AreaWriteStart() Then StageCnt = ErrorList.DataError GoTo FAIL_Finish End If Dim ResultData As String = ReadInfo() If ResultData = Str(ErrorList.SendError) Or ResultData = Str(ErrorList.ReceiveError) Then StageCnt = ResultData GoTo FAIL_Finish End If Dim Data1 As String = Mid(ResultData, 1, InStr(ResultData, ",") - 1) ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) Dim Data2 As String = Mid(ResultData, 1, InStr(ResultData, ",") - 1) ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) Dim Data3 As String = Mid(ResultData, 1, InStr(ResultData, ",") - 1) ResultData = MAXInfoWrite(Data1, Data2, Data3, txbAbroad.Text, txbAgency.Text) If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then StageCnt = ResultData GoTo FAIL_Finish End If If ckbDBUse.Checked = True Then Dim TDNameStr = TDNameLoad() If TDNameStr = Str(ErrorList.SendError) Or TDNameStr = Str(ErrorList.ReceiveError) Then MsgBox("TD 시리얼 번호를 확인할 수 없습니다. 저장하고자 하는 Serial 번호를 먼저 입력하여 주십시오.", vbExclamation, FormName) StageCnt = TDNameStr GoTo FAIL_Finish End If Dim DBExist As Boolean = TDNameDBLoad(TDNameStr) If DBExist = False Then MsgBox("TD 시리얼 번호가 데이터베이스에 등록되어 있지 않습니다.", vbCritical, FormName) StageCnt = ErrorList.ReceiveError GoTo FAIL_Finish End If DBCmd = "UPDATE " & UseCartridgeTbl & " SET " & "Ct_Abroad = '" & txbAbroad.Text.Trim() & "', " & "Ct_Agency = '" & txbAgency.Text.Trim() & "' " & "WHERE PV_SN = '" & TDNameStr & "'" DBCommand(DBCmd) End If txbAreaBox.Text = "SUCCESS" txbAreaBox.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbAreaBox.Text = "ERROR" + Str(StageCnt) txbAreaBox.BackColor = Color.Red End_Finish: txbAreaBox.Refresh() End Sub Private Sub ALTO_AreaWriteFunc() Dim StageCnt As Int16 = ErrorList.NonError Try If AreaWriteStart() Then StageCnt = ErrorList.DataError GoTo FAIL_Finish End If Dim ResultData As String = ReadInfo() If ResultData = Str(ErrorList.SendError) Or ResultData = Str(ErrorList.ReceiveError) Then StageCnt = ResultData GoTo FAIL_Finish End If Dim Data1 As String = Mid(ResultData, 1, InStr(ResultData, ",") - 1) ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) Dim Data2 As String = Mid(ResultData, 1, InStr(ResultData, ",") - 1) ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) Dim Data3 As String = Mid(ResultData, 1, InStr(ResultData, ",") - 1) ResultData = MAXInfoWrite(Data1, Data2, Data3, txbAbroad.Text, txbAgency.Text) If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then StageCnt = ResultData GoTo FAIL_Finish End If If ckbDBUse.Checked = True Then Dim TDNameStr = TDNameLoad() If TDNameStr = Str(ErrorList.SendError) Or TDNameStr = Str(ErrorList.ReceiveError) Then MsgBox("TD 시리얼 번호를 확인할 수 없습니다. 저장하고자 하는 Serial 번호를 먼저 입력하여 주십시오.", vbExclamation, FormName) StageCnt = TDNameStr GoTo FAIL_Finish End If Dim DBExist As Boolean = NonTDNameDBLoad(TDNameStr) If DBExist = False Then MsgBox("TD 시리얼 번호가 데이터베이스에 등록되어 있지 않습니다.", vbCritical, FormName) StageCnt = ErrorList.ReceiveError GoTo FAIL_Finish End If DBCmd = "UPDATE " & NonCartridgeTbl & " SET " & "Ct_Abroad = '" & txbAbroad.Text.Trim() & "', " & "Ct_Agency = '" & txbAgency.Text.Trim() & "' " & "WHERE PV_SN = '" & TDNameStr & "'" DBCommand(DBCmd) End If txbAreaBox.Text = "SUCCESS" txbAreaBox.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbAreaBox.Text = "ERROR" + Str(StageCnt) txbAreaBox.BackColor = Color.Red End_Finish: txbAreaBox.Refresh() End Sub Private Sub btnTdRead_Click(sender As Object, e As EventArgs) Handles btnTdRead.Click Select Case SelectModel Case ModeList.DUALSONIC DUALSONIC_TDReadFunc() Case ModeList.MAXIMUM, ModeList.ALTO, ModeList.EFFECT MAXIMUM_TDReadFunc() Case Else MsgBox("잘못된 경로입니다.", vbCritical, FormName) End Select End Sub Private Sub TDReadStart() txbTDBox.Visible = True txbTDBox.Text = "RUNNING" txbTDBox.BackColor = Color.GreenYellow txbTDBox.Refresh() End Sub Private Sub DUALSONIC_TDReadFunc() Dim StageCnt As Int16 = ErrorList.NonError Try TDReadStart() MsgBox("현재 기능 없음") txbInfoBox.Text = "SUCCESS" txbInfoBox.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("출력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbAreaBox.Text = "ERROR" + Str(StageCnt) txbAreaBox.BackColor = Color.Red End_Finish: txbAreaBox.Refresh() End Sub Private Sub MAXIMUM_TDReadFunc() Dim StageCnt As Int16 = ErrorList.NonError Try TDReadStart() Dim ResultData As String = TDNameLoad() If ResultData = Str(ErrorList.SendError) Or ResultData = Str(ErrorList.ReceiveError) Then StageCnt = ResultData GoTo FAIL_Finish End If If ResultData.Length <> TDNameSize Then StageCnt = ErrorList.DataError GoTo FAIL_Finish End If txbTDSerial.Text = ResultData txbTDBox.Text = "SUCCESS" txbTDBox.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("출력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbTDBox.Text = "ERROR" + Str(StageCnt) txbTDBox.BackColor = Color.Red End_Finish: txbTDBox.Refresh() End Sub Private Function TDWriteStart() As Boolean TDReadStart() If txbTDSerial.Text.Replace(" ", "") = "" Then MsgBox("빈 칸이 존재합니다.", vbExclamation, FormName) Return True End If If txbTDSerial.Text.Length <> TDNameSize Then MsgBox("TD 규격에 맞지 않는 데이터 입니다.(10자)", vbExclamation, FormName) Return True End If Return False End Function Private Sub btnTdWrite_Click(sender As Object, e As EventArgs) Handles btnTdWrite.Click Select Case SelectModel Case ModeList.DUALSONIC DUALSONIC_TDWrtieFunc() Case ModeList.MAXIMUM, ModeList.ALTO, ModeList.EFFECT MAXIMUM_TDWrtieFunc() Case Else MsgBox("잘못된 경로입니다.", vbCritical, FormName) End Select End Sub Private Sub DUALSONIC_TDWrtieFunc() Dim StageCnt As Int16 = ErrorList.NonError Try If TDWriteStart() Then StageCnt = ErrorList.DataError GoTo FAIL_Finish End If MsgBox("해당 기능 없음") txbTDBox.Text = "SUCCESS" txbTDBox.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbTDBox.Text = "ERROR" + Str(StageCnt) txbTDBox.BackColor = Color.Red End_Finish: txbTDBox.Refresh() End Sub Private Sub MAXIMUM_TDWrtieFunc() Dim StageCnt As Int16 = ErrorList.NonError Try If TDWriteStart() Then StageCnt = ErrorList.DataError GoTo FAIL_Finish End If Dim ResultData As String = TDDataWrtie(txbTDSerial.Text) If ResultData = Str(ErrorList.SendError) Or ResultData = Str(ErrorList.ReceiveError) Then StageCnt = ResultData GoTo FAIL_Finish End If txbTDBox.Text = "SUCCESS" txbTDBox.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbTDBox.Text = "ERROR" + Str(StageCnt) txbTDBox.BackColor = Color.Red End_Finish: txbTDBox.Refresh() End Sub Private Function TDDataWrtie(SaveData As String) As String tmpCmdMessage = "settdsn" cmdMessage = "[" & tmpCmdMessage & " " & SaveData & "]" + vbCrLf If SendData(cmdMessage) Then Return Str(ErrorList.SendError) End If Dim retVal As String = PollingReceiveData(1500) If retVal = SaveData.ToLower Then Return retVal Else Return Str(ErrorList.ReceiveError) End If End Function Private Sub btnFPRead_Click(sender As Object, e As EventArgs) Handles btnFPRead.Click Select Case SelectModel Case ModeList.DUALSONIC DUALSONIC_FPReadFunc() Case ModeList.MAXIMUM, ModeList.EFFECT MAXIMUM_FPReadFunc() Case ModeList.ALTO txbFPBox.Text = "ERROR" txbFPBox.BackColor = Color.Red txbFPBox.Refresh() Case Else MsgBox("잘못된 경로입니다.", vbCritical, FormName) End Select End Sub Private Sub FPReadStart() txbFPBox.Visible = True txbFPBox.Text = "RUNNING" txbFPBox.BackColor = Color.GreenYellow txbFPBox.Refresh() End Sub Private Sub DUALSONIC_FPReadFunc() Dim StageCnt As Int16 = ErrorList.NonError Try FPReadStart() ''************************************ ''******* Cart Frq Info 수신 ******** ''************************************ tmpCmdMessage = "cartfreq" cmdMessage = "[sb" & tmpCmdMessage & "]" If SendData(cmdMessage) Then StageCnt = ErrorList.SendError GoTo FAIL_Finish End If Dim DataResult As String = PollingReceiveData(1500) If DataResult = "False" Then StageCnt = ErrorList.ReceiveError GoTo FAIL_Finish End If txbFreq.Text = DataResult ''************************************ ''******* Cart PWR Info 수신 ******** ''************************************ tmpCmdMessage = "ctpower" cmdMessage = "[sb" & tmpCmdMessage & "]" If SendData(cmdMessage) Then StageCnt = ErrorList.SendError GoTo FAIL_Finish End If DataResult = PollingReceiveData(1500) If DataResult = "False" Then StageCnt = ErrorList.ReceiveError GoTo FAIL_Finish End If txbPower.Text = Val(DataResult) / 100 txbFPBox.Text = "SUCCESS" txbFPBox.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("출력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbFPBox.Text = "ERROR" + Str(StageCnt) txbFPBox.BackColor = Color.Red End_Finish: txbFPBox.Refresh() End Sub Private Sub MAXIMUM_FPReadFunc() Dim StageCnt As Int16 = ErrorList.NonError Try FPReadStart() Dim ResultData As String = FPDataRead() If ResultData = Str(ErrorList.SendError) Or ResultData = Str(ErrorList.ReceiveError) Then StageCnt = ResultData GoTo FAIL_Finish End If txbFreq.Text = Mid(ResultData, 1, InStr(ResultData, ",") - 1) txbPower.Text = Val(Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length)) / 100 txbFPBox.Text = "SUCCESS" txbFPBox.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("출력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbFPBox.Text = "ERROR" + Str(StageCnt) txbFPBox.BackColor = Color.Red End_Finish: txbFPBox.Refresh() End Sub Private Function FPDataRead() As String tmpCmdMessage = "settdcnf" cmdMessage = "[" & tmpCmdMessage & "]" + vbCrLf If SendData(cmdMessage) Then Return Str(ErrorList.SendError) End If Dim retVal As String = PollingReceiveData(500) If InStr(1, retVal, ",") > 0 Then Return retVal Else Return Str(ErrorList.ReceiveError) End If End Function Private Sub btnFPWrite_Click(sender As Object, e As EventArgs) Handles btnFPWrite.Click Select Case SelectModel Case ModeList.DUALSONIC DUALSONIC_FPWriteFunc() Case ModeList.MAXIMUM, ModeList.EFFECT MAXIMUM_FPWriteFunc() Case ModeList.ALTO Case Else MsgBox("잘못된 경로입니다.", vbCritical, FormName) End Select End Sub Private Function FPWrtieStart() As Boolean FPReadStart() If txbFreq.Text.Replace(" ", "") = "" Or txbPower.Text.Replace(" ", "") = "" Then MsgBox("빈 칸이 존재합니다.", vbExclamation, FormName) Return True End If If Val(txbFreq.Text) < 6700 Or Val(txbFreq.Text) > 7200 Then MsgBox("주파수 범위에 어긋나는 값입니다.(6700 ~ 7200)", vbExclamation, FormName) Return True End If If CSng(Val(txbPower.Text)) < -0.5 Or CSng(Val(txbPower.Text)) > 0.5 Then MsgBox("파워 범위에 어긋나는 값입니다.(-0.5 ~ 0.5)", vbExclamation, FormName) Return True End If Return False End Function Private Sub DUALSONIC_FPWriteFunc() Dim StageCnt As Int16 = ErrorList.NonError Try FPWrtieStart() ''************************************ ''******* Cart 주파수 전송 ******** ''************************************ tmpCmdMessage = "cartfreq" cmdMessage = "[sb" & tmpCmdMessage & " " & txbFreq.Text & "]" If SendData(cmdMessage) Then StageCnt = ErrorList.SendError GoTo FAIL_Finish End If Dim DataResult As String = PollingReceiveData(1500) If DataResult = "False" Then StageCnt = ErrorList.ReceiveError GoTo FAIL_Finish End If If DataResult <> "success" Then StageCnt = ErrorList.ResultError GoTo FAIL_Finish End If ''************************************ ''******* Cart 파워 전송 ******** ''************************************ Dim tmpVal As Integer = (Val(txbPower.Text) * 100) tmpCmdMessage = "ctpower" cmdMessage = "[sb" & tmpCmdMessage & " " & tmpVal & "]" If SendData(cmdMessage) Then StageCnt = ErrorList.SendError GoTo FAIL_Finish End If DataResult = PollingReceiveData(1500) If DataResult = "False" Then StageCnt = ErrorList.ReceiveError GoTo FAIL_Finish End If If DataResult <> "success" Then StageCnt = ErrorList.ResultError GoTo FAIL_Finish End If txbFPBox.Text = "SUCCESS" txbFPBox.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbFPBox.Text = "ERROR" + Str(StageCnt) txbFPBox.BackColor = Color.Red End_Finish: txbFPBox.Refresh() End Sub Private Sub MAXIMUM_FPWriteFunc() Dim StageCnt As Int16 = ErrorList.NonError Try FPWrtieStart() Dim ResultData As Byte = FPWrtieSetting(Val(txbFreq.Text), CSng(txbPower.Text)) If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then StageCnt = ResultData GoTo FAIL_Finish End If If ckbDBUse.Checked = True Then Dim TDNameStr = TDNameLoad() If TDNameStr = Str(ErrorList.SendError) Or TDNameStr = Str(ErrorList.ReceiveError) Then MsgBox("TD 시리얼 번호를 확인할 수 없습니다. 저장하고자 하는 Serial 번호를 먼저 입력하여 주십시오.", vbExclamation, FormName) StageCnt = TDNameStr GoTo FAIL_Finish End If Dim DBExist As Boolean = TDNameDBLoad(TDNameStr) If DBExist = False Then MsgBox("TD 시리얼 번호가 데이터베이스에 등록되어 있지 않습니다.", vbCritical, FormName) StageCnt = ErrorList.ReceiveError GoTo FAIL_Finish End If Dim freq = txbFreq.Text Dim power = txbPower.Text DBCmd = "UPDATE " & UseCartridgeTbl & " SET " & "Ct_Frequency = " & freq & ", " & "Ct_Power = " & power & " " & "WHERE PV_SN = '" & TDNameStr & "'" DBCommand(DBCmd) End If txbFPBox.Text = "SUCCESS" txbFPBox.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("출력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbFPBox.Text = "ERROR" + Str(StageCnt) txbFPBox.BackColor = Color.Red End_Finish: txbFPBox.Refresh() End Sub Private Function FPWrtieSetting(Frequency As Integer, Power As Single) As SByte Power = Power * 100 tmpCmdMessage = "settdcnf" cmdMessage = "[" & tmpCmdMessage & " " & Frequency & "," & Power & "]" + vbCrLf If SendData(cmdMessage) Then Return Str(ErrorList.SendError) End If Dim retVal As String = PollingReceiveData(2500) If retVal <> Frequency & "," & Power Then Return ErrorList.ReceiveError Else Return ErrorList.NonError End If End Function Private Sub btnMtRead_Click(sender As Object, e As EventArgs) Handles btnMtRead.Click Select Case SelectModel Case ModeList.DUALSONIC DUALSONIC_MtRead() Case ModeList.MAXIMUM, ModeList.EFFECT MAXIMUM_MtRead() Case ModeList.ALTO txbFPBox.Text = "ERROR" txbFPBox.BackColor = Color.Red txbFPBox.Refresh() Case Else MsgBox("잘못된 경로입니다.", vbCritical, FormName) End Select End Sub Private Sub MoterReadStart() txbMtBox.Visible = True txbMtBox.Text = "RUNNING" txbMtBox.BackColor = Color.GreenYellow txbMtBox.Refresh() End Sub Private Sub DUALSONIC_MtRead() Dim StageCnt As Int16 = ErrorList.NonError Try MoterReadStart() ''************************************ ''******* Front 센서 수신 ****** ''************************************ tmpCmdMessage = "frontsen" cmdMessage = "[sb" & tmpCmdMessage & "]" If SendData(cmdMessage) Then StageCnt = ErrorList.SendError GoTo FAIL_Finish End If Dim DataResult As String = PollingReceiveData(1500) If DataResult = "False" Then StageCnt = ErrorList.ReceiveError GoTo FAIL_Finish End If txbMotor.Text = DataResult txbMtBox.Text = "SUCCESS" txbMtBox.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("출력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbMtBox.Text = "ERROR" + Str(StageCnt) txbMtBox.BackColor = Color.Red End_Finish: txbMtBox.Refresh() End Sub Private Sub MAXIMUM_MtRead() Dim StageCnt As Int16 = ErrorList.NonError Try MoterReadStart() Dim ResultData As String = MoterRead() If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then StageCnt = ResultData GoTo FAIL_Finish End If txbMotor.Text = ResultData txbMtBox.Text = "SUCCESS" txbMtBox.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbMtBox.Text = "ERROR" + Str(StageCnt) txbMtBox.BackColor = Color.Red End_Finish: txbMtBox.Refresh() End Sub Private Function MoterRead() As String tmpCmdMessage = "setmotor" cmdMessage = "[" & tmpCmdMessage & "]" If SendData(cmdMessage) Then Return ErrorList.SendError End If Dim retval As String = PollingReceiveData(1000) If UBound(Split(retval, ",")) = 4 Then Return Mid(retval, 1, InStr(1, retval, ",") - 1) Else Return ErrorList.ReceiveError End If End Function Private Sub btnMtWrite_Click(sender As Object, e As EventArgs) Handles btnMtWrite.Click Select Case SelectModel Case ModeList.DUALSONIC DUALSONIC_MtWrite() Case ModeList.MAXIMUM, ModeList.EFFECT MAXIMUM_MtWrite() Case ModeList.ALTO Case Else MsgBox("잘못된 경로입니다.", vbCritical, FormName) End Select End Sub Private Function MoterWrtieStart() As Boolean MoterReadStart() If txbMotor.Text.Replace(" ", "") = "" Then MsgBox("빈 칸이 존재합니다.", vbExclamation, FormName) Return True End If If Val(txbMotor.Text) > 5 Or Val(txbMotor.Text) < -5 Then MsgBox("모터 범위값을 벗어났습니다.", vbExclamation, FormName) Return True End If Return False End Function Private Sub DUALSONIC_MtWrite() Dim StageCnt As Int16 = ErrorList.NonError Try If MoterWrtieStart() Then StageCnt = ErrorList.DataError GoTo FAIL_Finish End If txbMtBox.Text = "SUCCESS" txbMtBox.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbMtBox.Text = "ERROR" + Str(StageCnt) txbMtBox.BackColor = Color.Red End_Finish: txbMtBox.Refresh() End Sub Private Sub MAXIMUM_MtWrite() Dim StageCnt As Int16 = ErrorList.NonError Try If MoterWrtieStart() Then StageCnt = ErrorList.DataError GoTo FAIL_Finish End If Dim ResultData As String = MoterSetting(Val(txbMotor.Text)) If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then StageCnt = ResultData GoTo FAIL_Finish End If If ckbDBUse.Checked = True Then Dim TDNameStr = TDNameLoad() If TDNameStr = Str(ErrorList.SendError) Or TDNameStr = Str(ErrorList.ReceiveError) Then MsgBox("TD 시리얼 번호를 확인할 수 없습니다. 저장하고자 하는 Serial 번호를 먼저 입력하여 주십시오.", vbExclamation, FormName) StageCnt = TDNameStr GoTo FAIL_Finish End If Dim DBExist As Boolean = TDNameDBLoad(TDNameStr) If DBExist = False Then MsgBox("TD 시리얼 번호가 데이터베이스에 등록되어 있지 않습니다.", vbCritical, FormName) StageCnt = ErrorList.ReceiveError GoTo FAIL_Finish End If DBCmd = "UPDATE " & UseCartridgeTbl & " SET " & "Ct_Motor_Lv = '" & txbMotor.Text & "' " & "WHERE PV_SN = '" & TDNameStr & "'" DBCommand(DBCmd) End If txbMtBox.Text = "SUCCESS" txbMtBox.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbMtBox.Text = "ERROR" + Str(StageCnt) txbMtBox.BackColor = Color.Red End_Finish: txbMtBox.Refresh() End Sub Private Function MoterSetting(SetPulse As Integer) As String tmpCmdMessage = "setmotor" cmdMessage = "[" & tmpCmdMessage & " " & SetPulse & ",0,0,0,0]" If SendData(cmdMessage) Then Return ErrorList.SendError End If Dim retval As String = PollingReceiveData(1000) If retval = SetPulse & ",0,0,0,0" Then Return ErrorList.NonError Else Return ErrorList.ReceiveError End If End Function Private Sub btnShRead_Click(sender As Object, e As EventArgs) Handles btnShRead.Click Select Case SelectModel Case ModeList.DUALSONIC DUALSONIC_ShotRead() Case ModeList.MAXIMUM, ModeList.EFFECT MAXIMUM_ShotRead() Case ModeList.ALTO txbFPBox.Text = "ERROR" txbFPBox.BackColor = Color.Red txbFPBox.Refresh() Case Else MsgBox("잘못된 경로입니다.", vbCritical, FormName) End Select End Sub Private Sub ShotReadStart() txbShotBox.Visible = True txbShotBox.Text = "RUNNING" txbShotBox.BackColor = Color.GreenYellow txbShotBox.Refresh() End Sub Private Sub DUALSONIC_ShotRead() Dim StageCnt As Int16 = ErrorList.NonError Try ShotReadStart() ''************************************ ''******* Shot Cnt 수신 ******** ''************************************ tmpCmdMessage = "rshotcnt" cmdMessage = "[sb" & tmpCmdMessage & "]" If SendData(cmdMessage) Then StageCnt = ErrorList.SendError GoTo FAIL_Finish End If Dim DataResult As String = PollingReceiveData(1500) If DataResult = "False" Then StageCnt = ErrorList.ReceiveError GoTo FAIL_Finish End If txbShot.Text = DataResult ''************************************ ''****** Max Shot Cnt 수신 ******** ''************************************ tmpCmdMessage = "tshotcnt" cmdMessage = "[sb" & tmpCmdMessage & "]" If SendData(cmdMessage) Then StageCnt = ErrorList.SendError GoTo FAIL_Finish End If DataResult = PollingReceiveData(1500) If DataResult = "False" Then StageCnt = ErrorList.ReceiveError GoTo FAIL_Finish End If txbMaxShot.Text = DataResult txbShotBox.Text = "SUCCESS" txbShotBox.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbShotBox.Text = "ERROR" + Str(StageCnt) txbShotBox.BackColor = Color.Red End_Finish: txbShotBox.Refresh() End Sub Private Sub MAXIMUM_ShotRead() Dim StageCnt As Int16 = ErrorList.NonError Try ShotReadStart() Dim ResultData As String = ShotReadFunc() If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then StageCnt = ResultData GoTo FAIL_Finish End If txbShot.Text = ResultData txbShotBox.Text = "SUCCESS" txbShotBox.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbShotBox.Text = "ERROR" + Str(StageCnt) txbShotBox.BackColor = Color.Red End_Finish: txbShotBox.Refresh() End Sub Private Function ShotReadFunc() As String tmpCmdMessage = "shotconf" cmdMessage = "[" & tmpCmdMessage & "]" + vbCrLf If SendData(cmdMessage) Then Return ErrorList.SendError End If Dim retval As String = PollingReceiveData(1000) If IsNumeric(retval) Then Return retval Else Return ErrorList.ReceiveError End If End Function Private Sub btnShWrite_Click(sender As Object, e As EventArgs) Handles btnShWrite.Click Select Case SelectModel Case ModeList.DUALSONIC DUALSONIC_ShotWrite() Case ModeList.MAXIMUM, ModeList.EFFECT MAXIMUM_ShotWrtie() Case ModeList.ALTO Case Else MsgBox("잘못된 경로입니다.", vbCritical, FormName) End Select End Sub Private Function ShotWriteStart() As Boolean ShotReadStart() If txbShot.Text.Replace(" ", "") = "" Or txbMaxShot.Text.Replace(" ", "") = "" Then MsgBox("빈 칸이 존재합니다.", vbExclamation, FormName) Return True End If Return False End Function Private Sub DUALSONIC_ShotWrite() Dim StageCnt As Int16 = ErrorList.NonError Try ShotWriteStart() If Val(txbShot.Text) > Val(txbMaxShot.Text) Then MsgBox("현재 샷 수가 전체 샷 수보다 큽니다.", vbExclamation, FormName) StageCnt = ErrorList.DataError GoTo FAIL_Finish End If ''************************************ ''******* Shot Cnt 발신 ******** ''************************************ tmpCmdMessage = "rshotcnt" cmdMessage = "[sb" & tmpCmdMessage & " " & txbShot.Text & "]" If SendData(cmdMessage) Then StageCnt = ErrorList.SendError GoTo FAIL_Finish End If Dim DataResult As String = PollingReceiveData(1500) If DataResult = "False" Then StageCnt = ErrorList.ReceiveError GoTo FAIL_Finish End If If DataResult <> "success" Then StageCnt = ErrorList.ResultError GoTo FAIL_Finish End If ''************************************ ''****** Max Shot Cnt 발신 ******** ''************************************ tmpCmdMessage = "tshotcnt" cmdMessage = "[sb" & tmpCmdMessage & " " & txbMaxShot.Text & "]" If SendData(cmdMessage) Then StageCnt = ErrorList.SendError GoTo FAIL_Finish End If DataResult = PollingReceiveData(1500) If DataResult = "False" Then StageCnt = ErrorList.ReceiveError GoTo FAIL_Finish End If If DataResult <> "success" Then StageCnt = ErrorList.ResultError GoTo FAIL_Finish End If txbShotBox.Text = "SUCCESS" txbShotBox.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbShotBox.Text = "ERROR" + Str(StageCnt) txbShotBox.BackColor = Color.Red End_Finish: txbShotBox.Refresh() End Sub Private Sub MAXIMUM_ShotWrtie() Dim StageCnt As Int16 = ErrorList.NonError Try ShotWriteStart() Dim ResultData As String = ShotWriteFunc(Val(txbShot.Text)) If ResultData = Str(ErrorList.SendError) Or ResultData = Str(ErrorList.ReceiveError) Then StageCnt = ResultData GoTo FAIL_Finish End If If ckbDBUse.Checked = True Then Dim TDNameStr = TDNameLoad() If TDNameStr = Str(ErrorList.SendError) Or TDNameStr = Str(ErrorList.ReceiveError) Then MsgBox("TD 시리얼 번호를 확인할 수 없습니다. 저장하고자 하는 Serial 번호를 먼저 입력하여 주십시오.", vbExclamation, FormName) StageCnt = TDNameStr GoTo FAIL_Finish End If Dim DBExist As Boolean = TDNameDBLoad(TDNameStr) If DBExist = False Then MsgBox("TD 시리얼 번호가 데이터베이스에 등록되어 있지 않습니다.", vbCritical, FormName) StageCnt = ErrorList.ReceiveError GoTo FAIL_Finish End If DBCmd = "UPDATE " & UseCartridgeTbl & " SET " & "Ct_Remain_ShotCnt = '" & txbShot.Text & "' " & "WHERE PV_SN = '" & TDNameStr & "'" DBCommand(DBCmd) End If txbShotBox.Text = "SUCCESS" txbShotBox.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbShotBox.Text = "ERROR" + Str(StageCnt) txbShotBox.BackColor = Color.Red End_Finish: txbShotBox.Refresh() End Sub Private Function ShotWriteFunc(ShotData As Integer) As String tmpCmdMessage = "shotconf" cmdMessage = "[" & tmpCmdMessage & " " & ShotData & "]" + vbCrLf If SendData(cmdMessage) Then Return ErrorList.SendError End If Dim retval As String = PollingReceiveData(1000) If retval = ShotData Then Return ErrorList.NonError Else Return ErrorList.ReceiveError End If End Function Private Sub btnDvAuth_Click(sender As Object, e As EventArgs) Handles btnDvAuth.Click Select Case SelectModel Case ModeList.DUALSONIC DUALSONIC_DevAuth() Case Else MsgBox("잘못된 경로입니다.", vbCritical, FormName) End Select End Sub Private Sub DevAuthStart() txbDvAuthBox.Visible = True txbDvAuthBox.Text = "RUNNING" txbDvAuthBox.BackColor = Color.GreenYellow txbDvAuthBox.Refresh() End Sub Private Sub DUALSONIC_DevAuth() Dim StageCnt As Int16 = ErrorList.NonError Try DevAuthStart() ''************************************ ''******* 본체 인증 발신 ******** ''************************************ tmpCmdMessage = "mainauth" cmdMessage = "[sb" & tmpCmdMessage & "]" If SendData(cmdMessage) Then StageCnt = ErrorList.SendError GoTo FAIL_Finish End If Dim DataResult As String = PollingReceiveData(10000) If DataResult = "False" Then StageCnt = ErrorList.ReceiveError GoTo FAIL_Finish End If If DataResult <> "success" Then StageCnt = ErrorList.ResultError GoTo FAIL_Finish End If txbDvAuthBox.Text = "SUCCESS" txbDvAuthBox.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbDvAuthBox.Text = "ERROR" + Str(StageCnt) txbDvAuthBox.BackColor = Color.Red End_Finish: txbDvAuthBox.Refresh() End Sub Private Sub btnDvRead_Click(sender As Object, e As EventArgs) Handles btnDvRead.Click Select Case SelectModel Case ModeList.DUALSONIC DUALSONIC_DevRead() Case Else MsgBox("잘못된 경로입니다.", vbCritical, FormName) End Select End Sub Private Sub DevReadStart() txbDvInfoBox.Visible = True txbDvInfoBox.Text = "RUNNING" txbDvInfoBox.BackColor = Color.GreenYellow txbDvInfoBox.Refresh() End Sub Private Sub DUALSONIC_DevRead() Dim StageCnt As Int16 = ErrorList.NonError Try DevReadStart() ''************************************ ''******* 제조사 코드 수신 ******* ''************************************ tmpCmdMessage = "rdstconf" cmdMessage = "[sb" & tmpCmdMessage & "]" If SendData(cmdMessage) Then StageCnt = ErrorList.SendError GoTo FAIL_Finish End If Dim DataResult As String = PollingReceiveData(1500) If DataResult = "False" Then StageCnt = ErrorList.ReceiveError GoTo FAIL_Finish End If If UBound(Split(DataResult, ",")) <> 4 Then StageCnt = ErrorList.DataError GoTo FAIL_Finish End If txbDvCode.Text = Mid(DataResult, 1, InStr(DataResult, ",") - 1) DataResult = Mid(DataResult, InStr(DataResult, ",") + 1, DataResult.Length) Dim BackCode As String = Mid(DataResult, 1, InStr(DataResult, ",") - 1) DataResult = Mid(DataResult, InStr(DataResult, ",") + 1, DataResult.Length) Dim FrontCode As String = Mid(DataResult, 1, InStr(DataResult, ",") - 1) DataResult = Mid(DataResult, InStr(DataResult, ",") + 1, DataResult.Length) txbDvAbroad.Text = Mid(DataResult, 1, InStr(DataResult, ",") - 1) DataResult = Mid(DataResult, InStr(DataResult, ",") + 1, DataResult.Length) txbDvAgency.Text = Mid(DataResult, InStr(DataResult, ",") + 1, DataResult.Length) nudDvYear.Text = Mid(BackCode, 1, 2) nudDvMonth.Text = Mid(BackCode, 3, 2) Dim front As String = BackCode.Substring(0, 4) Dim middle As String = BackCode.Substring(4, 3) Dim last As String = BackCode.Substring(7, 3) Dim swapped As String = front & last & middle txbDvNumber.Text = FrontCode & swapped nudDvSerial.Text = Mid(BackCode, 5, 6) DevModelChecking(Mid(FrontCode, 1, 1)) txbDvInfoBox.Text = "SUCCESS" txbDvInfoBox.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbDvInfoBox.Text = "ERROR" + Str(StageCnt) txbDvInfoBox.BackColor = Color.Red End_Finish: txbDvInfoBox.Refresh() End Sub Private Sub DevModelChecking(ModelNum As Int16) Select Case ModelNum Case ModelList.PRO rdbDvPRO.Checked = True rdbDvLUX.Checked = False rdbDvALPHA.Checked = False Case ModelList.LUX rdbDvPRO.Checked = False rdbDvLUX.Checked = True rdbDvALPHA.Checked = False Case ModelList.ALPHA rdbDvPRO.Checked = False rdbDvLUX.Checked = False rdbDvALPHA.Checked = True Case Else MsgBox("잘못된 코드 번호 입니다.", vbCritical, FormName) End Select End Sub Private Sub btnDvWrite_Click(sender As Object, e As EventArgs) Handles btnDvWrite.Click Select Case SelectModel Case ModeList.DUALSONIC DUALSONIC_DevWrite() Case Else MsgBox("잘못된 경로입니다.", vbCritical, FormName) End Select End Sub Private Function DevWriteStart() As Boolean DevReadStart() If txbDvCode.Text = String.Empty Then txbDvCode.Text = "jomt" End If If txbDvCode.Text.Replace(" ", "") = "" Or nudDvYear.Text.Replace(" ", "") = "" Or nudDvMonth.Text.Replace(" ", "") = "" Or nudDvSerial.Text.Replace(" ", "") = "" Or txbDvAbroad.Text.Replace(" ", "") = "" Or txbDvAgency.Text.Replace(" ", "") = "" Then MsgBox("빈 칸이 존재합니다.", vbExclamation, FormName) Return True End If If rdbDvPRO.Checked = False And rdbDvLUX.Checked = False And rdbDvALPHA.Checked = False Then MsgBox("선택된 타입이 존재하지 않습니다.", vbExclamation, FormName) Return True End If Return False End Function Private Sub DUALSONIC_DevWrite() Dim StageCnt As Int16 = ErrorList.NonError Const TypeNum As Char = "0" Try If DevWriteStart() Then StageCnt = ErrorList.DataError GoTo FAIL_Finish End If ''************************************ ''******* 제조사코드 발신 ******* ''************************************ Dim MonthParsing As String = MonthSetting(nudDvMonth.Value.ToString) Dim SerialNum As String = nudDvYear.Value & MonthParsing & SerialNumSetting(nudDvSerial.Value) Dim ModelNum As String = DevModelSetting() & TypeNum If ModelNum = ModelList.MAX_Model Then StageCnt = ErrorList.DataError GoTo FAIL_Finish End If tmpCmdMessage = "wrstconf" cmdMessage = "[sb" & tmpCmdMessage & " " & txbDvCode.Text & "," & SerialNum & "," & ModelNum & "," & txbDvAbroad.Text & "," & txbDvAgency.Text & "]" If SendData(cmdMessage) Then StageCnt = ErrorList.SendError GoTo FAIL_Finish End If Dim DataResult As String = PollingReceiveData(1500) If DataResult = "False" Then StageCnt = ErrorList.ReceiveError GoTo FAIL_Finish End If If DataResult <> "success" Then StageCnt = ErrorList.ResultError GoTo FAIL_Finish End If txbDvInfoBox.Text = "SUCCESS" txbDvInfoBox.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbDvInfoBox.Text = "ERROR" + Str(StageCnt) txbDvInfoBox.BackColor = Color.Red End_Finish: txbDvInfoBox.Refresh() End Sub Private Function DevModelSetting() As Int16 If rdbDvPRO.Checked = True Then Return ModelList.PRO ElseIf rdbDvLUX.Checked = True Then Return ModelList.LUX ElseIf rdbDvALPHA.Checked = True Then Return ModelList.ALPHA Else MsgBox("잘못된 타입 경로입니다.", vbCritical, FormName) Return ModelList.MAX_Model End If End Function Private Sub btnDuReady_Click(sender As Object, e As EventArgs) Handles btnDuReady.Click Dim StageCnt As Int16 = ErrorList.NonError Try DuReadyStart() ''************************************ ''******* 기기 사용 정보 수신 ******* ''************************************ tmpCmdMessage = "rdstinfo" cmdMessage = "[sb" & tmpCmdMessage & "]" If SendData(cmdMessage) Then StageCnt = ErrorList.SendError GoTo FAIL_Finish End If Dim DataResult As String = PollingReceiveData(1500) If DataResult = "False" Then StageCnt = ErrorList.ReceiveError GoTo FAIL_Finish End If If UBound(Split(DataResult, ",")) <> 4 Then StageCnt = ErrorList.DataError GoTo FAIL_Finish End If Dim TimeCnt As ULong = Val(Mid(DataResult, 1, InStr(DataResult, ",") - 1)) DataResult = Mid(DataResult, InStr(DataResult, ",") + 1, DataResult.Length) TimeCnt = TimeCnt / OneSecond Dim DayCnt As Integer = Truncate(TimeCnt / OneDay) Dim HourCnt As Int16 = Truncate((TimeCnt Mod OneDay) / OneHour) Dim MinCnt As Int16 = Truncate((TimeCnt Mod OneHour) / OneMinute) Dim SecCnt As Int16 = Truncate(TimeCnt Mod OneMinute) txbDuFullDay.Text = DayCnt If HourCnt < StrLen Then txbDuFullHour.Text = "0" & HourCnt Else txbDuFullHour.Text = HourCnt End If If MinCnt < StrLen Then txbDuFullMin.Text = "0" & MinCnt Else txbDuFullMin.Text = MinCnt End If If SecCnt < StrLen Then txbDuFullSec.Text = "0" & SecCnt Else txbDuFullSec.Text = SecCnt End If TimeCnt = Val(Mid(DataResult, 1, InStr(DataResult, ",") - 1)) DataResult = Mid(DataResult, InStr(DataResult, ",") + 1, DataResult.Length) TimeCnt = TimeCnt / OneSecond DayCnt = Truncate(TimeCnt / OneDay) HourCnt = Truncate((TimeCnt Mod OneDay) / OneHour) MinCnt = Truncate((TimeCnt Mod OneHour) / OneMinute) SecCnt = Truncate(TimeCnt Mod OneMinute) txbDuReadyDay.Text = DayCnt If HourCnt < StrLen Then txbDuReadyHour.Text = "0" & HourCnt Else txbDuReadyHour.Text = HourCnt End If If MinCnt < StrLen Then txbDuReadyMin.Text = "0" & MinCnt Else txbDuReadyMin.Text = MinCnt End If If SecCnt < StrLen Then txbDuReadySec.Text = "0" & SecCnt Else txbDuReadySec.Text = SecCnt End If txbDuFace.Text = Val(Mid(DataResult, 1, InStr(DataResult, ",") - 1)) DataResult = Mid(DataResult, InStr(DataResult, ",") + 1, DataResult.Length) txbDuEye.Text = Val(Mid(DataResult, 1, InStr(DataResult, ",") - 1)) DataResult = Mid(DataResult, InStr(DataResult, ",") + 1, DataResult.Length) txbDuError.Text = Mid(DataResult, InStr(DataResult, ",") + 1, DataResult.Length) txbDuUseBox.Text = "SUCCESS" txbDuUseBox.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbDuUseBox.Text = "ERROR" + Str(StageCnt) txbDuUseBox.BackColor = Color.Red End_Finish: txbDuUseBox.Refresh() End Sub Private Sub DuReadyStart() txbDuUseBox.Visible = True txbDuUseBox.Text = "RUNNING" txbDuUseBox.BackColor = Color.GreenYellow txbDuUseBox.Refresh() End Sub Private Sub btnDuRest_Click(sender As Object, e As EventArgs) Handles btnDuReset.Click Dim StageCnt As Int16 = ErrorList.NonError Try DuReadyStart() If MsgBox("한 번 초기화된 사용 기록은 되돌릴 수 없습니다." & vbCrLf & "정말 초기화 하시겠습니까?", vbCritical + vbOKCancel, FormName) = MsgBoxResult.Ok Then tmpCmdMessage = "wrstinfo" cmdMessage = "[sb" & tmpCmdMessage & " 0,0,0,0,0]" If SendData(cmdMessage) Then StageCnt = ErrorList.SendError GoTo FAIL_Finish End If Dim DataResult As String = PollingReceiveData(1500) If DataResult = "False" Then StageCnt = ErrorList.ReceiveError GoTo FAIL_Finish End If If DataResult <> "success" Then StageCnt = ErrorList.ResultError GoTo FAIL_Finish End If txbDuUseBox.Text = "SUCCESS" txbDuUseBox.BackColor = Color.Green GoTo End_Finish Else GoTo FAIL_Finish End If txbDuUseBox.Text = "SUCCESS" txbDuUseBox.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbDuUseBox.Text = "ERROR" + Str(StageCnt) txbDuUseBox.BackColor = Color.Red End_Finish: txbDuUseBox.Refresh() End Sub Private Sub btnDuWrite_Click(sender As Object, e As EventArgs) Handles btnDuWrite.Click Dim StageCnt As Int16 = ErrorList.NonError Try DuReadyStart() Dim writeData As String = ParseDualsonicWriteData() tmpCmdMessage = "wrstinfo" cmdMessage = "[sb" & tmpCmdMessage & " " & writeData & "]" If SendData(cmdMessage) Then StageCnt = ErrorList.SendError GoTo FAIL_Finish End If Dim DataResult As String = PollingReceiveData(1500) If DataResult = "False" Then StageCnt = ErrorList.ReceiveError GoTo FAIL_Finish End If If DataResult <> "success" Then StageCnt = ErrorList.ResultError GoTo FAIL_Finish End If txbDuUseBox.Text = "SUCCESS" txbDuUseBox.BackColor = Color.Green GoTo End_Finish GoTo FAIL_Finish txbDuUseBox.Text = "SUCCESS" txbDuUseBox.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbDuUseBox.Text = "Error" + Str(StageCnt) txbDuUseBox.BackColor = Color.Red End_Finish: txbDuUseBox.Refresh() End Sub Private Function ParseDualsonicWriteData() As String Dim TimeCnt1 As ULong Dim TimeCnt2 As ULong Dim FullDay As Integer = Val(txbDuFullDay.Text) Dim FullHour As Integer = Val(txbDuFullHour.Text) Dim FullMin As Integer = Val(txbDuFullMin.Text) Dim FullSec As Integer = Val(txbDuFullSec.Text) TimeCnt1 = (CLng(FullDay) * OneDay) + (CLng(FullHour) * OneHour) + (CLng(FullMin) * OneMinute) + CLng(FullSec) TimeCnt1 *= OneSecond ' 초 단위가 아니라 밀리초 단위로 저장하고 있었다면 여기서 다시 변환 Dim ReadyDay As Integer = Val(txbDuReadyDay.Text) Dim ReadyHour As Integer = Val(txbDuReadyHour.Text) Dim ReadyMin As Integer = Val(txbDuReadyMin.Text) Dim ReadySec As Integer = Val(txbDuReadySec.Text) TimeCnt2 = (CLng(ReadyDay) * OneDay) + (CLng(ReadyHour) * OneHour) + (CLng(ReadyMin) * OneMinute) + CLng(ReadySec) TimeCnt2 *= OneSecond Dim FaceCnt As String = txbDuFace.Text.Trim() Dim EyeCnt As String = txbDuEye.Text.Trim() Dim ErrorStr As String = txbDuError.Text.Trim() Return TimeCnt1.ToString() & "," & TimeCnt2.ToString() & "," & FaceCnt & "," & EyeCnt & "," & ErrorStr End Function Private Sub MAXIMUM_All_ReadStart() txbMxAllBox.Visible = True txbMxAllBox.Text = "RUNNING" txbMxAllBox.BackColor = Color.GreenYellow txbMxAllBox.Refresh() End Sub Private Sub btnMxAllRead_Click(sender As Object, e As EventArgs) Handles btnMxAllRead.Click Select Case SelectModel Case ModeList.MAXIMUM MAXIMUM_UseReadFunc() Case Else MsgBox("잘못된 경로입니다.", vbCritical, FormName) End Select End Sub Private Sub MAXIMUM_UseReadFunc() Dim StageCnt As Int16 = ErrorList.NonError Try MAXIMUM_All_ReadStart() Dim ResultData As String = RunTimeSearch() If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then StageCnt = ResultData GoTo FAIL_Finish End If Dim TimeCnt As ULong = Val(Mid(ResultData, 1, InStr(ResultData, ",") - 1)) / OneSecond Dim DayCnt As Integer = Truncate(TimeCnt / OneDay) Dim HourCnt As Int16 = Truncate((TimeCnt Mod OneDay) / OneHour) Dim MinCnt As Int16 = Truncate((TimeCnt Mod OneHour) / OneMinute) Dim SecCnt As Int16 = Truncate(TimeCnt Mod OneMinute) txbMxAllDay.Text = DayCnt If HourCnt < StrLen Then txbMxAllHour.Text = "0" & HourCnt Else txbMxAllHour.Text = HourCnt End If If MinCnt < StrLen Then txbMxAllMin.Text = "0" & MinCnt Else txbMxAllMin.Text = MinCnt End If If SecCnt < StrLen Then txbMxAllSec.Text = "0" & SecCnt Else txbMxAllSec.Text = SecCnt End If ResultData = ShotErrSearch() txbMxAllShot.Text = Mid(ResultData, 1, InStr(ResultData, ",") - 1) ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) txbMxAllErr.Text = Mid(ResultData, 1, InStr(ResultData, ",") - 1) txbMxAllBox.Text = "SUCCESS" txbMxAllBox.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbMxAllBox.Text = "Error" + Str(StageCnt) txbMxAllBox.BackColor = Color.Red End_Finish: txbMxAllBox.Refresh() End Sub Private Function RunTimeSearch() As String tmpCmdMessage = "rdsinfo4" cmdMessage = "[" & tmpCmdMessage & "]" + vbCrLf If SendData(cmdMessage) Then Return ErrorList.SendError End If Dim retval As String = PollingReceiveData(1000) If UBound(Split(retval, ",")) = 6 Then Return retval Else Return ErrorList.ReceiveError End If End Function Private Function ShotErrSearch() As String tmpCmdMessage = "rdsinfo5" cmdMessage = "[" & tmpCmdMessage & "]" + vbCrLf If SendData(cmdMessage) Then Return ErrorList.SendError End If Dim retval As String = PollingReceiveData(1000) If UBound(Split(retval, ",")) = 4 Then Return retval Else Return ErrorList.ReceiveError End If End Function Private Function ALTOFESearch() As String tmpCmdMessage = "rdsinfo7" cmdMessage = "[" & tmpCmdMessage & "]" + vbCrLf If SendData(cmdMessage) Then Return ErrorList.SendError End If Dim retval As String = PollingReceiveData(1000) If UBound(Split(retval, ",")) = 4 Then Return retval Else Return ErrorList.ReceiveError End If End Function Private Function ALTOLBSearch() As String tmpCmdMessage = "rdsinfo8" cmdMessage = "[" & tmpCmdMessage & "]" + vbCrLf If SendData(cmdMessage) Then Return ErrorList.SendError End If Dim retval As String = PollingReceiveData(1000) If UBound(Split(retval, ",")) = 4 Then Return retval Else Return ErrorList.ReceiveError End If End Function Private Function RunTimeWrtie(SystemTime As ULong, HIFUTime As ULong, FHIFUTime As ULong, EHIFUTime As ULong, RFTime As ULong, MCTime As ULong, EPTime As ULong) As String tmpCmdMessage = "wrsinfo4" cmdMessage = "[" & tmpCmdMessage & " " & SystemTime & "," & HIFUTime & "," & FHIFUTime & "," & EHIFUTime & "," & RFTime & "," & MCTime & "," & EPTime & "]" + vbCrLf If SendData(cmdMessage) Then Return ErrorList.SendError End If Dim retval As String = PollingReceiveData(1000) If UBound(Split(retval, ",")) = 4 Then Return retval Else Return ErrorList.ReceiveError End If End Function Private Sub btnMxAllReset_Click(sender As Object, e As EventArgs) Handles btnMxAllReset.Click, btnMxHfReset.Click, btnMxEtReset.Click Select Case SelectModel Case ModeList.MAXIMUM MAXIMUM_UseResetFunc() Case Else MsgBox("잘못된 경로입니다.", vbCritical, FormName) End Select End Sub Private Sub MAXIMUM_UseResetFunc() Dim StageCnt As Int16 = ErrorList.NonError Try If MsgBox("전체 항목에 대해 초기화 진행하시겠습니까?" & vbCrLf & "초기화된 데이터는 복구가 불가능 합니다.", vbCritical + vbOKCancel, FormName) = MsgBoxResult.Ok Then Dim ResultData As String = RunTimeWrtie(0, 0, 0, 0, 0, 0, 0) If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then StageCnt = ResultData GoTo FAIL_Finish End If txbMxAllBox.Text = "SUCCESS" txbMxAllBox.BackColor = Color.Green GoTo End_Finish Else StageCnt = ErrorList.DataError GoTo FAIL_Finish End If Catch ex As Exception MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbMxAllBox.Text = "Error" + Str(StageCnt) txbMxAllBox.BackColor = Color.Red End_Finish: txbMxAllBox.Refresh() End Sub Private Sub btnMxHfRead_Click(sender As Object, e As EventArgs) Handles btnMxHfRead.Click Select Case SelectModel Case ModeList.MAXIMUM MAXIMUM_HF_UseReadFunc() Case Else MsgBox("잘못된 경로입니다.", vbCritical, FormName) End Select End Sub Private Sub MAXIMUM_HF_ReadStart() txbMxHfBox.Visible = True txbMxHfBox.Text = "RUNNING" txbMxHfBox.BackColor = Color.GreenYellow txbMxHfBox.Refresh() End Sub Private Sub MAXIMUM_HF_UseReadFunc() Dim StageCnt As Int16 = ErrorList.NonError Try MAXIMUM_HF_ReadStart() Dim ResultData As String = RunTimeSearch() If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then StageCnt = ResultData GoTo FAIL_Finish End If ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) Dim TimeCnt As ULong = Val(Mid(ResultData, 1, InStr(ResultData, ",") - 1)) / OneSecond ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) Dim DayCnt As Integer = Truncate(TimeCnt / OneDay) Dim HourCnt As Int16 = Truncate((TimeCnt Mod OneDay) / OneHour) Dim MinCnt As Int16 = Truncate((TimeCnt Mod OneHour) / OneMinute) Dim SecCnt As Int16 = Truncate(TimeCnt Mod OneMinute) txbMxFcDay.Text = DayCnt If HourCnt < StrLen Then txbMxFcHour.Text = "0" & HourCnt Else txbMxFcHour.Text = HourCnt End If If MinCnt < StrLen Then txbMxFcMin.Text = "0" & MinCnt Else txbMxFcMin.Text = MinCnt End If If SecCnt < StrLen Then txbMxFcSec.Text = "0" & SecCnt Else txbMxFcSec.Text = SecCnt End If TimeCnt = Val(Mid(ResultData, 1, InStr(ResultData, ",") - 1)) / OneSecond DayCnt = Truncate(TimeCnt / OneDay) HourCnt = Truncate((TimeCnt Mod OneDay) / OneHour) MinCnt = Truncate((TimeCnt Mod OneHour) / OneMinute) SecCnt = Truncate(TimeCnt Mod OneMinute) txbMxEyDay.Text = DayCnt If HourCnt < StrLen Then txbMxEyHour.Text = "0" & HourCnt Else txbMxEyHour.Text = HourCnt End If If MinCnt < StrLen Then txbMxEyMin.Text = "0" & MinCnt Else txbMxEyMin.Text = MinCnt End If If SecCnt < StrLen Then txbMxEySec.Text = "0" & SecCnt Else txbMxEySec.Text = SecCnt End If ResultData = ShotErrSearch() txbMxFcShot.Text = Mid(ResultData, 1, InStr(ResultData, ",") - 1) txbMxHfBox.Text = "SUCCESS" txbMxHfBox.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbMxHfBox.Text = "Error" + Str(StageCnt) txbMxHfBox.BackColor = Color.Red End_Finish: txbMxHfBox.Refresh() End Sub Private Sub MAXIMUM_ET_ReadStart() txbMxEtBox.Visible = True txbMxEtBox.Text = "RUNNING" txbMxEtBox.BackColor = Color.GreenYellow txbMxEtBox.Refresh() End Sub Private Sub btnMxEtRead_Click(sender As Object, e As EventArgs) Handles btnMxEtRead.Click Select Case SelectModel Case ModeList.MAXIMUM MAXIMUM_ET_UseReadFunc() Case Else MsgBox("잘못된 경로입니다.", vbCritical, FormName) End Select End Sub Private Sub MAXIMUM_ET_UseReadFunc() Dim StageCnt As Int16 = ErrorList.NonError Try MAXIMUM_ET_ReadStart() Dim ResultData As String = RunTimeSearch() If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then StageCnt = ResultData GoTo FAIL_Finish End If ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) Dim TimeCnt As ULong = Val(Mid(ResultData, 1, InStr(ResultData, ",") - 1)) / OneSecond ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) Dim DayCnt As Integer = Truncate(TimeCnt / OneDay) Dim HourCnt As Int16 = Truncate((TimeCnt Mod OneDay) / OneHour) Dim MinCnt As Int16 = Truncate((TimeCnt Mod OneHour) / OneMinute) Dim SecCnt As Int16 = Truncate(TimeCnt Mod OneMinute) txbMxTuDay.Text = DayCnt If HourCnt < StrLen Then txbMxTuHour.Text = "0" & HourCnt Else txbMxTuHour.Text = HourCnt End If If MinCnt < StrLen Then txbMxTuMin.Text = "0" & MinCnt Else txbMxTuMin.Text = MinCnt End If If SecCnt < StrLen Then txbMxTuSec.Text = "0" & SecCnt Else txbMxTuSec.Text = SecCnt End If TimeCnt = Val(Mid(ResultData, 1, InStr(ResultData, ",") - 1)) / OneSecond ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) DayCnt = Truncate(TimeCnt / OneDay) HourCnt = Truncate((TimeCnt Mod OneDay) / OneHour) MinCnt = Truncate((TimeCnt Mod OneHour) / OneMinute) SecCnt = Truncate(TimeCnt Mod OneMinute) txbMxDuDay.Text = DayCnt If HourCnt < StrLen Then txbMxDuHour.Text = "0" & HourCnt Else txbMxDuHour.Text = HourCnt End If If MinCnt < StrLen Then txbMxDuMin.Text = "0" & MinCnt Else txbMxDuMin.Text = MinCnt End If If SecCnt < StrLen Then txbMxDuSec.Text = "0" & SecCnt Else txbMxDuSec.Text = SecCnt End If TimeCnt = Val(ResultData) / OneSecond DayCnt = Truncate(TimeCnt / OneDay) HourCnt = Truncate((TimeCnt Mod OneDay) / OneHour) MinCnt = Truncate((TimeCnt Mod OneHour) / OneMinute) SecCnt = Truncate(TimeCnt Mod OneMinute) txbMxCuDay.Text = DayCnt If HourCnt < StrLen Then txbMxCuHour.Text = "0" & HourCnt Else txbMxCuHour.Text = HourCnt End If If MinCnt < StrLen Then txbMxCuMin.Text = "0" & MinCnt Else txbMxCuMin.Text = MinCnt End If If SecCnt < StrLen Then txbMxCuSec.Text = "0" & SecCnt Else txbMxCuSec.Text = SecCnt End If txbMxEtBox.Text = "SUCCESS" txbMxEtBox.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbMxEtBox.Text = "Error" + Str(StageCnt) txbMxEtBox.BackColor = Color.Red End_Finish: txbMxEtBox.Refresh() End Sub Private Sub btnALAllRead_Click(sender As Object, e As EventArgs) Handles btnALAllRead.Click Select Case SelectModel Case ModeList.ALTO ALTO_ALL_UseReadFunc() Case Else MsgBox("잘못된 경로입니다.", vbCritical, FormName) End Select End Sub Private Sub ALTO_ALL_ReadStart() txbALAllBox.Visible = True txbALAllBox.Text = "RUNNING" txbALAllBox.BackColor = Color.GreenYellow txbALAllBox.Refresh() End Sub Private Sub ALTO_ALL_UseReadFunc() Dim StageCnt As Int16 = ErrorList.NonError Try ALTO_ALL_ReadStart() Dim ResultData As String = RunTimeSearch() If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then StageCnt = ResultData GoTo FAIL_Finish End If Dim TimeCnt As ULong = Val(Mid(ResultData, 1, InStr(ResultData, ",") - 1)) / OneSecond Dim DayCnt As Integer = Truncate(TimeCnt / OneDay) Dim HourCnt As Int16 = Truncate((TimeCnt Mod OneDay) / OneHour) Dim MinCnt As Int16 = Truncate((TimeCnt Mod OneHour) / OneMinute) Dim SecCnt As Int16 = Truncate(TimeCnt Mod OneMinute) txbALAllDay.Text = DayCnt If HourCnt < StrLen Then txbALAllHour.Text = "0" & HourCnt Else txbALAllHour.Text = HourCnt End If If MinCnt < StrLen Then txbALAllMin.Text = "0" & MinCnt Else txbALAllMin.Text = MinCnt End If If SecCnt < StrLen Then txbALAllSec.Text = "0" & SecCnt Else txbALAllSec.Text = SecCnt End If TimeCnt = Val(Mid(ResultData, 1, InStr(ResultData, ",") - 1)) / OneSecond DayCnt = Truncate(TimeCnt / OneDay) HourCnt = Truncate((TimeCnt Mod OneDay) / OneHour) MinCnt = Truncate((TimeCnt Mod OneHour) / OneMinute) SecCnt = Truncate(TimeCnt Mod OneMinute) ResultData = ShotErrSearch() ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) txbALAllErr.Text = Mid(ResultData, 1, InStr(ResultData, ",") - 1) txbALAllBox.Text = "SUCCESS" txbALAllBox.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbALAllBox.Text = "Error" + Str(StageCnt) txbALAllBox.BackColor = Color.Red End_Finish: txbALAllBox.Refresh() End Sub Private Sub ALTO_Func1_ReadStart() txbALFuncBox1.Visible = True txbALFuncBox1.Text = "RUNNING" txbALFuncBox1.BackColor = Color.GreenYellow txbALFuncBox1.Refresh() End Sub Private Sub btnALFuncRead1_Click(sender As Object, e As EventArgs) Handles btnALFuncRead1.Click Dim StageCnt As Int16 = ErrorList.NonError Try ALTO_Func1_ReadStart() Dim ResultData As String = ALTOFESearch() If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then StageCnt = ResultData GoTo FAIL_Finish End If Dim TimeCnt As ULong = Val(Mid(ResultData, InStrRev(ResultData, ",") + 1, ResultData.Length)) / OneSecond ResultData = Mid(ResultData, 1, InStrRev(ResultData, ",") - 1) Dim DayCnt As Integer = Truncate(TimeCnt / OneDay) Dim HourCnt As Int16 = Truncate((TimeCnt Mod OneDay) / OneHour) Dim MinCnt As Int16 = Truncate((TimeCnt Mod OneHour) / OneMinute) Dim SecCnt As Int16 = Truncate(TimeCnt Mod OneMinute) txbALEtDay.Text = DayCnt If HourCnt < StrLen Then txbALEtHour.Text = "0" & HourCnt Else txbALEtHour.Text = HourCnt End If If MinCnt < StrLen Then txbALEtMin.Text = "0" & MinCnt Else txbALEtMin.Text = MinCnt End If If SecCnt < StrLen Then txbALEtSec.Text = "0" & SecCnt Else txbALEtSec.Text = SecCnt End If TimeCnt = Val(Mid(ResultData, InStrRev(ResultData, ",") + 1, ResultData.Length)) / OneSecond DayCnt = Truncate(TimeCnt / OneDay) HourCnt = Truncate((TimeCnt Mod OneDay) / OneHour) MinCnt = Truncate((TimeCnt Mod OneHour) / OneMinute) SecCnt = Truncate(TimeCnt Mod OneMinute) txbALFtDay.Text = DayCnt If HourCnt < StrLen Then txbALFtHour.Text = "0" & HourCnt Else txbALFtHour.Text = HourCnt End If If MinCnt < StrLen Then txbALFtMin.Text = "0" & MinCnt Else txbALFtMin.Text = MinCnt End If If SecCnt < StrLen Then txbALFtSec.Text = "0" & SecCnt Else txbALFtSec.Text = SecCnt End If ResultData = RunTimeSearch() If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then StageCnt = ResultData GoTo FAIL_Finish End If TimeCnt = Val(Mid(ResultData, InStrRev(ResultData, ",") + 1, ResultData.Length)) / OneSecond DayCnt = Truncate(TimeCnt / OneDay) HourCnt = Truncate((TimeCnt Mod OneDay) / OneHour) MinCnt = Truncate((TimeCnt Mod OneHour) / OneMinute) SecCnt = Truncate(TimeCnt Mod OneMinute) txbALCsDay.Text = DayCnt If HourCnt < StrLen Then txbALCsHour.Text = "0" & HourCnt Else txbALCsHour.Text = HourCnt End If If MinCnt < StrLen Then txbALCsMin.Text = "0" & MinCnt Else txbALCsMin.Text = MinCnt End If If SecCnt < StrLen Then txbALCsSec.Text = "0" & SecCnt Else txbALCsSec.Text = SecCnt End If txbALFuncBox1.Text = "SUCCESS" txbALFuncBox1.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbALFuncBox1.Text = "Error" + Str(StageCnt) txbALFuncBox1.BackColor = Color.Red End_Finish: txbALFuncBox1.Refresh() End Sub Private Sub ALTO_Func2_ReadStart() txbALFuncBox2.Visible = True txbALFuncBox2.Text = "RUNNING" txbALFuncBox2.BackColor = Color.GreenYellow txbALFuncBox2.Refresh() End Sub Private Sub btnALFuncRead2_Click(sender As Object, e As EventArgs) Handles btnALFuncRead2.Click Dim StageCnt As Int16 = ErrorList.NonError Try ALTO_Func2_ReadStart() Dim ResultData As String = ALTOLBSearch() If ResultData = ErrorList.SendError Or ResultData = ErrorList.ReceiveError Then StageCnt = ResultData GoTo FAIL_Finish End If Dim TimeCnt As ULong = Val(Mid(ResultData, 1, InStr(ResultData, ",") - 1)) / OneSecond ResultData = Mid(ResultData, InStr(ResultData, ",") + 1, ResultData.Length) Dim DayCnt As Integer = Truncate(TimeCnt / OneDay) Dim HourCnt As Int16 = Truncate((TimeCnt Mod OneDay) / OneHour) Dim MinCnt As Int16 = Truncate((TimeCnt Mod OneHour) / OneMinute) Dim SecCnt As Int16 = Truncate(TimeCnt Mod OneMinute) txbALLtDay.Text = DayCnt If HourCnt < StrLen Then txbALLtHour.Text = "0" & HourCnt Else txbALLtHour.Text = HourCnt End If If MinCnt < StrLen Then txbALLtMin.Text = "0" & MinCnt Else txbALLtMin.Text = MinCnt End If If SecCnt < StrLen Then txbALLtSec.Text = "0" & SecCnt Else txbALLtSec.Text = SecCnt End If TimeCnt = Val(Mid(ResultData, 1, InStr(ResultData, ",") - 1)) / OneSecond DayCnt = Truncate(TimeCnt / OneDay) HourCnt = Truncate((TimeCnt Mod OneDay) / OneHour) MinCnt = Truncate((TimeCnt Mod OneHour) / OneMinute) SecCnt = Truncate(TimeCnt Mod OneMinute) txbALBtDay.Text = DayCnt If HourCnt < StrLen Then txbALBtHour.Text = "0" & HourCnt Else txbALBtHour.Text = HourCnt End If If MinCnt < StrLen Then txbALBtMin.Text = "0" & MinCnt Else txbALBtMin.Text = MinCnt End If If SecCnt < StrLen Then txbALBtSec.Text = "0" & SecCnt Else txbALBtSec.Text = SecCnt End If txbALFuncBox2.Text = "SUCCESS" txbALFuncBox2.BackColor = Color.Green GoTo End_Finish Catch ex As Exception MsgBox("입력 진행 도중 에러 발생!" & vbCrLf & ex.Message, vbCritical, FormName) GoTo FAIL_Finish End Try FAIL_Finish: txbALFuncBox2.Text = "Error" + Str(StageCnt) txbALFuncBox2.BackColor = Color.Red End_Finish: txbALFuncBox2.Refresh() End Sub Private Sub ResultReset() txbAuthBox.Text = String.Empty txbAuthBox.BackColor = Color.FromArgb(0, 192, 0) txbAuthBox.Visible = False txbInfoBox.Text = String.Empty txbInfoBox.BackColor = Color.FromArgb(0, 192, 0) txbInfoBox.Visible = False txbAreaBox.Text = String.Empty txbAreaBox.BackColor = Color.FromArgb(0, 192, 0) txbAreaBox.Visible = False txbTDBox.Text = String.Empty txbTDBox.BackColor = Color.FromArgb(0, 192, 0) txbTDBox.Visible = False txbFPBox.Text = String.Empty txbFPBox.BackColor = Color.FromArgb(0, 192, 0) txbFPBox.Visible = False txbMtBox.Text = String.Empty txbMtBox.BackColor = Color.FromArgb(0, 192, 0) txbMtBox.Visible = False txbShotBox.Text = String.Empty txbShotBox.BackColor = Color.FromArgb(0, 192, 0) txbShotBox.Visible = False txbDvAuthBox.Text = String.Empty txbDvAuthBox.BackColor = Color.FromArgb(0, 192, 0) txbDvAuthBox.Visible = False txbDvInfoBox.Text = String.Empty txbDvInfoBox.BackColor = Color.FromArgb(0, 192, 0) txbDvInfoBox.Visible = False txbALFuncBox1.Text = String.Empty txbALFuncBox1.BackColor = Color.FromArgb(0, 192, 0) txbALFuncBox1.Visible = False txbALFuncBox2.Text = String.Empty txbALFuncBox2.BackColor = Color.FromArgb(0, 192, 0) txbALFuncBox2.Visible = False txbALAllBox.Text = String.Empty txbALAllBox.BackColor = Color.FromArgb(0, 192, 0) txbALAllBox.Visible = False End Sub Private Sub btnEnd_Click(sender As Object, e As EventArgs) Handles btnEnd.Click End End Sub Private Sub txbLoadNum_KeyDown(sender As Object, e As KeyEventArgs) Handles txbLoadNum.KeyDown If e.KeyCode = Keys.Return Then btnLoadNum_Click(sender, New System.EventArgs) End If End Sub Private Const TDLength As Byte = 10 Private Const ProdLength As Byte = 12 ''DataType 이 True 일 경우 TD 데이터 / False 일 경우 제품 데이터 Private DataType As Boolean = False Private Sub btnLoadNum_Click(sender As Object, e As EventArgs) Handles btnLoadNum.Click If String.IsNullOrWhiteSpace(txbLoadNum.Text) Then MsgBox("입력된 정보가 존재하지 않습니다. 검색하고자 하는 번호를 입력하여 주십시오.", vbExclamation) Else If txbLoadNum.Text.Length = TDLength Then DataType = True Dim result = TD_Search() If result <> True Then NonTD_Search() End If ElseIf txbLoadNum.Text.Length = ProdLength Then DataType = False Dim result = Product_Search() If result <> True Then NonTDProduct_Search() End If Else MsgBox("TD 및 제품 번호 양식에 맞지 않습니다.", vbExclamation) End If End If End Sub Private Function TD_Search() As Boolean Dim DBCmd As String = "Select Product_SN,Ct_Manufacture_Name,Ct_SN,Ct_Model,Ct_Type,Ct_Abroad,Ct_Agency,Ct_Power,Ct_Max_ShotCnt,Ct_Motor_Lv,PV_SN,Ct_Frequency,P3_DateTime FROM " & UseCartridgeTbl & " WHERE PV_SN = '" & txbLoadNum.Text & "' Limit 1" If DBQueryReader(DBCmd) Then txbPDSN.Text = sqlDataQuery(0) txbPDCP.Text = sqlDataQuery(1) txbPDSerial.Text = sqlDataQuery(2) txbPDModel.Text = sqlDataQuery(3) txbPDType.Text = sqlDataQuery(4) txbPDCC.Text = sqlDataQuery(5) txbPDAC.Text = sqlDataQuery(6) txbMesPw.Text = sqlDataQuery(7) txbPDSC.Text = sqlDataQuery(8) txbPDMotor.Text = sqlDataQuery(9) txbTDSN.Text = sqlDataQuery(10) txbMesFreq.Text = sqlDataQuery(11) txbMesDate.Text = sqlDataQuery(12) Return True Else Return False End If End Function Private Sub NonTD_Search() Dim DBCmd As String = "SELECT Product_SN, Ct_Manufacture_Name, Ct_SN, Ct_Model ,Ct_Type, Ct_Abroad, Ct_Agency, PV_SN, P3_DateTime FROM " & NonCartridgeTbl & " WHERE PV_SN = '" & txbLoadNum.Text & "' Limit 1" If DBQueryReader(DBCmd) Then txbPDSN.Text = sqlDataQuery(0) txbPDCP.Text = sqlDataQuery(1) txbPDSerial.Text = sqlDataQuery(2) txbPDModel.Text = sqlDataQuery(3) txbPDType.Text = sqlDataQuery(4) txbPDCC.Text = sqlDataQuery(5) txbPDAC.Text = sqlDataQuery(6) txbMesPw.Text = "" txbPDSC.Text = "" txbPDMotor.Text = "" txbTDSN.Text = sqlDataQuery(7) txbMesFreq.Text = "" txbMesDate.Text = sqlDataQuery(8) Else MsgBox("존재하지 않는 데이터입니다.", vbExclamation) End If End Sub Private Function Product_Search() As Boolean Dim DBCmd As String = "SELECT Product_SN,Ct_Manufacture_Name,Ct_SN,Ct_Model,Ct_Type,Ct_Abroad,Ct_Agency,Ct_Power,Ct_Max_ShotCnt,Ct_Motor_Lv,PV_SN,Ct_Frequency,P3_DateTime FROM " & UseCartridgeTbl & " WHERE Product_SN = '" & txbLoadNum.Text & "' Limit 1" If DBQueryReader(DBCmd) Then txbPDSN.Text = sqlDataQuery(0) txbPDCP.Text = sqlDataQuery(1) txbPDSerial.Text = sqlDataQuery(2) txbPDModel.Text = sqlDataQuery(3) txbPDType.Text = sqlDataQuery(4) txbPDCC.Text = sqlDataQuery(5) txbPDAC.Text = sqlDataQuery(6) txbMesPw.Text = sqlDataQuery(7) txbPDSC.Text = sqlDataQuery(8) txbPDMotor.Text = sqlDataQuery(9) txbTDSN.Text = sqlDataQuery(10) txbMesFreq.Text = sqlDataQuery(11) txbMesDate.Text = sqlDataQuery(12) Return True Else Return False End If End Function Private Sub NonTDProduct_Search() Dim DBCmd As String = "SELECT Product_SN, Ct_Manufacture_Name, Ct_SN, Ct_Model,Ct_Type,Ct_Abroad,Ct_Agency,PV_SN,P3_DateTime FROM " & NonCartridgeTbl & " WHERE Product_SN = '" & txbLoadNum.Text & "' Limit 1" If DBQueryReader(DBCmd) Then txbPDSN.Text = sqlDataQuery(0) txbPDCP.Text = sqlDataQuery(1) txbPDSerial.Text = sqlDataQuery(2) txbPDModel.Text = sqlDataQuery(3) txbPDType.Text = sqlDataQuery(4) txbPDCC.Text = sqlDataQuery(5) txbPDAC.Text = sqlDataQuery(6) txbMesPw.Text = "" txbPDSC.Text = "" txbPDMotor.Text = "" txbTDSN.Text = sqlDataQuery(7) txbMesFreq.Text = "" txbMesDate.Text = sqlDataQuery(8) Else MsgBox("존재하지 않는 데이터입니다.", vbExclamation) End If End Sub Private Sub btnReset_Click(sender As Object, e As EventArgs) Handles btnReset.Click txbPDSN.Text = "-" txbPDCP.Text = "-" txbPDSerial.Text = "-" txbPDModel.Text = "-" txbPDType.Text = "-" txbPDCC.Text = "-" txbPDAC.Text = "-" txbMesPw.Text = "-" txbPDSC.Text = "-" txbPDMotor.Text = "-" txbTDSN.Text = "-" txbMesFreq.Text = "-" txbMesDate.Text = "-" End Sub Private Sub btnwrite_Click(sender As Object, e As EventArgs) Handles btnwrite.Click btnIfRead_Click(sender, e) btnArRead_Click(sender, e) btnTdRead_Click(sender, e) If SelectModel.Equals(ModeList.ALTO) Then Return End If btnFPRead_Click(sender, e) btnMtRead_Click(sender, e) btnShRead_Click(sender, e) End Sub End Class