2025-06-24 11:52:51 +09:00
Imports System . IO
Imports System . IO . Ports
Imports System . Threading
Imports System . Drawing . Printing
Imports System . Management
Public Class frm_Freq_Reg
Private cartridge As String = " jomtTesterDB.jomtCartridgeTbl "
Private test_cartridge As String = " jomtTesterServerDB.jomtCartridgeTbl "
Private MainNonTDDB As String = " jomtTesterDB.jomtNonTDTbl "
Private TestNonTDDB As String = " jomtTesterServerDB.jomtNonTDTbl "
Private cartridge_table As String = cartridge
Private NonCartridge_table As String = MainNonTDDB
Public Enum PD1_ENUM
STANDBY = 0
WAIT
WRITE
SAVE
COMPLETE
MAX_NUM
End Enum
Public PD1_STATUS As PD1_ENUM
Private Enum info_data
pv_date
pv_freq
pv_imp
pv_cap
pv_res
pv_c
pv_grade
pv_power
pv_depth
pv_all
End Enum
Private info_select ( info_data . pv_all ) As String
Private Enum check_list
TestStep
make_name
serial
model
type
abroad
agency
freq
power
shotcount
p1_motor
td_serial
p1_date
p1_time
P3_DateTime
2025-06-30 13:52:47 +09:00
Manufacture_Date
2025-06-30 15:48:24 +09:00
2025-06-24 11:52:51 +09:00
max_check
End Enum
Private Const ShotCheck As Int16 = 3
Private check_data ( check_list . max_check ) As String
Private DBCmd As String '' 데이터베이스 명령어 사용
Public ParaComport As String
Public tmpCmdMessage As String
Public cmdMessage As String
Public CmdTime As Long
Public EnableCmdTime As Boolean = False
Public rxMessage As String
Private CsvRegData As String
Private serial_switch As Boolean = False ''시리얼 포트 연결 유무
Public InputCnt As Long
Public Const InputCntVal As Integer = 10
Private reserve As Boolean = False
Private td_first_name As String = " DITI "
Private td_first_name2 As String = " J "
Private Const prod_text_count As Int16 = 12 '' 제품시리얼번호 자릿수
Private Const td_name_size As Int16 = 10 '' td 시리얼 자릿수
Private Const td_freq_size As Int16 = 4 '' 주파수 자릿수
Private ManagerTDUse As Boolean = False
Private td_data_switch As Boolean = False '' 제품을 꽂아 td시리얼 데이터를 읽어 왔는지
Private thr_run_switch As Boolean = False '' 제품선택 등록 완료 확인
Private option_reg_chk As Boolean = False '' 옵션 변경 사항 있는지 확인
Private option_print_chk As Boolean = False ''프린터 옵션 변경 사항 있는지 확인
Private comport_nothing As Boolean = False '' 컴포트 연결하지 않음/함
Private write_5_OkNg As Boolean = False
Private write_5_error As Boolean = False
Private rdb_type_num As String
Private Delegate Sub commDelegate ( )
Private commDelegateFunc As commDelegate
Public Structure Maximum_Data_list
Public td_serial As String
Public td_step As Int16
Public td_freq As Int16
Public td_power As Single
Public td_grade As String
Public td_Depth As String
Public td_textbox As TextBox
Public prod_code As String
Public prod_serial As String
End Structure
Public Maximum_Data As Maximum_Data_list
Delegate Sub delegate_text ( ByRef str As String )
Private TH_thread As Thread
Private thread_type As Boolean
Private thread_restart As Boolean = False
Private info_search As Boolean = False
Private td_name As String
Private ItemList As String
'' 프린터 관련 변수
Private print_data ( 1 , 1 ) As String
Delegate Sub delegate_print ( ByRef str As String )
Private TH_print As Thread
Private thread_print As Boolean
Private print_OnOff As Boolean
''도트 관련
Private dotSerial As String
Private Sub frm_Freq_Reg_Load ( sender As Object , e As EventArgs ) Handles MyBase . Load
TH_thread = New Thread ( AddressOf thread_func )
TH_print = New Thread ( AddressOf print_th_play )
dgv_data . SelectionMode = DataGridViewSelectionMode . FullRowSelect
dgvPrinter . SelectionMode = DataGridViewSelectionMode . FullRowSelect
Me . Size = New Size ( 1040 , 785 )
LoadComportName ( )
load_comport ( " event " )
load_comport ( " comport " )
load_comport ( " print " )
If ckbAllPnt . Checked = True Then
ckbBoxPnt . Checked = True
ckbWarPnt . Checked = True
Else
ckbBoxPnt . Checked = False
ckbWarPnt . Checked = False
End If
event_release ( )
cmdSerial . Text = " 스캔 "
gb_option . Visible = False
printOptionData ( )
mainOptionCkb ( )
control_page ( )
End Sub
Private Sub frm_Freq_Reg_Disposed ( sender As Object , e As EventArgs ) Handles Me . Disposed
If TH_thread . IsAlive Then
TH_thread . Abort ( )
End If
If TH_print . IsAlive Then
TH_print . Abort ( )
End If
End Sub
Private Sub thread_func ( )
Do While thread_type
thread_play ( )
Thread . Sleep ( 3000 )
Loop
End Sub
Private Sub thread_play ( )
Dim message_code , shot_ck As String
If rdb_freq_auto . Checked = True Then
If IsNumeric ( shot_search ( ) ) Then
'message_code = read_info()
'If message_code <> "0" Then
' message_code = Mid(message_code, InStr(1, message_code, ",") + 1, message_code.Length)
' message_serial = Mid(message_code, 1, InStr(1, message_code, ",") - 1)
' message_code = Mid(message_code, InStr(1, message_code, ",") + 1, message_code.Length)
' message_code = Mid(message_code, 1, InStr(1, message_code, ",") - 1)
' message_code = message_code & message_serial
' td_name = td_name_load()
' If td_name.Length <> 10 Then
' td_name = Nothing
' End If
'Else
' message_code = ""
'End If
message_code = td_name_load ( )
If message_code = " 1 " Then
TH_thread . Abort ( )
MsgBox ( " 제품과의 연결이 올바르지 않습니다. 다시 시도하여 주십시오. " , vbCritical )
Exit Sub
ElseIf message_code = " 0 " Then
TH_thread . Abort ( )
MsgBox ( " TD 시리얼 번호가 존재하지 않습니다. TD 시리얼 번호를 등록하여 주십시오. " , vbCritical )
Exit Sub
Else
Maximum_Data . td_serial = message_code
End If
If txbtdnum . InvokeRequired Then
txbtdnum . Invoke ( New delegate_text ( AddressOf thread_play ) , New Object ( ) { message_code } )
'txbresult.Text = "연결중..."
Else
txbtdnum . Text = message_code
td_data_switch = False
btnrun . PerformClick ( )
If td_data_switch = True Then
btnrun . PerformClick ( )
End If
TH_thread . Abort ( )
End If
Else
If info_search = True Then
message_code = " 대기 "
If txbtdnum . InvokeRequired Then
txbtdnum . Invoke ( New delegate_text ( AddressOf thread_play ) , New Object ( ) { message_code } )
Else
txbtdnum . Text = message_code
txbfreq . Text = message_code
txbpower . Text = message_code
txbgread . Text = message_code
td_data_switch = False
End If
End If
End If
ElseIf rdb_data_check . Checked = True Then
shot_ck = shot_search ( )
If IsNumeric ( shot_ck ) And shot_ck <> " -1 " Then
message_code = " 입력중.. "
If txb_5_result . InvokeRequired Then
txb_5_result . Invoke ( New delegate_text ( AddressOf thread_play ) , New Object ( ) { message_code } )
Else
txb_5_result . Text = message_code
txb_5_result . BackColor = Color . Orange
btn_5_write . PerformClick ( )
TH_thread . Abort ( )
End If
Else
If comport_nothing = True Then
message_code = " 통신 에러 "
If txb_5_result . InvokeRequired Then
txb_5_result . Invoke ( New delegate_text ( AddressOf thread_play ) , New Object ( ) { message_code } )
Else
txb_5_result . Text = message_code
txb_5_result . BackColor = Color . Red
TH_thread . Abort ( )
End If
End If
End If
ElseIf rdb_c_mode . Checked = True Then
shot_ck = shot_search ( )
If IsNumeric ( shot_ck ) And shot_ck <> " -1 " Then
message_code = " 입력중.. "
If txbPV_SN . InvokeRequired Then
txbPV_SN . Invoke ( New delegate_text ( AddressOf thread_play ) , New Object ( ) { dotSerial } )
Else
txbcState . Text = message_code
txbPV_SN . BackColor = Color . Orange
btnc_run . PerformClick ( )
TH_thread . Abort ( )
End If
Else
If comport_nothing = True Then
message_code = " 통신 에러 "
If txbPV_SN . InvokeRequired Then
txbPV_SN . Invoke ( New delegate_text ( AddressOf thread_play ) , New Object ( ) { message_code } )
Else
txbcState . Text = message_code
txbPV_SN . BackColor = Color . Red
TH_thread . Abort ( )
End If
End If
End If
Else
shot_ck = shot_search ( )
If IsNumeric ( shot_ck ) And shot_ck <> " -1 " Then
message_code = " 입력중.. "
If txb_prod_state . InvokeRequired Then
txb_prod_state . Invoke ( New delegate_text ( AddressOf thread_play ) , New Object ( ) { message_code } )
Else
txb_prod_state . Text = message_code
txb_prod_state . BackColor = Color . Orange
btn_prod . PerformClick ( )
TH_thread . Abort ( )
End If
Else
If comport_nothing = True Then
message_code = " 통신 에러 "
If txb_prod_state . InvokeRequired Then
txb_prod_state . Invoke ( New delegate_text ( AddressOf thread_play ) , New Object ( ) { message_code } )
Else
txb_prod_state . Text = message_code
txb_prod_state . BackColor = Color . Red
TH_thread . Abort ( )
End If
End If
End If
End If
End Sub
Private Function td_name_load ( ) As String
Dim retVal As String
tmpCmdMessage = " settdsn "
cmdMessage = " [ " & tmpCmdMessage & " ] " + vbCrLf
If SendData ( cmdMessage ) Then
Return " 1 "
End If
retVal = PollingReceiveData ( 300 )
If retVal . Length = td_name_size Then
Return retVal
Else
Return " 0 "
End If
End Function
Private Sub InputTimer_Tick ( sender As Object , e As EventArgs ) Handles InputTimer . Tick
If InputCnt Then
InputCnt -= 1
Else
If rdb_prod . Checked = True Then
If txb_serial_num . Text <> " " Then
InputTimer . Enabled = False
If chbAutoMeasure . Checked Then
btn_prod_Click ( sender , e )
Else
btn_prod . Focus ( )
btn_prod . Refresh ( )
End If
End If
ElseIf rdb_freq_auto . Checked = True Then
If txb_barcode . Text <> " " Then
InputTimer . Enabled = False
If chbAutoMeasure . Checked Then
btnrun_Click ( sender , e )
Else
txb_barcode . Focus ( )
txb_barcode . Refresh ( )
End If
End If
ElseIf rdb_data_check . Checked = True Then
If txb_5_barcode . Text <> " " Then
InputTimer . Enabled = False
If chbAutoMeasure . Checked Then
btn_5_check_Click ( sender , e )
If ckb_auto_write . Checked = True And write_5_error = False Then
txb_5_result . Text = " 입력대기 "
txb_5_result . BackColor = Color . Khaki
TH_thread = New Thread ( AddressOf thread_func )
TH_thread . IsBackground = True
TH_thread . Start ( )
thread_type = True
ElseIf ckb_auto_delete . Checked = True And write_5_error = False Then
btn_5_delete_Click ( sender , e )
End If
Else
txb_5_barcode . Focus ( )
txb_5_barcode . Refresh ( )
End If
End If
Else
InputTimer . Enabled = False
If chbAutoMeasure . Checked Then
reserve = False
btnRunPD1_Click ( sender , e )
Else
btnRunPD1 . Focus ( )
btnRunPD1 . Refresh ( )
End If
End If
End If
End Sub
Private Sub OpenSerial ( )
Try
If ParaComport <> " " Then
If cmdSerialPort . IsOpen = False Then
With cmdSerialPort
. PortName = ParaComport
. BaudRate = 230400
. DataBits = 8
. Parity = IO . Ports . Parity . None
. StopBits = IO . Ports . StopBits . One
. Handshake = IO . Ports . Handshake . None
End With
cmdSerialPort . Open ( )
serial_switch = True
End If
Else
cart_timer . Enabled = False
MsgBox ( " 시리얼포트를 설정해주세요! " & vbCrLf & " " , vbCritical , " DUALSONIC T/D Selecter Tester Manager " )
serial_switch = False
End If
Catch ex As Exception
cart_timer . Enabled = False
MsgBox ( " COM 포트 에러 " & vbCrLf & " " , vbOK + vbCritical , " DUALSONIC T/D Selecter Tester Manager " )
serial_switch = False
End Try
End Sub
Private Sub txbPV_SN_TextChanged ( sender As Object , e As EventArgs ) Handles txbPV_SN . TextChanged
Dim tmpStr As String
btnc_run . Text = " 검색 "
If txbPV_SN . Text <> " " Then
cart_timer . Enabled = False
If InputCnt = 0 And chbUseBarcode . Checked = True Then
tmpStr = txbPV_SN . Text
If ( Len ( tmpStr ) > 1 ) Then
tmpStr = Mid ( tmpStr , Len ( tmpStr ) , 1 )
txbPV_SN . Clear ( )
txbPV_SN . AppendText ( tmpStr )
End If
SetInputCnt ( )
End If
reserve = False
End If
End Sub
Sub SetInputCnt ( )
InputCnt = InputCntVal
InputTimer . Enabled = True
End Sub
Private Function dotRunning ( ) As Boolean
Dim serial_number = txbPV_SN . Text
txb_grade . Text = " 출력중 "
txb_CValue . Text = " 출력중 "
nudPower . Value = 0
nudDeep . Text = 0
txb_grade . BackColor = Color . Yellow
txb_CValue . BackColor = Color . Yellow
If db_search ( serial_number ) Then
txbCapacitor . Text = info_select ( info_data . pv_freq )
txbPV_Date . Text = info_select ( info_data . pv_date )
txbPV_C . Text = info_select ( info_data . pv_cap )
txbPV_R . Text = info_select ( info_data . pv_res )
txbPV_Z . Text = info_select ( info_data . pv_imp )
txb_grade . Text = info_select ( info_data . pv_grade )
txb_CValue . Text = info_select ( info_data . pv_c )
txb_grade . BackColor = Color . Khaki
txb_CValue . BackColor = Color . Khaki
Return False
Else
txb_grade . Text = " FAIL "
txb_CValue . Text = " 번호없음 "
txb_grade . BackColor = Color . Red
txb_CValue . BackColor = Color . Red
MsgBox ( " 데이터베이스에 해당 데이터가 존재하지 않습니다. " , vbCritical )
Return True
End If
End Function
Private Function dotDBSearch ( ) As Boolean
If dotRunning ( ) Then
Return False
End If
End Function
Private Sub btnRunPD1_Click ( sender As Object , e As EventArgs ) Handles btnRunPD1 . Click , btnc_run . Click
cModeRun ( )
End Sub
Private Sub cModeRun ( )
If cmdSerialPort . IsOpen = True Then
If btnc_run . Text = " 검색 " Then
txb_grade . Text = " 대기 "
txb_CValue . Text = " 출력중 "
txb_grade . BackColor = Color . Yellow
txb_CValue . BackColor = Color . Yellow
'nudDeep.Value = 0
nudDeep . BackColor = Color . White
'nudPower.Value = 0
nudPower . BackColor = Color . White
If db_search ( txbPV_SN . Text ) Then
txbCapacitor . Text = info_select ( info_data . pv_c )
txbPV_Date . Text = info_select ( info_data . pv_date )
txbPV_C . Text = info_select ( info_data . pv_cap )
txbPV_R . Text = info_select ( info_data . pv_res )
txbPV_Z . Text = info_select ( info_data . pv_imp )
txb_grade . Text = info_select ( info_data . pv_grade )
txb_CValue . Text = info_select ( info_data . pv_freq )
txb_grade . BackColor = Color . Khaki
txb_CValue . BackColor = Color . Khaki
dotSerial = txbPV_SN . Text
btnc_run . Text = " 입력 "
txbPV_SN . BackColor = Color . Moccasin
threadOn ( )
Else
txb_grade . Text = " FAIL "
txb_CValue . Text = " 번호없음 "
txb_grade . BackColor = Color . Red
txb_CValue . BackColor = Color . Red
MsgBox ( " 데이터베이스에 해당 데이터가 존재하지 않습니다. " , vbCritical )
End If
Else
Dim nowDate As String = Format ( Now , " yy " ) & Format ( Now , " MM " )
If prod_reg_data ( " jomt " , nowDate & " 000000 " , " 30 " , " 0 " , " 0 " ) Then
If td_reg_data ( dotSerial ) Then
If sett_reg ( txb_CValue . Text , " 0 " ) Then
If dbDotReg ( txb_CValue . Text ) Then
txbPV_SN . BackColor = Color . Green
btnc_run . Text = " 검색 "
Else
txbPV_SN . BackColor = Color . Red
MsgBox ( " 데이터베이스 등록에 실패하였습니다. " , vbCritical )
End If
Else
txbPV_SN . BackColor = Color . Red
MsgBox ( " 주파수와 파워 입력에 실패하였습니다. " , vbCritical )
End If
Else
txbPV_SN . BackColor = Color . Red
MsgBox ( " 시리얼 번호 입력에 실패하였습니다. " , vbCritical )
End If
Else
txbPV_SN . BackColor = Color . Red
MsgBox ( " 기본 정보 입력에 실패하였습니다. " , vbCritical )
End If
End If
Else
MsgBox ( " 통신 포트가 연결되어 있지 않습니다! " , vbExclamation )
End If
End Sub
Private Sub threadOff ( )
TH_thread = New Thread ( AddressOf threadRunFunc )
If TH_thread . IsAlive = True Then
TH_thread . Abort ( )
End If
End Sub
Private Sub threadRunFunc ( )
Dim okNg As Boolean = False
Do Until okNg = True
Dim conCheck As String = shot_search ( )
If IsNumeric ( conCheck ) And conCheck <> " -1 " Then
commDelegateFunc = New commDelegate ( AddressOf cModeRun )
Me . Invoke ( commDelegateFunc )
okNg = True
End If
Thread . Sleep ( 1000 )
Loop
End Sub
Private Sub threadOn ( )
If cmdSerialPort . IsOpen = True Then
TH_thread = New Thread ( AddressOf threadRunFunc )
If TH_thread . IsAlive = True Then
TH_thread . Abort ( )
End If
TH_thread . IsBackground = True
TH_thread . Start ( )
End If
End Sub
Private Function dbDotReg ( freq As String ) As Boolean
Dim p_date , p_time As String
p_date = DateTime . Now . ToString ( " yyyy-MM-dd " )
p_time = DateTime . Now . ToString ( " HH:mm:ss " )
DBCmd = " UPDATE " & cartridge_table & " SET TestStep = '21',Ct_Frequency = ' " & freq & " ',Ct_Power='0',Ct_Motor_Lv='0',P1_Date=' " & p_date & " ',P1_Time=' " & p_time & " ',P1_Model='MAXIMUM',P1_CartType='SET',P1_Frequency=' " & freq & " ' WHERE PV_SN = ' " & dotSerial & " ' "
If DBCommand ( DBCmd ) Then
DBCmd = " SELECT TestStep,Ct_Power,Ct_Motor_Lv FROM " & cartridge_table & " WHERE PV_SN = ' " & dotSerial & " ' "
If DBQueryReader ( DBCmd ) Then
If sqlDataQuery . Length = 3 Then
If sqlDataQuery ( 0 ) = " 21 " And sqlDataQuery ( 1 ) = " 0 " And sqlDataQuery ( 2 ) = " 0 " Then
Return True
End If
End If
End If
End If
Return False
End Function
Private Function db_info_search ( serial_num As String ) As Boolean
DBCmd = " SELECT Ct_Power,Ct_Motor_Lv,PV_Date,PV_Frequency,PV_Impedance,PV_Capacitance,PV_Resistance,QC_Capacitor,QC_Grade FROM " & cartridge_table & " WHERE PV_SN = ' " & serial_num & " ' "
If DBQueryReader ( DBCmd ) Then
info_select ( info_data . pv_power ) = sqlDataQuery ( 0 )
info_select ( info_data . pv_depth ) = sqlDataQuery ( 1 )
info_select ( info_data . pv_date ) = sqlDataQuery ( 2 )
info_select ( info_data . pv_freq ) = sqlDataQuery ( 3 )
info_select ( info_data . pv_imp ) = sqlDataQuery ( 4 )
info_select ( info_data . pv_cap ) = sqlDataQuery ( 5 )
info_select ( info_data . pv_res ) = sqlDataQuery ( 6 )
info_select ( info_data . pv_c ) = sqlDataQuery ( 7 )
info_select ( info_data . pv_grade ) = sqlDataQuery ( 8 )
Return True
End If
Return False
End Function
Private Function db_search ( serial_id As String ) As Boolean
If reserve = False Then
If db_info_search ( serial_id ) Then
If rdb_freq_auto . Checked = True Then
reserve = True
cart_timer . Enabled = True
End If
Return True
Else
Return False
End If
Else
If info_select ( info_data . pv_grade ) = " LUX " Then
If sett_reg ( info_select ( info_data . pv_freq ) , 10 ) Then
If db_update ( ) Then
cart_timer . Enabled = False
reserve = False
txbCartridgePD1 . BackColor = Color . Green
txbCartridgePD1 . Text = " 성공 "
Return True
Else
MsgBox ( " 데이터베이스에 등록하지 못하였습니다. 연결 상태 및 데이터를 확인하여 주십시오. " , vbCritical )
Return False
End If
Else
cart_timer . Enabled = False
reserve = False
txbCartridgePD1 . BackColor = Color . Red
txbCartridgePD1 . Text = " 실패 "
MsgBox ( " 제품이 연결되지 않았습니다. 제품 전원을 켠 후 연결하여 주십시오. " , vbCritical )
Return False
End If
Else
If freq_reg ( ) Then
If db_update ( ) Then
cart_timer . Enabled = False
reserve = False
txbCartridgePD1 . BackColor = Color . Green
txbCartridgePD1 . Text = " 성공 "
Return True
Else
MsgBox ( " 데이터베이스에 등록하지 못하였습니다. 연결 상태 및 데이터를 확인하여 주십시오. " , vbCritical )
Return False
End If
Else
cart_timer . Enabled = False
reserve = False
txbCartridgePD1 . BackColor = Color . Red
txbCartridgePD1 . Text = " 실패 "
Return False
End If
End If
End If
End Function
Private Function db_update ( ) As Boolean
Dim p_date , p_time , p_freq , p_serial As String
p_date = DateTime . Now . ToString ( " yyyy-MM-dd " )
p_time = DateTime . Now . ToString ( " HH:mm:ss " )
p_freq = txbPV_FreqPD1 . Text
p_serial = txbPV_SN . Text
DBCmd = " UPDATE " & cartridge_table & " SET P1_Date = ' " & p_date & " ', P1_Time = ' " & p_time & " ', P1_Model = 'MAXIMUM', P1_Frequency = ' " & p_freq & " ' WHERE PV_SN = ' " & p_serial & " ' "
If DBCommand ( DBCmd ) Then
Return True
End If
Return False
End Function
Private Function shot_search ( ) As String
Dim retVal As String = " -1 "
tmpCmdMessage = " shotconf "
cmdMessage = " [ " & tmpCmdMessage & " ] " + vbCrLf
If SendData ( cmdMessage ) Then
Return " -1 "
End If
retVal = PollingReceiveData ( 1000 )
CsvRegData = CsvRegData & retVal . Replace ( " , " , " / " ) . Replace ( vbCrLf , " " ) & " , "
Return retVal
End Function
Private Function shot_reg ( shot As Integer ) As String
Dim retval As String
tmpCmdMessage = " shotconf "
cmdMessage = " [ " & tmpCmdMessage & " " & shot & " ] " + vbCrLf
CsvRegData = CsvRegData & cmdMessage . Replace ( " , " , " / " ) . Replace ( vbCrLf , " " ) & " , "
If SendData ( cmdMessage ) Then
Return False
End If
retval = PollingReceiveData ( 500 )
CsvRegData = CsvRegData & retval . Replace ( " , " , " / " ) . Replace ( vbCrLf , " " ) & " , "
If retval = shot Then
Return True
End If
Return False
End Function
Private Function freq_reg ( ) As Boolean
Dim retVal As String
tmpCmdMessage = " FREQCONF "
cmdMessage = " [ " & tmpCmdMessage & " " & info_select ( info_data . pv_freq ) & " ] " + vbCrLf
If SendData ( cmdMessage ) Then
Return False
End If
retVal = PollingReceiveData ( 500 )
If retVal <> txbPV_FreqPD1 . Text Then
Return False
End If
Return True
End Function
Private Function sett_reg ( freq As Int16 , power As Int16 ) As Boolean
Dim retVal As String
tmpCmdMessage = " settdcnf "
cmdMessage = " [ " & tmpCmdMessage & " " & freq & " , " & power & " ] " + vbCrLf
CsvRegData = CsvRegData & cmdMessage . Replace ( " , " , " / " ) . Replace ( vbCrLf , " " ) & " , "
If SendData ( cmdMessage ) Then
Return False
End If
retVal = PollingReceiveData ( 500 )
CsvRegData = CsvRegData & retVal . Replace ( " , " , " / " ) . Replace ( vbCrLf , " " ) & " , "
If retVal <> freq & " , " & power Then
Return False
End If
Return True
End Function
Private Function sett_data ( ) As String
Dim retval As String
tmpCmdMessage = " settdcnf "
cmdMessage = " [ " & tmpCmdMessage & " ] " + vbCrLf
If SendData ( cmdMessage ) Then
Return " 0 "
End If
retval = PollingReceiveData ( 500 )
If InStr ( 1 , retval , " , " ) > 0 Then
Return retval
Else
Return " 0 "
End If
End Function
Private Function read_info ( ) As String
Dim retval As String
tmpCmdMessage = " rdsconf1 "
cmdMessage = " [ " & tmpCmdMessage & " ] " + vbCrLf
If SendData ( cmdMessage ) Then
Return " 0 "
End If
retval = PollingReceiveData ( 2000 )
CsvRegData = CsvRegData & retval . Replace ( " , " , " / " ) . Replace ( vbCrLf , " " ) & " , "
If InStr ( 1 , retval , " , " ) > 0 Then
Return retval
Else
Return " 0 "
End If
End Function
Private Function Depth_reg ( level As Int16 ) As Boolean
Dim retval As String
tmpCmdMessage = " setdepth "
cmdMessage = " [ " & tmpCmdMessage & " " & level & " ] "
If SendData ( cmdMessage ) Then
Return False
End If
retval = PollingReceiveData ( 1000 )
If retval = level Then
Return True
End If
Return False
End Function
Private Function Motor_reg ( pulse As Integer ) As Boolean
Dim retval As String
tmpCmdMessage = " setmotor "
cmdMessage = " [ " & tmpCmdMessage & " " & pulse & " ,0,0,0,0] "
If SendData ( cmdMessage ) Then
Return False
End If
retval = PollingReceiveData ( 1000 )
If retval = pulse & " ,0,0,0,0 " Then
Return True
End If
Return False
End Function
Private Function Motor_Read ( ) As Int16
Dim retval As String
tmpCmdMessage = " setmotor "
cmdMessage = " [ " & tmpCmdMessage & " ] "
If SendData ( cmdMessage ) Then
Return False
End If
retval = PollingReceiveData ( 1000 )
If UBound ( Split ( retval , " , " ) ) = 4 Then
Return Mid ( retval , 1 , InStr ( 1 , retval , " , " ) - 1 )
End If
Return 6
End Function
Private Function SendData ( SendMessage As String ) As Boolean
Try
comport_nothing = False
If cmdSerialPort . IsOpen = True Then
cmdSerialPort . DiscardInBuffer ( )
cmdSerialPort . DiscardOutBuffer ( )
If cmdSerialPort . BytesToRead Then
cmdSerialPort . DiscardInBuffer ( )
End If
cmdSerialPort . WriteTimeout = - 1
cmdSerialPort . WriteLine ( SendMessage )
CmdTime = 0
EnableCmdTime = True
Else
cart_timer . Enabled = False
comport_nothing = True
MsgBox ( " 통신 포트가 열리지 않았습니다. " )
Return True
End If
Catch ex As Exception
Return True
End Try
Return False
End Function
Private Function PollingReceiveData ( RdTimeout As Long ) As String
Try
If cmdSerialPort . IsOpen = True Then
rxMessage = " "
cmdSerialPort . ReadTimeout = RdTimeout
rxMessage = cmdSerialPort . ReadLine ( )
Return ParsingData ( False )
Else
cart_timer . Enabled = False
MsgBox ( " 통신 포트가 열리지 않았습니다. " )
Return True
End If
Catch ex As Exception
rxMessage = " "
Return Err . Description
End Try
End Function
Private Function ParsingData ( CmdInclude As Boolean ) As String
Dim cmdStr As String
Dim cmdVal ( 0 To 6 ) As String
Dim ReturnStr As String
Dim i As Integer
Try
cmdStr = " 0 "
If rxMessage <> " " Then
cmdMessage = " "
If Mid ( rxMessage , 1 , 1 ) = " [ " Then
cmdMessage = Mid ( rxMessage , 2 , Len ( rxMessage ) )
cmdStr = Mid ( cmdMessage , 1 , ( InStr ( rxMessage , " " ) - 2 ) )
cmdMessage = Mid ( rxMessage , InStr ( rxMessage , " " ) + 1 , Len ( cmdMessage ) )
For i = 1 To 5
If InStr ( cmdMessage , " , " ) <> 0 Then
cmdVal ( i ) = Mid ( cmdMessage , 1 , InStr ( cmdMessage , " , " ) - 1 )
cmdMessage = Mid ( cmdMessage , InStr ( cmdMessage , " , " ) + 1 , Len ( cmdMessage ) )
ElseIf InStr ( cmdMessage , " ] " ) <> 0 Then
cmdVal ( i ) = Mid ( cmdMessage , 1 , InStr ( cmdMessage , " ] " ) - 1 )
'cmdMessage = Mid(cmdMessage, InStr(cmdMessage, "]") + 1, Len(cmdMessage))
Else
Exit For
End If
Next i
rxMessage = " "
If CmdInclude = True Then
ReturnStr = cmdStr & " , "
End If
If InStr ( 1 , cmdStr , " move " ) > 0 Then
cmdStr = " runmotor "
End If
Select Case cmdStr
Case " freqconf "
cmdStr = cmdVal ( 1 )
Return cmdStr
Case " settdcnf "
cmdStr = ( cmdVal ( 1 ) & " , " & cmdVal ( 2 ) )
Return cmdStr
Case " wrsconf1 "
cmdStr = cmdVal ( 1 ) & " , " & cmdVal ( 2 ) & " , " & cmdVal ( 3 ) & " , " & cmdVal ( 4 ) & " , " & cmdVal ( 5 )
Return cmdStr
Case " settdsn "
cmdStr = cmdVal ( 1 )
Return cmdStr
Case " resetinf "
cmdStr = cmdVal ( 1 )
Return cmdStr
Case " rdsconf1 "
cmdStr = cmdVal ( 1 ) & " , " & cmdVal ( 2 ) & " , " & cmdVal ( 3 ) & " , " & cmdVal ( 4 ) & " , " & cmdVal ( 5 )
Return cmdStr
Case " shotconf "
cmdStr = cmdVal ( 1 )
Return cmdStr
Case " runmotor "
Return True
Case " setdepth "
cmdStr = cmdVal ( 1 )
Return cmdStr
Case " setmotor "
cmdStr = cmdVal ( 1 ) & " , " & cmdVal ( 2 ) & " , " & cmdVal ( 3 ) & " , " & cmdVal ( 4 ) & " , " & cmdVal ( 5 )
Return cmdStr
Case Else
Return " Else "
rxMessage = " "
End Select
End If
rxMessage = " "
Return True
Else
Return False
End If
Catch ex As Exception
rxMessage = " "
Return Err . Description
End Try
End Function
Private Sub cmdSerial_Click ( sender As Object , e As EventArgs ) Handles cmdSerial . Click
If cmdSerial . Text = " 스캔 " Then
LoadComportName ( )
cmdSerial . Text = " 연결 "
Else
cmdSerialPort . Close ( )
ParaComport = cboComPort . SelectedItem
OpenSerial ( )
If serial_switch = True Then
cmdSerial . Text = " 스캔 "
save_comport ( " comport " )
MsgBox ( " 연결 완료 " , vbInformation )
Else
LoadComportName ( )
End If
End If
End Sub
Private Function save_comport ( UseCtr As String ) As Boolean
Dim filepath , comtext As String
Dim filename As String = " "
Dim reg_text As String = " "
Dim objwriter As System . IO . StreamWriter
On Error GoTo WR_File_Error
filepath = System . AppDomain . CurrentDomain . BaseDirectory ( ) & " \config "
If Dir ( filepath , vbDirectory ) = " " Then
MkDir ( filepath )
End If
Select Case UseCtr
Case " event "
filename = filepath & " \ " & " event_config " & " .ini "
For i = 0 To dgv_data . Rows . Count - 2
comtext = dgv_data . Rows ( i ) . Cells ( 0 ) . Value . ToString & " ☏ " & dgv_data . Rows ( i ) . Cells ( 1 ) . Value . ToString & " ☏ " & dgv_data . Rows ( i ) . Cells ( 2 ) . Value . ToString & " ☏ " & dgv_data . Rows ( i ) . Cells ( 3 ) . Value . ToString & " ☏§ "
reg_text = reg_text + comtext
Next
reg_text = reg_text + txbOptBasic . Text
Case " comport "
filename = filepath & " \ " & " config " & " .ini "
reg_text = cboComPort . Text & " / " & rdb_type_num & " / " & txb_code_front . Text & " / " & txb_prod1_code . Text & " / " & txb_output_6850 . Text & " / " & txb_output_7000 . Text
Case " print "
filename = filepath & " \ " & " Printer_Config " & " .ini "
reg_text = ckbAllPnt . Checked & " ☏ " & ckbEachPnt . Checked & " ☏ " & txbName1 . Text & " ☏ " & txbLabel1 . Text & " ☏ " & txbCode1 . Text & " ☏ " & txbText1 . Text & " ☏ " & txbName2 . Text & " ☏ " & txbLabel2 . Text & " ☏ " & txbText2 . Text & " ☏ "
End Select
System . IO . File . Delete ( filename )
objwriter = New System . IO . StreamWriter ( filename , True )
objwriter . Flush ( )
objwriter . WriteLine ( reg_text )
objwriter . Close ( )
Return True
WR_File_Error :
MsgBox ( " Config Save Fail! " )
Return False
End Function
Private Sub load_comport ( LoadCtr As String )
Dim filepath , filename , configStr , Str , COMPORT_NAME , front_code , prod1_code , output_6850 , output_7000 As String
Dim event_list ( ) As String
Dim objReader As System . IO . StreamReader
filepath = System . AppDomain . CurrentDomain . BaseDirectory ( ) & " \config "
If Dir ( filepath , vbDirectory ) = " " Then
MkDir ( filepath )
End If
Select Case LoadCtr
Case " event "
dgv_data . Rows . Clear ( )
filename = filepath & " \event_config.ini "
If File . Exists ( filename ) = True Then
objReader = New System . IO . StreamReader ( filename , True )
configStr = objReader . ReadLine
objReader . Close ( )
For count = UBound ( Split ( configStr , " § " ) ) To 1 Step - 1
Str = Mid ( configStr , 1 , InStr ( configStr , " § " ) - 1 )
ReDim event_list ( UBound ( Split ( Str , " ☏ " ) ) )
configStr = Mid ( configStr , InStr ( configStr , " § " ) + 1 , Len ( configStr ) )
For i = 0 To UBound ( Split ( Str , " ☏ " ) ) - 1
event_list ( i ) = Mid ( Str , 1 , InStr ( Str , " ☏ " ) - 1 )
Str = Mid ( Str , InStr ( Str , " ☏ " ) + 1 , Len ( Str ) )
Next
dgv_data . Rows . Add ( event_list )
Next
txbOptBasic . Text = configStr
End If
Case " comport "
filename = filepath & " \config.ini "
If File . Exists ( filename ) = True Then
objReader = New System . IO . StreamReader ( filename , True )
configStr = objReader . ReadLine
objReader . Close ( )
COMPORT_NAME = Mid ( configStr , 1 , InStr ( 1 , configStr , " / " ) - 1 )
configStr = Mid ( configStr , InStr ( 1 , configStr , " / " ) + 1 , configStr . Length )
rdb_type_num = Mid ( configStr , 1 , InStr ( 1 , configStr , " / " ) - 1 )
configStr = Mid ( configStr , InStr ( 1 , configStr , " / " ) + 1 , configStr . Length )
front_code = Mid ( configStr , 1 , InStr ( 1 , configStr , " / " ) - 1 )
configStr = Mid ( configStr , InStr ( 1 , configStr , " / " ) + 1 , configStr . Length )
prod1_code = Mid ( configStr , 1 , InStr ( 1 , configStr , " / " ) - 1 )
configStr = Mid ( configStr , InStr ( 1 , configStr , " / " ) + 1 , configStr . Length )
output_6850 = Mid ( configStr , 1 , InStr ( 1 , configStr , " / " ) - 1 )
output_7000 = Mid ( configStr , InStr ( 1 , configStr , " / " ) + 1 , configStr . Length )
txb_code_front . Text = front_code
txb_prod1_code . Text = prod1_code
txb_output_6850 . Text = output_6850
txb_output_7000 . Text = output_7000
For i = 0 To cboComPort . Items . Count - 1
If COMPORT_NAME = cboComPort . Items ( i ) Then
cboComPort . SelectedIndex = i
ParaComport = cboComPort . SelectedItem
OpenSerial ( )
End If
Next
Select Case rdb_type_num
Case 1
' gbc_prod.Visible = True
' gpbSpec.Visible = True
' gpbProduct1.Visible = False
' 'gb_reg_freq.Visible = False
' gb_data_info.Visible = False
' gb_prod_info.Visible = False
' gbc_prod.Enabled = True
' gpbSpec.Enabled = True
' gpbProduct1.Enabled = False
' 'gb_reg_freq.Enabled = False
' gb_data_info.Enabled = False
' gb_prod_info.Enabled = False
' rdb_c_mode.Checked = True
' rdb_freq_auto.Checked = False
' rdb_prod.Checked = False
' rdb_freq_reg.Checked = False
rdb_c_mode . Checked = True
Case 2
' gbc_prod.Visible = False
' gpbSpec.Visible = True
' gpbProduct1.Visible = True
' 'gb_reg_freq.Visible = False
' gb_data_info.Visible = False
' gb_prod_info.Visible = False
' gbc_prod.Enabled = False
' gpbSpec.Enabled = True
' gpbProduct1.Enabled = True
' 'gb_reg_freq.Enabled = False
' gb_data_info.Enabled = False
' gb_prod_info.Enabled = False
' rdb_c_mode.Checked = False
' rdb_freq_auto.Checked = True
' rdb_prod.Checked = False
' rdb_freq_reg.Checked = False
rdb_freq_auto . Checked = True
Case 3
' gbc_prod.Visible = False
' gpbSpec.Visible = False
' gpbProduct1.Visible = False
' 'gb_reg_freq.Visible = False
' gb_data_info.Visible = False
' gb_prod_info.Visible = True
' gbc_prod.Enabled = False
' gpbSpec.Enabled = False
' gpbProduct1.Enabled = False
' 'gb_reg_freq.Enabled = False
' gb_data_info.Enabled = False
' gb_prod_info.Enabled = True
' rdb_c_mode.Checked = False
' rdb_freq_auto.Checked = False
' rdb_prod.Checked = True
' rdb_freq_reg.Checked = False
rdb_prod . Checked = True
Case 4
' gbc_prod.Visible = False
' gpbSpec.Visible = False
' gpbProduct1.Visible = False
' 'gb_reg_freq.Visible = False
' gb_data_info.Visible = True
' gb_prod_info.Visible = False
' gbc_prod.Enabled = False
' gpbSpec.Enabled = False
' gpbProduct1.Enabled = False
' 'gb_reg_freq.Enabled = False
' gb_data_info.Enabled = True
' gb_prod_info.Enabled = False
' rdb_c_mode.Checked = False
' rdb_freq_auto.Checked = False
' rdb_prod.Checked = False
' rdb_freq_reg.Checked = True
rdb_freq_reg . Checked = True
Case 5
rdb_data_check . Checked = True
End Select
End If
Case " print "
filename = filepath & " \ " & " Printer_Config " & " .ini "
If File . Exists ( filename ) = True Then
objReader = New System . IO . StreamReader ( filename , True )
configStr = objReader . ReadLine ( )
objReader . Close ( )
ckbAllPnt . Checked = Mid ( configStr , 1 , InStr ( configStr , " ☏ " ) - 1 )
configStr = Mid ( configStr , InStr ( configStr , " ☏ " ) + 1 , configStr . Length )
ckbEachPnt . Checked = Mid ( configStr , 1 , InStr ( configStr , " ☏ " ) - 1 )
configStr = Mid ( configStr , InStr ( configStr , " ☏ " ) + 1 , configStr . Length )
ckbprint_use ( )
txbName1 . Text = Mid ( configStr , 1 , InStr ( configStr , " ☏ " ) - 1 )
configStr = Mid ( configStr , InStr ( configStr , " ☏ " ) + 1 , configStr . Length )
txbLabel1 . Text = Mid ( configStr , 1 , InStr ( configStr , " ☏ " ) - 1 )
configStr = Mid ( configStr , InStr ( configStr , " ☏ " ) + 1 , configStr . Length )
txbCode1 . Text = Mid ( configStr , 1 , InStr ( configStr , " ☏ " ) - 1 )
configStr = Mid ( configStr , InStr ( configStr , " ☏ " ) + 1 , configStr . Length )
txbText1 . Text = Mid ( configStr , 1 , InStr ( configStr , " ☏ " ) - 1 )
configStr = Mid ( configStr , InStr ( configStr , " ☏ " ) + 1 , configStr . Length )
txbName2 . Text = Mid ( configStr , 1 , InStr ( configStr , " ☏ " ) - 1 )
configStr = Mid ( configStr , InStr ( configStr , " ☏ " ) + 1 , configStr . Length )
txbLabel2 . Text = Mid ( configStr , 1 , InStr ( configStr , " ☏ " ) - 1 )
configStr = Mid ( configStr , InStr ( configStr , " ☏ " ) + 1 , configStr . Length )
txbText2 . Text = Mid ( configStr , 1 , InStr ( configStr , " ☏ " ) - 1 )
End If
End Select
End Sub
Private Sub ckbprint_use ( )
If ckbAllPnt . Checked = True Or ckbBoxPnt . Checked = True Or ckbWarPnt . Checked = True Then
ckbfrontprt . Checked = True
Else
ckbfrontprt . Checked = False
End If
End Sub
Private Sub LoadComportName ( )
Dim portname ( ) As String
Dim i As Integer
Try
cboComPort . Items . Clear ( )
portname = SerialPort . GetPortNames
For i = 1 To portname . Length
cboComPort . Items . Add ( portname ( i - 1 ) )
Next i
cboComPort . Text = " PRESS! "
Catch ex As Exception
MsgBox ( " COM 포트 에러 " & vbCrLf & " " , vbOK + vbCritical , " DUALSONIC T/D Selecter Tester Manager " )
cart_timer . Enabled = False
End Try
End Sub
Private Sub btnExit_Click ( sender As Object , e As EventArgs ) Handles btnExit . Click
End
End Sub
Private Sub txbPV_SN_Click ( sender As Object , e As EventArgs ) Handles txbPV_SN . Click
txbPV_SN . Text = " "
End Sub
Private Sub event_release ( )
cboselect . Items . Clear ( )
cboselect . Text = " 사항을 선택해 주세요. "
If dgv_data . Rows . Count <> 1 Then
For i = 0 To dgv_data . Rows . Count - 2
cboselect . Items . Add ( dgv_data . Rows ( i ) . Cells ( 0 ) . Value )
Next
Else
cboselect . Text = " 없음 "
End If
End Sub
Private Sub btn_option_exit_Click ( sender As Object , e As EventArgs ) Handles btn_option_exit . Click
Dim ckb_num As Int16
If option_reg_chk = True Or option_print_chk = True Then
ckb_num = MsgBox ( " 변경된 사항이 존재합니다. 저장하시겠습니까? " , vbOKCancel + vbExclamation )
If ckb_num = 1 Then
If txb_code_front . Text . Replace ( " " , " " ) = " " Then
txb_code_front . Text = " 30 "
End If
If txb_code_front . Text . Replace ( " " , " " ) = " " Or txb_prod1_code . Text . Replace ( " " , " " ) = " " Or txb_output_6850 . Text . Replace ( " " , " " ) = " " Or txb_output_7000 . Text . Replace ( " " , " " ) = " " Then
MsgBox ( " 바코드 번호 중 비어있는 칸이 존재합니다. 모든 정보를 입력하여 주십시오. " , vbExclamation )
Exit Sub
End If
If txbName1 . Text . Replace ( " " , " " ) = " " Or txbLabel1 . Text . Replace ( " " , " " ) = " " Or txbCode1 . Text . Replace ( " " , " " ) = " " Or txbText1 . Text . Replace ( " " , " " ) = " " Then
MsgBox ( " 박스 바코드 인쇄 프린터 설정란에 빈 칸이 존재합니다. 빈 칸을 채워주십시오. " , vbExclamation )
Exit Sub
End If
If txbName2 . Text . Replace ( " " , " " ) = " " Or txbLabel2 . Text . Replace ( " " , " " ) = " " Or txbText2 . Text . Replace ( " " , " " ) = " " Then
MsgBox ( " 워런티 카드 텍스트 인쇄 프린터 설정란에 빈 칸이 존재합니다. 빈 칸을 채워주십시오. " , vbExclamation )
Exit Sub
End If
If save_comport ( " event " ) Then
If save_comport ( " comport " ) Then
If save_comport ( " print " ) = False Then
MsgBox ( " 데이터를 저장하는 도중 오류가 발생하였습니다. " , vbCritical )
Exit Sub
End If
Else
MsgBox ( " 데이터를 저장하는 도중 오류가 발생하였습니다. " , vbCritical )
Exit Sub
End If
Else
MsgBox ( " 데이터를 저장하는 도중 오류가 발생하였습니다. " , vbCritical )
Exit Sub
End If
End If
End If
Me . Size = New Size ( 1040 , 785 )
gb_option . Visible = False
gpbSpec . Enabled = True
gbc_prod . Enabled = True
gbprodreg . Enabled = True
gb_prod_info . Enabled = True
gb_data_info . Enabled = True
gb_check_data . Enabled = True
gb_option . Location = New Point ( 1030 , 1 )
load_comport ( " event " )
load_comport ( " comport " )
event_release ( )
printOptionData ( )
mainOptionCkb ( )
control_page ( )
ckbprint_use ( )
End Sub
Private Sub mainOptionCkb ( )
If rdb_freq_auto . Checked = True Then
ckbfrontprt . Visible = True
ckbNonTD . Visible = False
ManagerTDUse = False
ckbfrontprt . Location = New Point ( 21 , 48 )
chbUseBarcode . Location = New Point ( 21 , 20 )
chbAutoMeasure . Location = New Point ( 156 , 20 )
ElseIf rdb_freq_reg . Checked = True Then
ckbfrontprt . Visible = False
ckbNonTD . Visible = True
ckbNonTD . Checked = True
ManagerTDUse = True
chbUseBarcode . Location = New Point ( 21 , 20 )
chbAutoMeasure . Location = New Point ( 156 , 20 )
ckbNonTD . Location = New Point ( 21 , 48 )
Else
ckbfrontprt . Visible = False
ckbNonTD . Visible = False
ManagerTDUse = False
chbUseBarcode . Location = New Point ( 21 , 30 )
chbAutoMeasure . Location = New Point ( 156 , 30 )
End If
End Sub
Private Sub control_page ( )
Select Case rdb_type_num
Case 1
gpbSpec . Visible = True
gbc_prod . Visible = True
gbprodreg . Visible = False
gb_data_info . Visible = False
gb_prod_info . Visible = False
gb_check_data . Visible = False
gbRecycle . Visible = False
gb_option . Location = New Point ( 5 , 560 )
'gbc_prod.Location = New Point(1, 221)
gbselect . Visible = False
gpbTime . Visible = True
gpbTime . Location = New Point ( 1 , 2 )
gbselect . Location = New Point ( 1 , 2 )
one_text_box ( )
one_text_refresh ( )
one_text_color ( )
one_vari_default ( )
txbPV_SN . Focus ( )
'lblCapacitor.Text = "주파수"
'lblCapacitor.Location = New Point(545, 58)
'InputCnt = 0
'InputTimer.Enabled = False
'cart_timer.Enabled = False
'reserve = False
Case 2
gpbSpec . Visible = False
gbc_prod . Visible = False
'gpbProduct1.Visible = True
gbprodreg . Visible = True
'gb_reg_freq.Visible = False
gb_data_info . Visible = False
gb_prod_info . Visible = False
gb_check_data . Visible = False
gbRecycle . Visible = False
'gb_option.Location = New Point(5, 560)
'gpbProduct1.Location = New Point(1, 221)
'lblCapacitor.Text = "C값"
'lblCapacitor.Location = New Point(565, 58)
gbselect . Visible = True
gpbTime . Visible = False
gpbTime . Location = New Point ( 1 , 2 )
gbselect . Location = New Point ( 1 , 2 )
ItemList = " TestDate,TestTime,ProdNo.,TDSerial.,Frequence,Power,TestStep,ProdReg(Send),ProdReg(Receive),ShotReg(Send),ShotReg(Receive),ShotCheck1(Receive),ShotCheck2(Receive),ShotCheck3(Receive),ShotCheck4(Receive)
"
TH_print = New Thread ( AddressOf print_func )
If TH_print . IsAlive = False Then
TH_print . IsBackground = True
TH_print . Start ( )
thread_print = True
End If
'gb_reg_freq.Visible = False
'InputCnt = 0
'InputTimer.Enabled = False
'cart_timer.Enabled = False
'reserve = False
btnreset . PerformClick ( )
ckbselect . Checked = True
Case 3
gpbSpec . Visible = False
gbc_prod . Visible = False
'gpbProduct1.Visible = False
gbprodreg . Visible = False
gb_check_data . Visible = False
gb_data_info . Visible = False
gb_check_data . Visible = False
gbRecycle . Visible = False
gb_prod_info . Visible = True
'gb_option.Location = New Point(17, 609)
'gb_reg_freq.Location = New Point(1, 79)
gbselect . Visible = False
gpbTime . Visible = True
gpbTime . Location = New Point ( 1 , 2 )
gbselect . Location = New Point ( 1 , 2 )
btn_reset . PerformClick ( )
ItemList = " TestDate,TestTime,SerialNo.,Frequence,Power,TestStep,RegData(Send),RegData(Receive),RegSerial(Send),RegSerial(Receive),RegFreqPower(Send),RegFreqPower(Receive),ReadInfo(Receive) "
Case 4
gpbSpec . Visible = False
gbc_prod . Visible = False
'gpbProduct1.Visible = False
gbprodreg . Visible = False
'gb_reg_freq.Visible = True
gb_data_info . Visible = True
gb_prod_info . Visible = False
gb_check_data . Visible = False
gbRecycle . Visible = False
'gb_option.Location = New Point(5, 650)
'gb_reg_freq.Location = New Point(1, 79)
gbselect . Visible = False
gpbTime . Visible = True
gpbTime . Location = New Point ( 1 , 2 )
gbselect . Location = New Point ( 1 , 2 )
btn_text_reset . PerformClick ( )
Case 5
gpbSpec . Visible = False
gbc_prod . Visible = False
'gpbProduct1.Visible = False
gbprodreg . Visible = False
'gb_reg_freq.Visible = True
gb_data_info . Visible = False
gb_prod_info . Visible = False
gb_check_data . Visible = True
gbRecycle . Visible = False
'gb_option.Location = New Point(5, 650)
'gb_reg_freq.Location = New Point(1, 79)
gbselect . Visible = False
gpbTime . Visible = True
gpbTime . Location = New Point ( 1 , 2 )
gbselect . Location = New Point ( 1 , 2 )
btn_5_reset . PerformClick ( )
txb_5_barcode . Focus ( )
Case 6
gpbSpec . Visible = True
gbc_prod . Visible = False
gbprodreg . Visible = False
gb_data_info . Visible = False
gb_prod_info . Visible = False
gb_check_data . Visible = False
gb_option . Location = New Point ( 5 , 560 )
'gbc_prod.Location = New Point(1, 221)
gbselect . Visible = False
gbRecycle . Visible = True
gpbTime . Visible = True
gpbTime . Location = New Point ( 1 , 2 )
gbselect . Location = New Point ( 1 , 2 )
one_text_box ( )
one_text_refresh ( )
one_text_color ( )
one_vari_default ( )
txbPV_SN . Focus ( )
End Select
End Sub
Private Sub print_func ( )
Do While thread_print
print_th_play ( )
Loop
End Sub
Private Sub print_th_play ( )
If print_OnOff Then
print_on ( txbpdnum . Text , txbCode1 . Text , txbText1 . Text , txbText2 . Text )
End If
End Sub
Private Sub btnSetup_Click ( sender As Object , e As EventArgs ) Handles btnSetup . Click
Me . Location = New Point ( 0 , 0 )
ckbselect . Checked = False
reg_text_box ( )
reg_text_refresh ( )
reg_text_color ( )
reg_btn_refresh ( )
reg_txb_visible ( )
gb_option . Visible = True
gpbSpec . Enabled = False
gbc_prod . Enabled = False
gbprodreg . Enabled = False
gb_prod_info . Enabled = False
gb_data_info . Enabled = False
gb_check_data . Enabled = False
gb_option . Location = New Point ( 1 , 1 )
option_reg_chk = False
If TH_print . IsAlive Then
TH_print . Abort ( )
End If
'If btnSetup.Text = "설정" Then
' gb_option.Visible = True
' gpbSpec.Enabled = False
' gbc_prod.Enabled = False
' 'gpbProduct1.Enabled = False
' 'gb_reg_freq.Enabled = False
' gbprodreg.Enabled = False
' gb_prod_info.Enabled = False
' gb_data_info.Enabled = False
' If rdb_freq_reg.Checked = True Then
' gb_option.Location = New Point(5, 650)
' If thread_restart = True Then
' thread_type = False
' TH_thread.Abort()
' End If
' thread_restart = True
' ElseIf rdb_prod.Checked = True Then
' gb_option.Location = New Point(17, 609)
' Else
' gb_option.Location = New Point(5, 560)
' End If
' btnSetup.Text = "완료"
'Else
' gb_option.Visible = False
' gpbSpec.Enabled = True
' gbc_prod.Enabled = True
' 'gpbProduct1.Enabled = True
' gbprodreg.Enabled = True
' 'gb_reg_freq.Enabled = True
' gb_prod_info.Enabled = True
' gb_data_info.Enabled = True
' btnSetup.Text = "설정"
' 'save_comport()
' If rdb_prod.Checked = True Then
' If thread_restart = True Then
' TH_thread = New Thread(AddressOf thread_func)
' End If
' TH_thread.IsBackground = True
' TH_thread.Start()
' thread_type = True
' txb_serial_num.Focus()
' Else
' txbPV_SN.Focus()
' End If
'End If
Me . Size = New Size ( 1940 , 785 )
gb_option . Size = New Size ( 1910 , 744 )
btPrintref_Click ( sender , e )
End Sub
Private Sub rdb_freq_auto_CheckedChanged ( sender As Object , e As EventArgs ) Handles rdb_freq_auto . CheckedChanged
rdb_type_num = 2
option_reg_chk = True
End Sub
Private Sub rdb_c_mode_CheckedChanged ( sender As Object , e As EventArgs ) Handles rdb_c_mode . CheckedChanged
rdb_type_num = 1
option_reg_chk = True
End Sub
Private Sub rdb_freq_reg_CheckedChanged ( sender As Object , e As EventArgs ) Handles rdb_freq_reg . CheckedChanged
rdb_type_num = 4
option_reg_chk = True
End Sub
Private Sub rdb_prod_CheckedChanged ( sender As Object , e As EventArgs ) Handles rdb_prod . CheckedChanged
rdb_type_num = 3
option_reg_chk = True
End Sub
Private Sub rdb_data_check_CheckedChanged ( sender As Object , e As EventArgs ) Handles rdb_data_check . CheckedChanged
rdb_type_num = 5
option_reg_chk = True
End Sub
Private Sub rdbTDRecycle_CheckedChanged ( sender As Object , e As EventArgs ) Handles rdbTDRecycle . CheckedChanged
rdb_type_num = 6
option_reg_chk = True
End Sub
'Private Sub btn_option_exit_Click(sender As Object, e As EventArgs)
' pn_option.Visible = False
' gpbTime.Visible = True
' gpbConfig.Visible = True
' btnExit.Visible = True
' gpbSpec.Visible = True
' If rdb_c_mode.Checked = True Then
' gbc_prod.Visible = True
' gpbProduct1.Visible = False
' gbc_prod.Location = New Point(1, 221)
' main_nothing()
' main_refresh()
' main_color()
' data_nothing_freq()
' data_refresh_freq()
' data_color_freq()
' data_nothing_c()
' data_refresh_c()
' data_color_c()
' lblCapacitor.Text = "주파수"
' lblCapacitor.Location = New Point(545, 58)
' cart_timer.Enabled = False
' reserve = False
' Else
' gbc_prod.Visible = False
' gpbProduct1.Visible = True
' gpbProduct1.Location = New Point(1, 221)
' main_nothing()
' main_refresh()
' main_color()
' data_nothing_freq()
' data_refresh_freq()
' data_color_freq()
' data_nothing_c()
' data_refresh_c()
' data_color_c()
' lblCapacitor.Text = "C값"
' lblCapacitor.Location = New Point(565, 58)
' cart_timer.Enabled = False
' reserve = False
' End If
' txbPV_SN.Focus()
'End Sub
Private Sub cart_timer_Tick ( sender As Object , e As EventArgs ) Handles cart_timer . Tick
'Dim message_code, message_serial As String
If rdb_prod . Checked = True Then
'If cmdSerialPort.IsOpen = True Then
' 'If check_connection() Then
' If cmdSerialPort.BytesToRead <> 0 Then
' cmdSerialPort.ReadTimeout = 0
' rxMessage = cmdSerialPort.ReadLine
' message_code = read_info()
' If message_code <> "0" Then
' message_code = Mid(message_code, InStr(1, message_code, ",") + 1, message_code.Length)
' message_serial = Mid(message_code, 1, InStr(1, message_code, ",") - 1)
' message_code = Mid(message_code, InStr(1, message_code, ",") + 1, message_code.Length)
' message_code = Mid(message_code, 1, InStr(1, message_code, ",") - 1)
' txb_prod_code.Text = message_code & message_serial
' End If
' Else
' txb_prod_code.Text = ""
' End If
'End If
If check_connection ( ) Then
btn_prod_Click ( sender , e )
End If
Else
If reserve = True Then
If check_connection ( ) Then
btnRunPD1_Click ( sender , e )
End If
End If
End If
End Sub
Private Function check_connection ( ) As String
Dim retval As String
tmpCmdMessage = " FREQCONF "
cmdMessage = " [ " & tmpCmdMessage & " ] "
If SendData ( cmdMessage ) Then
Return False
End If
retval = PollingReceiveData ( 500 )
If IsNumeric ( retval ) = True Then
Return True
Else
If rdb_prod . Checked = False Then
cart_timer . Enabled = False
MsgBox ( " 제품이 연결되지 않았습니다. 제품을 연결해 주십시오. " , vbCritical )
Return False
End If
Return False
End If
End Function
Private Sub time_timer_Tick ( sender As Object , e As EventArgs ) Handles time_timer . Tick
lblTime . Text = Now
End Sub
Private Sub txb_reg_freq_KeyPress ( sender As Object , e As KeyPressEventArgs )
If Not Char . IsDigit ( e . KeyChar ) And Not Char . IsControl ( e . KeyChar ) And Not e . KeyChar = " . " Then
e . Handled = True
End If
End Sub
Private Function freq_data ( freq As Int16 ) As Int16
If freq >= 6700 And freq <= 7200 Then
Return freq
End If
Return 0
End Function
Private Function power_data ( power As Single ) As Int16
power = power * 100
If power >= - 50 And power <= 50 Then
Return power
End If
Return 100
End Function
Private Sub txb_td_serial_GotFocus ( sender As Object , e As EventArgs ) Handles txb_td_serial . GotFocus , txb_prod_Depth . GotFocus , txb_prod_grade . GotFocus , txb_prod_power . GotFocus , txb_prod_state . GotFocus , txbStCheck . GotFocus , txbNdCheck . GotFocus , txbRdCheck . GotFocus
txb_serial_num . Focus ( )
End Sub
Private Sub btn_prod_Click ( sender As Object , e As EventArgs ) Handles btn_prod . Click
Dim output_code As String
Dim text_serial As String = txb_serial_num . Text
Dim NowDate As String = Format ( Now , " yyyy " ) & " - " & Format ( Now , " MM " ) & " - " & Format ( Now , " dd " )
Dim NowTime As String = Format ( Now , " HH " ) & " : " & Format ( Now , " mm " ) & " : " & Format ( Now , " ss " )
CsvRegData = Nothing
If text_serial = txb_prod1_code . Text Or text_serial = txb_output_6850 . Text Or text_serial = txb_output_7000 . Text Then
output_code = text_serial
text_serial = txb_code_front . Text & Format ( Now , " yy " ) & Format ( Now , " MM " ) & text_serial
Else
output_code = String . Empty
End If
If InStr ( 1 , text_serial , td_first_name ) > 0 Or InStr ( 1 , text_serial , td_first_name2 ) > 0 Then
If Maximum_Data . td_serial <> " " Or Maximum_Data . td_step <> Nothing Then
If MsgBox ( " 작업하고 있는 내용이 존재합니다. 새로 측정하시겠습니까? " , vbYesNo + vbExclamation ) = MsgBoxResult . No Then
Exit Sub
End If
End If
thr_vari_reset ( )
reset_box ( )
txb_prod_state . Text = " 대기 "
txb_prod_state . BackColor = Color . Gold
If db_info_search ( text_serial ) Then
txb_td_serial . Text = text_serial
txb_td_serial . BackColor = Color . Green
txb_prod_grade . Text = info_select ( info_data . pv_grade )
txb_prod_power . Text = Val ( info_select ( info_data . pv_power ) ) / 100
txb_prod_Depth . Text = info_select ( info_data . pv_depth )
Maximum_Data . td_serial = text_serial ''확인 요망
Maximum_Data . td_power = info_select ( info_data . pv_power )
Maximum_Data . td_Depth = info_select ( info_data . pv_depth )
txb_prod_state . Text = " TD 정보등록 "
txb_prod_state . BackColor = Color . Green
Else
txb_prod_state . Text = " TD 정보실패 "
txb_prod_state . BackColor = Color . Red
MsgBox ( " 데이터베이스에 해당 데이터가 존재하지 않습니다. " , vbCritical )
Exit Sub
End If
Else
If Maximum_Data . td_serial = " " Then
txb_prod_state . Text = " TD 정보 누락 "
txb_prod_state . BackColor = Color . Red
MsgBox ( " TD 정보를 알 수 없습니다. TD 바코드를 입력하여 주십시오. " , vbExclamation )
Exit Sub
Else
If Maximum_Data . td_serial <> " " And Maximum_Data . prod_serial <> " " Then
If prod_reg_data ( " jomt " , Maximum_Data . prod_serial , txb_code_front . Text , " 82 " , " 0 " ) Then
If td_reg_data ( Maximum_Data . td_serial ) Then
If sett_reg ( Maximum_Data . td_freq , Maximum_Data . td_power ) Then
If Motor_reg ( Maximum_Data . td_Depth ) Then
If db_data_reg ( ) Then
Maximum_Data . td_textbox . Text = " OK "
Maximum_Data . td_textbox . BackColor = Color . Green
If txbStCheck . Text = " OK " And txbNdCheck . Text = " OK " And txbRdCheck . Text = " OK " Or ckb_info . Checked = True Then
Dim ComSerial As String = read_info ( )
ComSerial = Mid ( ComSerial , InStr ( 1 , ComSerial , " , " ) + 1 , ComSerial . Length )
ComSerial = Mid ( ComSerial , 1 , InStr ( 1 , ComSerial , " , " ) - 1 )
If Maximum_Data . prod_serial = ComSerial Then
Maximum_Data . prod_serial = Nothing
txb_prod_state . Text = " 정보입력 완료 "
txb_prod_state . BackColor = Color . Green
thr_vari_reset ( )
reset_box ( )
Else
MsgBox ( " 정보입력한 데이터값과 다릅니다. 정보를 확인하여 주십시오. " , vbCritical )
End If
txb_serial_num . Focus ( )
Else
Maximum_Data . prod_serial = Nothing
txb_prod_state . Text = Maximum_Data . td_freq & " 입력 완료 "
txb_prod_state . BackColor = Color . Green
End If
Save_Csv ( NowDate & " , " & NowTime & " , " & txb_td_serial . Text & " , " & Maximum_Data . td_freq & " , " & Maximum_Data . td_power & " , " & Maximum_Data . td_step & " , " & CsvRegData , True )
Else
Maximum_Data . td_textbox . Text = " FAIL "
Maximum_Data . td_textbox . BackColor = Color . Red
txb_prod_state . Text = " 정보입력 실패 "
txb_prod_state . BackColor = Color . Red
Save_Csv ( NowDate & " , " & NowTime & " , " & text_serial & " , " & Maximum_Data . td_freq & " , " & Maximum_Data . td_power & " , " & Maximum_Data . td_step & " , " & CsvRegData , True )
MsgBox ( " 정보 입력은 완료되었으나 데이터베이스에 등록하지 못하였습니다. 다시 시도하여 주십시오. " , vbExclamation )
InputTimer . Enabled = False
End If
Else
fail_data ( Maximum_Data . td_textbox )
InputTimer . Enabled = False
End If
Else
fail_data ( Maximum_Data . td_textbox )
InputTimer . Enabled = False
End If
Else
fail_data ( Maximum_Data . td_textbox )
InputTimer . Enabled = False
End If
Else
fail_data ( Maximum_Data . td_textbox )
InputTimer . Enabled = False
End If
Else
If text_serial . Length = prod_text_count And output_code <> String . Empty Then
Maximum_Data . prod_code = Mid ( text_serial , 1 , 2 )
Maximum_Data . prod_serial = Mid ( text_serial , 3 , text_serial . Length )
If output_code = txb_output_6850 . Text Then
Maximum_Data . td_textbox = txbStCheck
Maximum_Data . td_step = 21
Maximum_Data . td_freq = 6850
ElseIf output_code = txb_output_7000 . Text Then
Maximum_Data . td_textbox = txbNdCheck
Maximum_Data . td_step = 22
Maximum_Data . td_freq = 7000
Else
Maximum_Data . td_freq = info_select ( info_data . pv_freq )
Maximum_Data . td_textbox = txbRdCheck
Maximum_Data . td_step = 23
End If
Maximum_Data . td_textbox . Text = " 입력대기 "
Maximum_Data . td_textbox . BackColor = Color . Yellow
If Maximum_Data . td_serial <> " " And Maximum_Data . prod_serial <> " " Then
txb_prod_state . Text = " 제품 연결 대기.. "
txb_prod_state . BackColor = Color . Orange
TH_thread = New Thread ( AddressOf thread_func )
TH_thread . IsBackground = True
TH_thread . Start ( )
thread_type = True
End If
Else
txb_prod_state . Text = " 잘못된 번호입력 "
txb_prod_state . BackColor = Color . Red
MsgBox ( " 잘못된 시리얼 번호를 입력하였습니다. 다시 확인하여 주십시오. " , vbCritical )
Exit Sub
End If
End If
End If
End If
End Sub
'Private Sub btn_prod_Click(sender As Object, e As EventArgs) Handles btn_prod.Click
' Dim text_serial As String
' Dim output_code As String = ""
' text_serial = txb_serial_num.Text
' If text_serial = txb_prod1_code.Text Or text_serial = txb_output_6850.Text Or text_serial = txb_output_7000.Text Then
' output_code = text_serial
' text_serial = txb_code_front.Text & Format(Now, "yy") & Format(Now, "MM") & text_serial
' End If
' If Maximum_Data.td_serial = "" Or Maximum_Data.prod_serial = "" Then
' If InStr(1, text_serial, td_first_name) > 0 Then
' If db_info_search(text_serial) Then
' txb_td_serial.Text = text_serial
' txb_td_serial.BackColor = Color.Green
' txb_prod_freq.Text = info_select(info_data.pv_freq)
' txb_prod_grade.Text = info_select(info_data.pv_grade)
' If txb_prod_grade.Text = "LUX" Then
' txb_prod_power.Text = 0.1
' Else
' txb_prod_power.Text = 0
' End If
' Maximum_Data.td_serial = text_serial
' Maximum_Data.td_freq = info_select(info_data.pv_freq)
' Maximum_Data.td_power = txb_prod_power.Text * 100
' txb_prod_state.Text = "TD 정보등록"
' txb_prod_state.BackColor = Color.Green
' If Maximum_Data.td_serial <> "" And Maximum_Data.prod_serial <> "" Then
' txb_prod_state.Text = "제품 연결 대기.."
' txb_prod_state.BackColor = Color.Orange
' TH_thread = New Thread(AddressOf thread_func)
' TH_thread.IsBackground = True
' TH_thread.Start()
' thread_type = True
' End If
' Else
' txb_prod_state.Text = "TD 정보실패"
' txb_prod_state.BackColor = Color.Red
' MsgBox("데이터베이스에 해당 데이터가 존재하지 않습니다.", vbCritical)
' End If
' ElseIf text_serial.Length = prod_text_count Then
' txb_prod_serial.Text = text_serial
' txb_prod_serial.BackColor = Color.Green
' Maximum_Data.prod_code = Mid(text_serial, 1, 2)
' Maximum_Data.prod_serial = Mid(text_serial, 3, text_serial.Length)
' txb_prod_state.Text = "제품 정보등록"
' txb_prod_state.BackColor = Color.Green
' If Maximum_Data.td_serial <> "" And Maximum_Data.prod_serial <> "" Then
' txb_prod_state.Text = "제품 연결 대기.."
' txb_prod_state.BackColor = Color.Orange
' TH_thread = New Thread(AddressOf thread_func)
' TH_thread.IsBackground = True
' TH_thread.Start()
' thread_type = True
' End If
' Else
' txb_prod_state.Text = "잘못된 번호입력"
' txb_prod_state.BackColor = Color.Red
' MsgBox("잘못된 시리얼 번호를 입력하였습니다. 다시 확인하여 주십시오.", vbCritical)
' End If
' Else
' 'If data_reset() Then
' If output_code = txb_output_6850.Text Then
' Maximum_Data.td_step = 21
' Maximum_Data.td_freq = 6850
' Maximum_Data.td_power = 0
' ElseIf output_code = txb_output_7000.Text Then
' Maximum_Data.td_step = 22
' Maximum_Data.td_freq = 7000
' Maximum_Data.td_power = 0
' Else
' Maximum_Data.td_step = 23
' End If
' If prod_reg_data("jomt", Maximum_Data.prod_serial, txb_code_front.Text, "82", "0") Then
' If td_reg_data(Maximum_Data.td_serial) Then
' If sett_reg(Maximum_Data.td_freq, Maximum_Data.td_power) Then
' If db_data_reg() Then
' txb_td_serial.BackColor = Color.Green
' txb_prod_serial.BackColor = Color.Green
' txb_prod_state.Text = "정보입력 완료"
' txb_prod_state.BackColor = Color.Green
' thr_vari_reset()
' reset_box()
' txb_serial_num.Focus()
' Else
' txb_td_serial.BackColor = Color.Red
' txb_prod_serial.BackColor = Color.Red
' txb_prod_state.Text = "정보입력 실패"
' txb_prod_state.BackColor = Color.Red
' MsgBox("정보 입력은 완료되었으나 데이터베이스에 등록하지 못하였습니다. 다시 시도하여 주십시오.", vbExclamation)
' InputTimer.Enabled = False
' End If
' Else
' fail_data()
' InputTimer.Enabled = False
' End If
' Else
' fail_data()
' InputTimer.Enabled = False
' End If
' Else
' fail_data()
' InputTimer.Enabled = False
' End If
' 'Else
' ' fail_data()
' ' InputTimer.Enabled = False
' 'End If
' End If
'End Sub
Private Sub fail_data ( txtBox As TextBox )
txb_td_serial . BackColor = Color . Red
txtBox . BackColor = Color . Red
txb_prod_state . Text = " 정보입력 실패 "
txb_prod_state . BackColor = Color . Red
MsgBox ( " 제품과의 연결이 올바르지 않습니다. 연결 상태를 확인하여 주십시오. " , vbCritical )
End Sub
Private Function data_reset ( ) As Boolean
Dim retval As String
tmpCmdMessage = " resetinf "
cmdMessage = " [ " & tmpCmdMessage & " ] " + vbCrLf
If SendData ( cmdMessage ) Then
Return False
End If
retval = PollingReceiveData ( 1500 )
If retval <> " ok " Then
Return False
End If
Return True
End Function
Private Function td_reg_data ( td_reg_serial As String ) As Boolean
Dim retval As String
tmpCmdMessage = " settdsn "
cmdMessage = " [ " & tmpCmdMessage & " " & td_reg_serial & " ] " + vbCrLf
CsvRegData = CsvRegData & cmdMessage . Replace ( " , " , " / " ) . Replace ( vbCrLf , " " ) & " , "
If SendData ( cmdMessage ) Then
Return False
End If
retval = PollingReceiveData ( 1500 )
CsvRegData = CsvRegData & retval . Replace ( " , " , " / " ) . Replace ( vbCrLf , " " ) & " , "
If retval <> td_reg_serial . ToLower Then
Return False
End If
Return True
End Function
Private Function prod_reg_data ( factory As String , prod_serial As String , prod_code As String , area As String , abroad As String ) As Boolean
Dim retVal As String
tmpCmdMessage = " wrsconf1 "
cmdMessage = " [ " & tmpCmdMessage & " " & factory & " , " & prod_serial & " , " & prod_code & " , " & area & " , " & abroad & " ] " + vbCrLf
CsvRegData = CsvRegData & cmdMessage . Replace ( " , " , " / " ) . Replace ( vbCrLf , " " ) & " , "
If SendData ( cmdMessage ) Then
Return False
End If
retVal = PollingReceiveData ( 2000 )
CsvRegData = CsvRegData & retVal . Replace ( " , " , " / " ) . Replace ( vbCrLf , " " ) & " , "
If retVal <> factory . ToLower & " , " & prod_serial & " , " & prod_code & " , " & area & " , " & abroad Then
Return False
End If
Return True
End Function
Private Sub reset_box ( )
txb_td_serial . Text = " 대기 "
txb_td_serial . BackColor = DefaultBackColor
txb_prod_Depth . Text = " 대기 "
txb_prod_Depth . BackColor = DefaultBackColor
txb_prod_grade . Text = " 대기 "
txb_prod_grade . BackColor = DefaultBackColor
txb_prod_power . Text = " 대기 "
txb_prod_power . BackColor = DefaultBackColor
txbStCheck . Text = " 대기 "
txbStCheck . BackColor = DefaultBackColor
txbNdCheck . Text = " 대기 "
txbNdCheck . BackColor = DefaultBackColor
txbRdCheck . Text = " 대기 "
txbRdCheck . BackColor = DefaultBackColor
End Sub
Private Sub btn_reset_Click ( sender As Object , e As EventArgs ) Handles btn_reset . Click
two_text_box ( )
two_text_refresh ( )
two_text_color ( )
two_btn_refresh ( )
thr_vari_reset ( )
txb_serial_num . Focus ( )
End Sub
Private Sub txb_serial_num_TextChanged ( sender As Object , e As EventArgs ) Handles txb_serial_num . TextChanged
Dim tmpStr As String
If InputCnt = 0 And chbUseBarcode . Checked = True Then
tmpStr = txb_serial_num . Text
If ( Len ( tmpStr ) > 1 ) Then
tmpStr = Mid ( tmpStr , Len ( tmpStr ) , 1 )
txb_serial_num . Clear ( )
txb_serial_num . AppendText ( tmpStr )
End If
SetInputCnt ( )
End If
End Sub
Private Sub txb_serial_num_Click ( sender As Object , e As EventArgs ) Handles txb_serial_num . Click
txb_serial_num . Text = " "
End Sub
Private Function db_data_reg ( ) As Boolean
Dim p_date , p_time As String
p_date = DateTime . Now . ToString ( " yyyy-MM-dd " )
p_time = DateTime . Now . ToString ( " HH:mm:ss " )
DBCmd = " UPDATE " & cartridge_table & " SET TestStep = ' " & Maximum_Data . td_step & " ', Ct_Manufacture_Name = 'JOMT', Ct_Manufacture_Year = ' " & Format ( Now , " yy " ) & " ', Ct_Manufacture_Month = ' " & Format ( Now , " MM " ) & " ', Ct_Model = 'MAXIMUM', Ct_Type = 'SET', Ct_Abroad = '82', Ct_Agency = '0' , Ct_Frequency = ' " & Maximum_Data . td_freq & " ', Ct_Power = ' " & Maximum_Data . td_power & " ', Ct_Motor_Lv = ' " & Maximum_Data . td_Depth & " ' , P1_Date = ' " & p_date & " ', P1_Time = ' " & p_time & " ', P1_Model = 'MAXIMUM',P1_CartType = 'SET', P1_Frequency = ' " & Maximum_Data . td_freq & " ' WHERE PV_SN = ' " & Maximum_Data . td_serial & " ' "
If DBCommand ( DBCmd ) Then
DBCmd = " SELECT TestStep FROM " & cartridge_table & " WHERE PV_SN = ' " & Maximum_Data . td_serial & " ' "
If Maximum_Data . td_step = DBQueryScalar ( DBCmd ) Then
Return True
Else
Return False
End If
End If
Return False
End Function
Private Sub btn_info_write_Click ( sender As Object , e As EventArgs ) Handles btn_info_write . Click
Dim tmpStrSN , fir_serial , sec_serial , area_code , abr_code , td_name As String
Dim i As Int16
Dim stageCnt As Integer
Dim db_reg_swt As Boolean = False
Try
If txbFactory . Text = " " Then txbFactory . Text = " jomt "
If txbFactory . Text = " " Or nudSN . Text = " " Or nudYear . Text = " " Or nudMonth . Text = " " Then
stageCnt = 0
MsgBox ( " 정보가 부족합니다. 빈칸을 채워주세요. " , vbExclamation )
GoTo FailExit
End If
txbInfoBox . Visible = True
txbInfoBox . Text = " RUNNING "
txbInfoBox . BackColor = Color . GreenYellow
txbInfoBox . Refresh ( )
If ManagerTDUse = True Then
If rdbV1 . Checked = False And rdbV2 . Checked = False Then
stageCnt = 0
MsgBox ( " 타입을 설정하지 않으셨습니다. " , vbExclamation )
GoTo FailExit
End If
End If
td_name = td_name_load ( )
If ckb_db_use . Checked = True And td_name = " 1 " Or td_name = " 0 " Then
stageCnt = 1
MsgBox ( " TD 시리얼 번호를 등록하지 않았습니다. " & vbCrLf & " TD 시리얼 번호를 먼저 입력하여 주십시오. " , vbExclamation )
GoTo FailExit
Else
If ckb_db_use . Checked = True And td_Serial_db ( td_name ) = 0 Then
stageCnt = 1
MsgBox ( " TD 시리얼 번호가 데이터베이스에 존재하지 않습니다. " & vbCrLf & " TD 시리얼 번호를 확인하여 주십시오. " , vbExclamation )
GoTo FailExit
End If
i = Len ( nudSN . Text )
tmpStrSN = nudSN . Text
If tmpStrSN = " 0 " Then
db_reg_swt = True
End If
For cnt = i To 5
tmpStrSN = " 0 " + tmpStrSN
Next cnt
fir_serial = Mid ( tmpStrSN , 1 , 3 )
sec_serial = Mid ( tmpStrSN , 4 , 6 )
Dim ModeSet As String
If rdbV1 . Checked = True Then
ModeSet = " 0 "
Else
ModeSet = " 1 "
End If
ModeSet = " 3 " & ModeSet
If Len ( nudMonth . Text ) = 2 Then
tmpStrSN = nudYear . Text & nudMonth . Text & tmpStrSN
txbBarcode . Text = ModeSet & nudYear . Text & nudMonth . Text & sec_serial & fir_serial
ElseIf Len ( nudMonth . Text ) = 1 Then
tmpStrSN = nudYear . Text & " 0 " & nudMonth . Text & tmpStrSN
txbBarcode . Text = ModeSet & nudYear . Text & " 0 " & nudMonth . Text & sec_serial & fir_serial
Else
stageCnt = 2
GoTo FailExit
End If
If ckb_db_use . Checked = True Then
If prod_info_dup_check ( txbBarcode . Text , td_name ) Then
MsgBox ( " 데이터베이스에 같은 제품 시리얼 번호가 존재합니다. " , vbCritical )
stageCnt = 3
GoTo FailExit
End If
End If
area_code = read_info ( )
If area_code <> " 0 " Then
abr_code = Mid ( area_code , InStrRev ( area_code , " , " , area_code . Length ) + 1 , area_code . Length )
area_code = Mid ( area_code , 1 , InStrRev ( area_code , " , " , area_code . Length ) - 1 )
area_code = Mid ( area_code , InStrRev ( area_code , " , " , area_code . Length ) + 1 , area_code . Length )
Else
area_code = " 82 "
abr_code = " 0 "
End If
If prod_reg_data ( txbFactory . Text , tmpStrSN , ModeSet , area_code , abr_code ) Then
If db_reg_swt = True Then
If prod_db_delete ( td_name ) Then
txbInfoBox . Text = " SUCCESS "
txbInfoBox . BackColor = Color . Green
GoTo SuccessExit
Else
stageCnt = 6
GoTo FailExit
End If
Else
If prod_serial_db ( txbBarcode . Text , txbFactory . Text , nudYear . Text , nudMonth . Text , nudSN . Text , td_name ) Then
txbInfoBox . Text = " SUCCESS "
txbInfoBox . BackColor = Color . Green
GoTo SuccessExit
Else
stageCnt = 5
GoTo FailExit
End If
End If
End If
stageCnt = 4
GoTo FailExit
End If
Catch ex As Exception
stageCnt = 7
GoTo FailExit
End Try
FailExit :
txbInfoBox . Text = " Timeout " + Str ( stageCnt )
txbInfoBox . BackColor = Color . Red
SuccessExit :
txbInfoBox . Refresh ( )
End Sub
Private Function prod_dup_check ( prod_id As String ) As Int16
Dim prod_count As Int16
DBCmd = " SELECT COUNT(Product_SN) FROM " & cartridge_table & " WHERE Product_SN = ' " & prod_id & " ' "
prod_count = DBQueryScalar ( DBCmd )
If prod_count = 0 Then
Return False
End If
Return True
End Function
Private Function prod_info_dup_check ( prod_id As String , td_serial As String ) As Int16
Dim prod_count As Int16
Dim td_sn As String
Dim UseData As String
If ManagerTDUse = True Then
UseData = cartridge_table
Else
UseData = NonCartridge_table
End If
DBCmd = " SELECT COUNT(Product_SN), PV_SN FROM " & UseData & " WHERE Product_SN = ' " & prod_id & " ' "
If DBQueryReader ( DBCmd ) Then
prod_count = sqlDataQuery ( 0 )
td_sn = sqlDataQuery ( 1 )
Else
Return True
End If
If td_sn <> td_serial . ToUpper And prod_count > 0 Then
Return True
End If
Return False
End Function
Private Function prod_serial_db ( prod_seiral_data As String , factory_code As String , make_year As String , make_month As String , sn_code As String , td_Serial As String ) As Boolean
If ckb_db_use . Checked = True Then
DBCmd = " UPDATE " & cartridge_table & " SET Product_SN = ' " & prod_seiral_data & " ', Ct_Manufacture_Name = ' " & factory_code . ToUpper & " ', Ct_Manufacture_Year = ' " & make_year & " ', Ct_Manufacture_Month = ' " & make_month & " ', Ct_SN = ' " & sn_code & " ', Ct_Model = 'MAXIMUM', Ct_Type = 'SET', Ct_Remain_ShotCnt = 0 WHERE PV_SN = ' " & td_Serial & " ' "
If DBCommand ( DBCmd ) Then
Return True
End If
Return False
Else
Return True
End If
End Function
Private Function prod_db_delete ( prod_serial_data As String ) As Boolean
If ckb_db_use . Checked = True Then
DBCmd = " UPDATE " & cartridge_table & " SET TestStep = '23', Product_SN=NULL, Ct_Manufacture_Name=NULL, Ct_Manufacture_Year = NULL, Ct_Manufacture_Month = NULL, Ct_SN = NULL, Ct_Abroad = NULL, Ct_Agency = NULL WHERE PV_SN = ' " & prod_serial_data & " ' "
If DBCommand ( DBCmd ) Then
Return True
End If
Return False
Else
Return True
End If
End Function
Private Sub btn_info_read_Click ( sender As Object , e As EventArgs ) Handles btn_info_read . Click
Dim data_serial , make_code , year , month , full_serial As String
Dim stageCnt As Int16
Try
txbInfoBox . Visible = True
txbInfoBox . Text = " RUNNING "
txbInfoBox . BackColor = Color . GreenYellow
txbInfoBox . Refresh ( )
data_serial = read_info ( )
If data_serial = " 0 " Then
stageCnt = 0
GoTo FailExit
Else
make_code = Mid ( data_serial , 1 , InStr ( 1 , data_serial , " , " ) - 1 )
full_serial = Mid ( data_serial , InStr ( 1 , data_serial , " , " ) + 1 , data_serial . Length )
data_serial = Mid ( full_serial , 1 , InStr ( 1 , full_serial , " , " ) - 1 )
full_serial = Mid ( full_serial , InStr ( 1 , full_serial , " , " ) + 1 , full_serial . Length )
full_serial = Mid ( full_serial , 1 , InStr ( 1 , full_serial , " , " ) - 1 )
year = Mid ( data_serial , 1 , 2 )
data_serial = Mid ( data_serial , 3 , data_serial . Length )
month = Mid ( data_serial , 1 , 2 )
data_serial = Mid ( data_serial , 3 , data_serial . Length )
If ckbNonTD . Checked = True Then
Dim ModeSet As String = Mid ( full_serial , 2 , 1 )
If ModeSet = " 0 " Then
rdbV1 . Checked = True
rdbV2 . Checked = False
Else
rdbV1 . Checked = False
rdbV2 . Checked = True
End If
Else
rdbV1 . Checked = False
rdbV2 . Checked = False
End If
full_serial = full_serial & year & month & Mid ( data_serial , 4 , 3 ) & Mid ( data_serial , 1 , 3 )
data_serial = data_serial
txbBarcode . Text = full_serial
txbFactory . Text = make_code
nudYear . Text = year
nudMonth . Text = month
nudSN . Text = data_serial
End If
GoTo SuccessExit
Catch ex As Exception
txbBarcode . Text = Nothing
txbFactory . Text = Nothing
nudSN . Text = Nothing
nudYear . Text = Nothing
nudMonth . Text = Nothing
stageCnt = 1
GoTo FailExit
End Try
FailExit :
txbInfoBox . Text = " Timeout " + Str ( stageCnt )
txbInfoBox . BackColor = Color . Red
txbInfoBox . Refresh ( )
Exit Sub
SuccessExit :
txbInfoBox . Text = " SUCCESS "
txbInfoBox . BackColor = Color . Green
txbInfoBox . Refresh ( )
Exit Sub
End Sub
Private Sub btn_area_write_Click ( sender As Object , e As EventArgs ) Handles btn_area_write . Click
Dim data_list , make_code , data_serial , full_serial , td_name As String
Dim stageCnt As Int16
Try
If txb_area_code . Text = " " Or txb_abr_code . Text = " " Then
MsgBox ( " 정보가 부족합니다. 빈칸을 채워주세요. " , vbExclamation )
stageCnt = 0
GoTo FailExit
End If
txb_areabox . Visible = True
txb_areabox . Text = " RUNNING "
txb_areabox . BackColor = Color . GreenYellow
txb_areabox . Refresh ( )
td_name = td_name_load ( )
If ckb_db_use . Checked = True And td_name = " 1 " Or td_name = " 0 " Then
stageCnt = 1
MsgBox ( " TD 시리얼 번호를 등록하지 않았습니다. " & vbCrLf & " TD 시리얼 번호를 먼저 입력하여 주십시오. " , vbExclamation )
GoTo FailExit
End If
If ckb_db_use . Checked = True And td_Serial_db ( td_name ) = 0 Then
stageCnt = 1
MsgBox ( " TD 시리얼 번호가 데이터베이스에 존재하지 않습니다. " & vbCrLf & " TD 시리얼 번호를 확인하여 주십시오. " , vbExclamation )
GoTo FailExit
End If
data_list = read_info ( )
If data_list <> " 0 " Then
make_code = Mid ( data_list , 1 , InStr ( 1 , data_list , " , " ) - 1 )
If make_code = " " Then
MsgBox ( " 제품 시리얼 번호를 등록하지 않았습니다. " & vbCrLf & " 시리얼 번호를 먼저 등록하여 주십시오. " , vbExclamation )
stageCnt = 3
GoTo FailExit
Else
full_serial = Mid ( data_list , InStr ( 1 , data_list , " , " ) + 1 , data_list . Length )
data_serial = Mid ( full_serial , 1 , InStr ( 1 , full_serial , " , " ) - 1 )
full_serial = Mid ( full_serial , InStr ( 1 , full_serial , " , " ) + 1 , full_serial . Length )
full_serial = Mid ( full_serial , 1 , InStr ( 1 , full_serial , " , " ) - 1 )
If prod_reg_data ( make_code , data_serial , full_serial , txb_area_code . Text , txb_abr_code . Text ) Then
If area_num_db ( txb_area_code . Text , txb_abr_code . Text , td_name ) Then
GoTo SuccessExit
Else
stageCnt = 5
GoTo FailExit
End If
Else
stageCnt = 4
GoTo FailExit
End If
End If
Else
stageCnt = 2
GoTo FailExit
End If
Catch ex As Exception
stageCnt = 6
GoTo FailExit
End Try
FailExit :
txb_areabox . Text = " Timeout " + Str ( stageCnt )
txb_areabox . BackColor = Color . Red
txb_areabox . Refresh ( )
Exit Sub
SuccessExit :
txb_areabox . Text = " SUCCESS "
txb_areabox . BackColor = Color . Green
txb_areabox . Refresh ( )
Exit Sub
End Sub
Private Function area_num_db ( area_num As String , abr_num As String , td_serial As String ) As Boolean
If ckb_db_use . Checked = True Then
DBCmd = " UPDATE " & cartridge_table & " SET Ct_Abroad = ' " & area_num & " ' , Ct_Agency = ' " & abr_num & " ' WHERE PV_SN = ' " & td_serial & " ' "
If DBCommand ( DBCmd ) Then
Return True
End If
Return False
Else
Return True
End If
End Function
Private Sub btn_area_read_Click ( sender As Object , e As EventArgs ) Handles btn_area_read . Click
Dim data_list , make_code , abr_code As String
Dim stageCnt As Int16
Try
txb_areabox . Visible = True
txb_areabox . Text = " RUNNING "
txb_areabox . BackColor = Color . GreenYellow
txb_areabox . Refresh ( )
data_list = read_info ( )
If data_list <> " 0 " Then
make_code = Mid ( data_list , 1 , InStr ( 1 , data_list , " , " ) - 1 )
If make_code = " " Then
MsgBox ( " 제품 시리얼 번호를 등록하지 않았습니다. " & vbCrLf & " 시리얼 번호를 먼저 등록하여 주십시오. " , vbExclamation )
stageCnt = 2
GoTo FailExit
Else
abr_code = Mid ( data_list , InStrRev ( data_list , " , " , data_list . Length ) + 1 , data_list . Length )
data_list = Mid ( data_list , 1 , InStrRev ( data_list , " , " , data_list . Length ) - 1 )
data_list = Mid ( data_list , InStrRev ( data_list , " , " , data_list . Length ) + 1 , data_list . Length )
txb_area_code . Text = data_list
txb_abr_code . Text = abr_code
GoTo SuccessExit
End If
Else
stageCnt = 1
GoTo FailExit
End If
Catch ex As Exception
stageCnt = 3
GoTo FailExit
End Try
FailExit :
txb_areabox . Text = " Timeout " + Str ( stageCnt )
txb_areabox . BackColor = Color . Red
txb_areabox . Refresh ( )
Exit Sub
SuccessExit :
txb_areabox . Text = " SUCCESS "
txb_areabox . BackColor = Color . Green
txb_areabox . Refresh ( )
Exit Sub
End Sub
Private Sub btn_today_Click ( sender As Object , e As EventArgs ) Handles btn_today . Click
nudYear . Text = Format ( Now , " yy " )
nudMonth . Text = Format ( Now , " MM " )
End Sub
Private Function check_prod_code ( ) As String
Dim prod_code As String
prod_code = read_info ( )
If prod_code = " 0 " Then
Return " 0 "
End If
prod_code = Mid ( prod_code , InStr ( 1 , prod_code , " , " ) + 1 , prod_code . Length )
prod_code = Mid ( prod_code , 1 , InStr ( 1 , prod_code , " , " ) - 1 )
Return prod_code
End Function
Private Sub btn_td_write_Click ( sender As Object , e As EventArgs ) Handles btn_td_write . Click
Dim freq As Int16
Dim power As Single
Dim stageCnt As Int16
Dim serial_num As String
Try
txb_tdBox . Visible = True
txb_tdBox . Text = " RUNNING "
txb_tdBox . BackColor = Color . GreenYellow
txb_tdBox . Refresh ( )
If ManagerTDUse = True Then
If txb_tds . Text = " " Or txb_tdf . Text = " " Or txb_tdp . Text = " " Or txb_tds . Text . Length <> td_name_size Or txb_tdf . Text . Length <> td_freq_size Then
MsgBox ( " 정보가 부족합니다. 빈칸을 채워주세요. " , vbExclamation )
stageCnt = 0
GoTo FailExit
Else
If check_prod_code ( ) = " 0 " Then
serial_num = Format ( Now , " yy " ) & Format ( Now , " MM " ) & " 000000 "
If prod_reg_data ( " jomt " , serial_num , " 30 " , " 82 " , " 0 " ) = False Then
stageCnt = 1
GoTo FailExit
End If
End If
If td_Serial_db ( txb_tds . Text ) Then
freq = freq_data ( txb_tdf . Text )
power = power_data ( txb_tdp . Text )
If freq = 0 Or power = 100 Then
stageCnt = 3
GoTo FailExit
End If
Else
stageCnt = 2
MsgBox ( " TD 시리얼 번호가 데이터베이스에 존재하지 않습니다. " & vbCrLf & " TD 시리얼 번호를 확인하여 주십시오. " , vbExclamation )
GoTo FailExit
End If
End If
If sett_reg ( freq , power ) Then
If td_reg_data ( txb_tds . Text ) Then
If td_serial_update ( freq , power , txb_tds . Text ) Then
GoTo SuccessExit
Else
stageCnt = 6
GoTo FailExit
End If
Else
stageCnt = 5
GoTo FailExit
End If
Else
stageCnt = 4
GoTo FailExit
End If
Else
If txb_tds . Text = " " Or txb_tds . Text . Length <> td_name_size Then
MsgBox ( " 정보가 부족합니다. 빈칸을 채워주세요. " , vbExclamation )
stageCnt = 0
GoTo FailExit
Else
If check_prod_code ( ) = " 0 " Then
serial_num = Format ( Now , " yy " ) & Format ( Now , " MM " ) & " 000000 "
If prod_reg_data ( " jomt " , serial_num , " 30 " , " 82 " , " 0 " ) = False Then
stageCnt = 1
GoTo FailExit
End If
End If
If td_Serial_db ( txb_tds . Text ) Then
If td_reg_data ( txb_tds . Text ) Then
GoTo SuccessExit
Else
stageCnt = 5
GoTo FailExit
End If
Else
stageCnt = 2
MsgBox ( " TD 시리얼 번호가 데이터베이스에 존재하지 않습니다. " & vbCrLf & " TD 시리얼 번호를 확인하여 주십시오. " , vbExclamation )
GoTo FailExit
End If
End If
End If
Catch ex As Exception
stageCnt = 7
GoTo FailExit
End Try
FailExit :
txb_tdBox . Text = " Timeout " + Str ( stageCnt )
txb_tdBox . BackColor = Color . Red
txb_tdBox . Refresh ( )
Exit Sub
SuccessExit :
txb_tdBox . Text = " SUCCESS "
txb_tdBox . BackColor = Color . Green
txb_tdBox . Refresh ( )
Exit Sub
End Sub
Private Function td_serial_update ( freq As String , power As String , td_serial As String ) As Boolean
If ckb_db_use . Checked = True Then
DBCmd = " UPDATE " & cartridge_table & " SET Ct_Frequency = ' " & freq & " ' , Ct_Power = ' " & power & " ' WHERE PV_SN = ' " & td_serial & " ' "
If DBCommand ( DBCmd ) Then
DBCmd = " SELECT Ct_Frequency,Ct_Power FROM " & cartridge_table & " WHERE PV_SN = ' " & td_serial & " ' "
If DBQueryReader ( DBCmd ) Then
If sqlDataQuery . Length = 2 Then
If sqlDataQuery ( 0 ) = freq And sqlDataQuery ( 1 ) = power Then
Return True
End If
End If
End If
End If
Else
Return True
End If
Return False
End Function
Private Function td_Serial_db ( td_serial As String ) As Int16
Dim sn_count As Int16
Dim UseDB As String
If ManagerTDUse = True Then
UseDB = cartridge_table
Else
UseDB = NonCartridge_table
End If
If ckb_db_use . Checked = True Then
DBCmd = " SELECT count(PV_SN) FROM " & UseDB & " WHERE PV_SN = ' " & td_serial & " ' "
sn_count = DBQueryScalar ( DBCmd )
Return sn_count
Else
Return 1
End If
End Function
Private Sub btn_td_read_Click ( sender As Object , e As EventArgs ) Handles btn_td_read . Click
Dim td_name , freq , power As String
Dim stageCnt As Int16
Try
txb_tdBox . Visible = True
txb_tdBox . Text = " RUNNING "
txb_tdBox . BackColor = Color . GreenYellow
txb_tdBox . Refresh ( )
td_name = td_name_load ( )
If td_name = " 1 " Then
stageCnt = 0
GoTo FailExit
Else
If ckbNonTD . Checked = True Then
freq = sett_data ( )
If freq = " 0 " Then
stageCnt = 2
GoTo FailExit
Else
power = Mid ( freq , InStrRev ( freq , " , " , freq . Length ) + 1 , freq . Length ) / 100
freq = Mid ( freq , 1 , InStr ( 1 , freq , " , " ) - 1 )
txb_tds . Text = td_name
txb_tdf . Text = freq
txb_tdp . Text = power
GoTo SuccessExit
End If
Else
txb_tds . Text = td_name
txb_tdf . Text = " 0 "
txb_tdp . Text = " 0 "
GoTo SuccessExit
End If
End If
Catch ex As Exception
stageCnt = 3
GoTo FailExit
End Try
FailExit :
txb_tdBox . Text = " Timeout " + Str ( stageCnt )
txb_tdBox . BackColor = Color . Red
txb_tdBox . Refresh ( )
Exit Sub
SuccessExit :
txb_tdBox . Text = " SUCCESS "
txb_tdBox . BackColor = Color . Green
txb_tdBox . Refresh ( )
Exit Sub
End Sub
Private Sub btn_shot_write_Click ( sender As Object , e As EventArgs ) Handles btn_shot_write . Click
Dim td_name As String
Dim stageCnt As Int16
Try
If nud_shot . Text = " " Then
MsgBox ( " 정보가 부족합니다. 빈칸을 채워주세요. " , vbExclamation )
stageCnt = 0
GoTo FailExit
End If
txb_shotbox . Visible = True
txb_shotbox . Text = " RUNNING "
txb_shotbox . BackColor = Color . GreenYellow
txb_shotbox . Refresh ( )
td_name = td_name_load ( )
If ckb_db_use . Checked = True And td_name = " 1 " Or td_name = " 0 " Then
stageCnt = 1
MsgBox ( " TD 시리얼 번호를 등록하지 않았습니다. " & vbCrLf & " TD 시리얼 번호를 먼저 입력하여 주십시오. " , vbExclamation )
GoTo FailExit
End If
If ckb_db_use . Checked = True And td_Serial_db ( td_name ) = 0 Then
stageCnt = 1
MsgBox ( " TD 시리얼 번호가 데이터베이스에 존재하지 않습니다. " & vbCrLf & " TD 시리얼 번호를 확인하여 주십시오. " , vbExclamation )
GoTo FailExit
End If
If shot_reg ( nud_shot . Text ) Then
If shot_data_db ( nud_shot . Text , td_name ) Then
GoTo SuccessExit
Else
stageCnt = 3
GoTo FailExit
End If
Else
stageCnt = 2
GoTo FailExit
End If
Catch ex As Exception
stageCnt = 4
GoTo FailExit
End Try
FailExit :
txb_shotbox . Text = " Timeout " + Str ( stageCnt )
txb_shotbox . BackColor = Color . Red
txb_shotbox . Refresh ( )
Exit Sub
SuccessExit :
txb_shotbox . Text = " SUCCESS "
txb_shotbox . BackColor = Color . Green
txb_shotbox . Refresh ( )
Exit Sub
End Sub
Private Function shot_data_db ( shot_num As String , td_serial As String )
If ckb_db_use . Checked = True Then
DBCmd = " UPDATE " & cartridge_table & " SET Ct_Max_ShotCnt = ' " & shot_num & " ' WHERE PV_SN = ' " & td_serial & " ' "
If DBCommand ( DBCmd ) Then
Return True
End If
Return False
Else
Return True
End If
End Function
Private Sub btn_shot_read_Click ( sender As Object , e As EventArgs ) Handles btn_shot_read . Click
Dim shot As Integer
Dim stageCnt As Int16
Try
txb_shotbox . Visible = True
txb_shotbox . Text = " RUNNING "
txb_shotbox . BackColor = Color . GreenYellow
txb_shotbox . Refresh ( )
shot = shot_search ( )
If shot = " -1 " Then
stageCnt = 0
GoTo FailExit
End If
nud_shot . Text = shot
GoTo SuccessExit
Catch ex As Exception
stageCnt = 1
GoTo FailExit
End Try
FailExit :
txb_shotbox . Text = " Timeout " + Str ( stageCnt )
txb_shotbox . BackColor = Color . Red
txb_shotbox . Refresh ( )
Exit Sub
SuccessExit :
txb_shotbox . Text = " SUCCESS "
txb_shotbox . BackColor = Color . Green
txb_shotbox . Refresh ( )
Exit Sub
End Sub
Private Sub btn_flashreset_Click ( sender As Object , e As EventArgs ) Handles btn_flashreset . Click
Dim td_name As String
Dim oksign , stageCnt As Int16
Try
txb_resetbox . Visible = True
txb_resetbox . Text = " RUNNING "
txb_resetbox . BackColor = Color . GreenYellow
txb_resetbox . Refresh ( )
oksign = MsgBox ( " 플래쉬 데이터를 초기화 진행합니다. 진행하시겠습니까? " , vbOKCancel + vbExclamation )
If oksign = 1 Then
td_name = td_name_load ( )
If td_name = " 1 " Or td_name = " 0 " Then
stageCnt = 1
MsgBox ( " TD 시리얼 번호를 등록하지 않았습니다. " & vbCrLf & " TD 시리얼 번호를 먼저 입력하여 주십시오. " , vbExclamation )
GoTo FailExit
End If
If data_reset ( ) Then
If reset_db_update ( td_name ) Then
GoTo SuccessExit
Else
stageCnt = 3
GoTo FailExit
End If
Else
stageCnt = 2
GoTo FailExit
End If
Else
stageCnt = 0
GoTo FailExit
End If
Catch ex As Exception
stageCnt = 4
GoTo FailExit
End Try
FailExit :
txb_resetbox . Text = " Timeout " + Str ( stageCnt )
txb_resetbox . BackColor = Color . Red
txb_resetbox . Refresh ( )
Exit Sub
SuccessExit :
txb_resetbox . Text = " SUCCESS "
txb_resetbox . BackColor = Color . Green
txb_resetbox . Refresh ( )
Exit Sub
End Sub
Private Function reset_db_update ( td_serial As String ) As Boolean
DBCmd = " UPDATE " & cartridge_table & " SET Product_SN = '', Ct_Manufacture_Name = '', 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 = NULL, Ct_Max_ShotCnt = NULL, Ct_Remain_ShotCnt = NULL WHERE PV_SN = ' " & td_serial & " ' "
If DBCommand ( DBCmd ) Then
Return True
End If
Return False
End Function
Private Sub lb_depth_DoubleClick ( sender As Object , e As EventArgs )
MsgBox ( " Depth 높이 설정 - 샷 레디 후 사용할 것 " & vbCrLf & " 0-원점, 1-1.5mm, 2-2.0mm, 3-2.5mm, " & vbCrLf & " 4-3.0mm, 5-3.5mm, 6-4.0mm, 7-4.5mm " , vbInformation )
End Sub
Private Sub btn_mtr_write_Click ( sender As Object , e As EventArgs ) Handles btn_mtr_write . Click
Dim stageCnt As Int16
Try
If nud_motor . Text = " " Then
MsgBox ( " 정보가 부족합니다. 빈칸을 채워주세요. " , vbExclamation )
stageCnt = 0
GoTo FailExit
End If
txb_motorBox . Visible = True
txb_motorBox . Text = " RUNNING "
txb_motorBox . BackColor = Color . GreenYellow
txb_motorBox . Refresh ( )
td_name = td_name_load ( )
If ckb_db_use . Checked = True And td_name = " 1 " Or td_name = " 0 " Then
stageCnt = 1
MsgBox ( " TD 시리얼 번호를 등록하지 않았습니다. " & vbCrLf & " TD 시리얼 번호를 먼저 입력하여 주십시오. " , vbExclamation )
GoTo FailExit
End If
If ckb_db_use . Checked = True And td_Serial_db ( td_name ) = 0 Then
stageCnt = 1
MsgBox ( " TD 시리얼 번호가 데이터베이스에 존재하지 않습니다. " & vbCrLf & " TD 시리얼 번호를 확인하여 주십시오. " , vbExclamation )
GoTo FailExit
End If
If Motor_reg ( nud_motor . Text ) Then
If motor_db_reg ( nud_motor . Text , td_name ) Then
GoTo SuccessExit
Else
stageCnt = 2
GoTo FailExit
End If
Else
stageCnt = 1
GoTo FailExit
End If
Catch ex As Exception
stageCnt = 3
GoTo FailExit
End Try
FailExit :
txb_motorBox . Text = " Timeout " + Str ( stageCnt )
txb_motorBox . BackColor = Color . Red
txb_motorBox . Refresh ( )
Exit Sub
SuccessExit :
txb_motorBox . Text = " SUCCESS "
txb_motorBox . BackColor = Color . Green
txb_motorBox . Refresh ( )
Exit Sub
End Sub
Private Function motor_db_reg ( motor_lv As Int16 , pv_sn As String ) As Boolean
DBCmd = " UPDATE " & cartridge_table & " SET Ct_Motor_Lv = ' " & motor_lv & " ' WHERE PV_SN = ' " & pv_sn & " ' "
If DBCommand ( DBCmd ) Then
Return True
Else
Return False
End If
End Function
Private Sub lb_motor_DoubleClick ( sender As Object , e As EventArgs ) Handles lb_motor . DoubleClick
MsgBox ( " Motor 이동 설정 " & vbCrLf & " 1280펄스 당 1mm 이동 " , vbInformation )
End Sub
Private Sub btn_all_read_Click ( sender As Object , e As EventArgs ) Handles btn_all_read . Click
btn_td_read_Click ( sender , e )
btn_info_read_Click ( sender , e )
btn_area_read_Click ( sender , e )
btn_shot_read_Click ( sender , e )
nud_motor . Text = " 0 "
End Sub
Private Sub btn_all_write_Click ( sender As Object , e As EventArgs ) Handles btn_all_write . Click
If txbFactory . Text = " " Then txbFactory . Text = " jomt "
If txbFactory . Text = " " Or nudSN . Text = " " Or nudYear . Text = " " Or nudMonth . Text = " " Or txb_area_code . Text = " " Or txb_abr_code . Text = " " Or txb_tds . Text = " " Or txb_tdf . Text = " " Or txb_tdp . Text = " " Or txb_tds . Text . Length <> td_name_size Or txb_tdf . Text . Length <> td_freq_size Then
MsgBox ( " 정보가 부족합니다. 빈칸을 모두 채워주세요. " , vbExclamation )
Exit Sub
End If
btn_td_write_Click ( sender , e )
btn_info_write_Click ( sender , e )
btn_area_write_Click ( sender , e )
btn_shot_write_Click ( sender , e )
End Sub
Private Sub btn_text_reset_Click ( sender As Object , e As EventArgs ) Handles btn_text_reset . Click
item_refresh ( )
four_text_box ( )
four_result_visible ( )
four_result_color ( )
four_btn_refresh ( )
vari_reset ( )
End Sub
Private Sub btnrun_Click ( sender As Object , e As EventArgs ) Handles btnrun . Click
Dim SucCheck As Boolean = False
Dim text_serial , freq , front_name , back_name , year_month As String
Dim NowDate As String = Format ( Now , " yyyy " ) & " - " & Format ( Now , " MM " ) & " - " & Format ( Now , " dd " )
Dim NowTime As String = Format ( Now , " HH " ) & " : " & Format ( Now , " mm " ) & " : " & Format ( Now , " ss " )
CsvRegData = Nothing
If thr_run_switch = True Then
btnreset_Click ( sender , e )
thr_run_switch = False
End If
text_serial = txb_barcode . Text
If txbmake . Text = " 대기 " Or txbarea . Text = " 대기 " Or txbagen . Text = " 대기 " Then
txbresult . Text = " 선택항목 미선택 "
txbresult . BackColor = Color . Red
MsgBox ( " 선택항목을 선택하지 않았습니다. 선택항목을 선택하여 주십시오. " , vbCritical )
Else
If Maximum_Data . prod_serial = " " Then
If td_data_switch = False Then
If text_serial . Length = prod_text_count Then
If prod_dup_check ( text_serial ) Then
txbresult . Text = " 중복된 번호입력 "
txbresult . BackColor = Color . Red
If MsgBox ( " 데이터베이스에 중복된 시리얼 번호가 존재합니다. 허나 바코드는 재인쇄가 가능합니다. " & vbCrLf & " 바코드를 재인쇄 하시겠습니까? " , vbExclamation + vbYesNo ) = MsgBoxResult . Yes Then
txbpdnum . Text = text_serial
thr_run_switch = True
print_OnOff = True
txb_barcode . Focus ( )
thr_vari_reset ( )
reset_box ( )
txbresult . Text = " 인쇄 완료 "
txbresult . BackColor = Color . Green
End If
Exit Sub
End If
txbpdnum . Text = text_serial
txbpdnum . BackColor = Color . Green
Maximum_Data . prod_code = Mid ( text_serial , 1 , 2 )
year_month = Mid ( text_serial , 3 , 4 )
front_name = Mid ( text_serial , 7 , 3 )
back_name = Mid ( text_serial , 10 , 3 )
Maximum_Data . prod_serial = year_month & back_name & front_name
txbresult . Text = " 제품 연결 대기.. "
txbresult . BackColor = Color . Orange
TH_thread = New Thread ( AddressOf thread_func )
TH_thread . IsBackground = True
TH_thread . Start ( )
thread_type = True
Else
txbresult . Text = " 잘못된 번호입력 "
txbresult . BackColor = Color . Red
txbpdnum . BackColor = Color . Red
MsgBox ( " 잘못된 시리얼 번호를 입력하였습니다. 다시 확인하여 주십시오. " , vbCritical )
thr_run_switch = True
txb_barcode . Focus ( )
Exit Sub
End If
Else
MsgBox ( " 초기화 오류 발견 " )
thr_run_switch = True
txb_barcode . Focus ( )
End If
Else
If td_data_switch = False Then
'Maximum_Data.td_serial = td_name_load()
If Maximum_Data . td_serial = " 0 " Or Maximum_Data . td_serial = " 1 " Then
txbresult . Text = " 잘못된 번호입력 "
txbtdnum . BackColor = Color . Red
txbresult . BackColor = Color . Red
MsgBox ( " TD 시리얼 번호를 입력하지 않았습니다. TD 시리얼 번호를 입력하여 주십시오. " , vbCritical )
txb_barcode . Focus ( )
Exit Sub
End If
freq = sett_data ( )
If freq = " 0 " Then
txbresult . Text = " 연결 문제 "
txbtdnum . BackColor = Color . Red
txbresult . BackColor = Color . Red
MsgBox ( " 제품과의 연결이 올바르지 않습니다. 연결 상태를 확인하여 주십시오. " , vbCritical )
td_data_switch = False
thr_run_switch = True
txb_barcode . Focus ( )
Else
Maximum_Data . td_power = Mid ( freq , InStr ( 1 , freq , " , " ) + 1 , freq . Length )
Maximum_Data . td_freq = Mid ( freq , 1 , InStr ( 1 , freq , " , " ) - 1 )
If db_td_data ( Maximum_Data . td_serial ) Then
If Maximum_Data . td_step = 23 Or Maximum_Data . td_step = 27 Or Maximum_Data . td_step = 32 Then
txbtdnum . Text = Maximum_Data . td_serial
txbfreq . Text = Maximum_Data . td_freq
txbpower . Text = Maximum_Data . td_power
txbgread . Text = Maximum_Data . td_grade
If Maximum_Data . td_freq <> " 0 " Then
txbresult . Text = " TD 정보등록 "
txbresult . BackColor = Color . Green
txbtdnum . BackColor = Color . Green
td_data_switch = True
Else
txbresult . Text = " 주파수 없음 "
txbresult . BackColor = Color . Red
txbfreq . BackColor = Color . Red
MsgBox ( " 제품에 주파수를 입력하지 않았습니다. " & vbCrLf & " 주파수를 입력하여 주십시오. " , vbCritical )
td_data_switch = False
thr_run_switch = True
End If
txb_barcode . Focus ( )
Else
txbresult . Text = " 공정 진행 오류 "
txbresult . BackColor = Color . Red
txbtdnum . BackColor = Color . Red
MsgBox ( " 이전 정보 입력 공정을 진행하지 않았습니다. " & vbCrLf & " 이전 단계에서 데이터를 입력하여 주십시오. " , vbCritical )
td_data_switch = False
thr_run_switch = True
txb_barcode . Focus ( )
End If
Else
txbresult . Text = " 잘못된 데이터 존재 "
txbresult . BackColor = Color . Red
txbtdnum . BackColor = Color . Red
MsgBox ( " 데이터베이스에 데이터가 존재하지 않습니다. " & vbCrLf & " 이전 단계에서 데이터를 입력하여 주십시오. " , vbCritical )
td_data_switch = False
thr_run_switch = True
txb_barcode . Focus ( )
End If
End If
Else
If prod_reg_data ( txbmake . Text , Maximum_Data . prod_serial , txb_code_front . Text , txbarea . Text , txbagen . Text ) Then
If shot_reg ( 0 ) = True Then
If shot_search ( ) = 0 Then
If db_prod_reg ( txbpdnum . Text , txbmake . Text , txbarea . Text , txbagen . Text , Maximum_Data . td_serial , 0 ) Then
For i = 1 To ShotCheck
If shot_search ( ) = 0 Then
SucCheck = True
Else
SucCheck = False
Exit For
End If
Next
If SucCheck = True Then
txbtdnum . BackColor = Color . Green
txbpdnum . BackColor = Color . Green
txbresult . Text = " 정보입력 완료 "
txbresult . BackColor = Color . Green
Save_Csv ( NowDate & " , " & NowTime & " , " & Maximum_Data . prod_serial & " , " & Maximum_Data . td_serial & " , " & Maximum_Data . td_freq & " , " & Maximum_Data . td_power & " , " & Maximum_Data . td_step & " , " & CsvRegData , False )
thr_vari_reset ( )
reset_box ( )
thr_run_switch = True
print_OnOff = True
txb_barcode . Focus ( )
Else
txbtdnum . BackColor = Color . Red
txbpdnum . BackColor = Color . Red
txbresult . Text = " 정보입력 실패 "
txbresult . BackColor = Color . Red
Save_Csv ( NowDate & " , " & NowTime & " , " & text_serial & " , " & Maximum_Data . prod_serial & Maximum_Data . td_freq & " , " & Maximum_Data . td_power & " , " & Maximum_Data . td_step & " , " & CsvRegData , False )
thr_vari_reset ( )
reset_box ( )
MsgBox ( " 제품과의 연결이 올바르지 않습니다. 연결 상태를 확인하여 주십시오. " , vbCritical )
txb_barcode . Focus ( )
End If
Else
txbtdnum . BackColor = Color . Red
txbpdnum . BackColor = Color . Red
txbresult . Text = " 정보입력 실패 "
txbresult . BackColor = Color . Red
Save_Csv ( NowDate & " , " & NowTime & " , " & text_serial & " , " & Maximum_Data . prod_serial & Maximum_Data . td_freq & " , " & Maximum_Data . td_power & " , " & Maximum_Data . td_step & " , " & CsvRegData , False )
thr_vari_reset ( )
reset_box ( )
MsgBox ( " 정보 입력은 완료되었으나 데이터베이스에 등록하지 못하였습니다. 다시 시도하여 주십시오. " , vbExclamation )
td_data_switch = False
thr_run_switch = True
txb_barcode . Focus ( )
End If
Else
txbtdnum . BackColor = Color . Red
txbpdnum . BackColor = Color . Red
txbresult . Text = " 정보입력 실패 "
txbresult . BackColor = Color . Red
Save_Csv ( NowDate & " , " & NowTime & " , " & text_serial & " , " & Maximum_Data . prod_serial & Maximum_Data . td_freq & " , " & Maximum_Data . td_power & " , " & Maximum_Data . td_step & " , " & CsvRegData , False )
thr_vari_reset ( )
reset_box ( )
MsgBox ( " 제품과의 연결이 올바르지 않습니다. 연결 상태를 확인하여 주십시오. " , vbCritical )
txb_barcode . Focus ( )
End If
Else
txbtdnum . BackColor = Color . Red
txbpdnum . BackColor = Color . Red
txbresult . Text = " 정보입력 실패 "
txbresult . BackColor = Color . Red
Save_Csv ( NowDate & " , " & NowTime & " , " & text_serial & " , " & Maximum_Data . prod_serial & Maximum_Data . td_freq & " , " & Maximum_Data . td_power & " , " & Maximum_Data . td_step & " , " & CsvRegData , False )
thr_vari_reset ( )
reset_box ( )
MsgBox ( " 제품과의 연결이 올바르지 않습니다. 연결 상태를 확인하여 주십시오. " , vbCritical )
txb_barcode . Focus ( )
End If
Else
txbtdnum . BackColor = Color . Red
txbpdnum . BackColor = Color . Red
txbresult . Text = " 정보입력 실패 "
txbresult . BackColor = Color . Red
Save_Csv ( NowDate & " , " & NowTime & " , " & text_serial & " , " & Maximum_Data . prod_serial & Maximum_Data . td_freq & " , " & Maximum_Data . td_power & " , " & Maximum_Data . td_step & " , " & CsvRegData , False )
thr_vari_reset ( )
reset_box ( )
MsgBox ( " 제품과의 연결이 올바르지 않습니다. 연결 상태를 확인하여 주십시오. " , vbCritical )
txb_barcode . Focus ( )
End If
End If
End If
End If
End Sub
Private Function TDDBRoad ( ) As Boolean
DBCmd = " "
End Function
Private Function db_prod_reg ( prod_id As String , make_name As String , area_code As String , agency_code As String , td_id As String , shot As Int16 ) As Boolean
Dim serial_code , p_date , p_time As String
serial_code = Mid ( Maximum_Data . prod_serial , 5 , Maximum_Data . prod_serial . Length )
p_date = DateTime . Now . ToString ( " yyyy-MM-dd " )
p_time = DateTime . Now . ToString ( " HH:mm:ss " )
DBCmd = " UPDATE " & cartridge_table & " SET TestStep = '31', Product_SN = ' " & prod_id & " ', Ct_Manufacture_Name=' " & make_name & " ', Ct_Manufacture_Year=' " & Format ( Now , " yy " ) & " ', Ct_Manufacture_Month=' " & Format ( Now , " MM " ) & " ', Ct_SN=' " & serial_code & " ', Ct_Abroad=' " & area_code & " ', Ct_Agency=' " & agency_code & " ',Ct_Max_ShotCnt = ' " & shot & " ', Ct_Remain_ShotCnt = ' " & shot & " ', P3_DateTime = ' " & p_date & " " & p_time & " ' WHERE PV_SN = ' " & td_id & " ' "
If DBCommand ( DBCmd ) Then
DBCmd = " SELECT TestStep FROM " & cartridge_table & " Where Product_SN = ' " & prod_id & " ' "
If DBQueryScalar ( DBCmd ) = 31 Then
Return True
End If
End If
Return False
End Function
Private Function db_td_data ( td_serial As String ) As Boolean
DBCmd = " SELECT TestStep,QC_Grade FROM " & cartridge_table & " WHERE PV_SN = ' " & td_serial & " ' "
If DBQueryReader ( DBCmd ) Then
Maximum_Data . td_step = sqlDataQuery ( 0 )
Maximum_Data . td_grade = sqlDataQuery ( 1 )
Return True
Else
Maximum_Data . td_step = Nothing
Maximum_Data . td_grade = Nothing
Return False
End If
End Function
Private Sub btn_data_reg_Click ( sender As Object , e As EventArgs ) Handles btn_data_reg . Click
Dim StageNum As Int16
Try
txb_regresult . Visible = True
txb_regresult . BackColor = Color . GreenYellow
txb_regresult . Text = " RUNNING! "
txb_regresult . Refresh ( )
If txb_make_reg . Text . Replace ( " " , " " ) = " " Then
txb_make_reg . Text = " jomt "
End If
If txb_name_reg . Text . Replace ( " " , " " ) = " " Or txb_make_reg . Text . Replace ( " " , " " ) = " " Or nudarea . Text . Replace ( " " , " " ) = " " Or nudagency . Text . Replace ( " " , " " ) = " " Then
StageNum = 0
MsgBox ( " 작성하지 않은 항목이 존재합니다. " & vbCrLf & " 비어있는 부분을 작성하여 주십시오. " , vbExclamation )
GoTo FAILDATA
End If
If name_reg_compare ( txb_name_reg . Text ) Then
dgv_data . Rows . Add ( txb_name_reg . Text , txb_make_reg . Text , nudarea . Text , nudagency . Text )
txb_name_reg . Text = Nothing
txb_make_reg . Text = Nothing
nudarea . Text = 0
nudagency . Text = 0
txb_name_reg . Refresh ( )
txb_make_reg . Refresh ( )
nudarea . Refresh ( )
nudagency . Refresh ( )
txb_regresult . BackColor = Color . Green
txb_regresult . Text = " SUCCESS "
txb_regresult . Refresh ( )
option_reg_chk = True
Exit Sub
Else
StageNum = 1
MsgBox ( " 중복된 이벤트명이 존재합니다. " & vbCrLf & " 이벤트명을 확인하여 주십시오. " , vbCritical )
GoTo FAILDATA
End If
Catch ex As Exception
StageNum = 2
MsgBox ( Err . Description , vbCritical )
GoTo FAILDATA
End Try
FAILDATA :
txb_regresult . BackColor = Color . Red
txb_regresult . Text = " FAIL " & StageNum
txb_regresult . Refresh ( )
Exit Sub
End Sub
Private Function name_reg_compare ( text_name As String ) As Boolean
Try
For i = 0 To dgv_data . Rows . Count - 2
If dgv_data . Rows ( i ) . Cells ( 0 ) . Value . ToString = text_name Then
Return False
End If
Next
Return True
Catch ex As Exception
Return False
End Try
End Function
Private Sub btn_save_Click ( sender As Object , e As EventArgs ) Handles btn_save . Click
txb_dgv_state . Visible = True
txb_dgv_state . Text = " RUNNING! "
txb_dgv_state . BackColor = Color . GreenYellow
txb_dgv_state . Refresh ( )
If save_comport ( " event " ) Then
If save_comport ( " comport " ) Then
txb_dgv_state . Text = " SUCCESS "
txb_dgv_state . BackColor = Color . Green
txb_dgv_state . Refresh ( )
option_reg_chk = False
Else
txb_dgv_state . Text = " ETC FAIL "
txb_dgv_state . BackColor = Color . Red
txb_dgv_state . Refresh ( )
End If
Else
txb_dgv_state . Text = " EVENT FAIL "
txb_dgv_state . BackColor = Color . Red
txb_dgv_state . Refresh ( )
End If
End Sub
Private Sub btn_row_delete_Click ( sender As Object , e As EventArgs ) Handles btn_row_delete . Click
Dim res As Integer
txb_dgv_state . Visible = True
txb_dgv_state . Text = " RUNNING! "
txb_dgv_state . BackColor = Color . GreenYellow
txb_dgv_state . Refresh ( )
For i = 0 To dgv_data . Rows . Count - 2
If dgv_data . Rows ( i ) . Selected = True Then
res = MsgBox ( " 해당 이벤트를 삭제하시겠습니까? " , vbYesNo )
If res = 6 Then
dgv_data . Rows . Remove ( dgv_data . Rows ( i ) )
txb_dgv_state . Text = " SUCCESS "
txb_dgv_state . BackColor = Color . Green
txb_dgv_state . Refresh ( )
option_reg_chk = True
MsgBox ( " 이벤트 삭제를 완료하였습니다. " )
ElseIf res = 7 Then
txb_dgv_state . Text = " DELETE STOP "
txb_dgv_state . BackColor = Color . Red
txb_dgv_state . Refresh ( )
MsgBox ( " 이벤트 삭제를 취소하였습니다. " )
End If
End If
Next
End Sub
Private Sub btn_alldelete_Click ( sender As Object , e As EventArgs ) Handles btn_alldelete . Click
Dim res As Integer
txb_dgv_state . Visible = True
txb_dgv_state . Text = " RUNNING! "
txb_dgv_state . BackColor = Color . GreenYellow
txb_dgv_state . Refresh ( )
res = MsgBox ( " 등록된 데이터를 모두 삭제하시겠습니까? " , vbCritical + vbYesNo , " 전체삭제 " )
If res = 6 Then
dgv_data . Rows . Clear ( )
txb_dgv_state . Text = " SUCCESS "
txb_dgv_state . BackColor = Color . Green
txb_dgv_state . Refresh ( )
option_reg_chk = True
MsgBox ( " 등록된 데이터가 전부 삭제되었습니다. " , vbCritical , " 전체삭제 완료 " )
ElseIf res = 7 Then
txb_dgv_state . Text = " DELETE STOP "
txb_dgv_state . BackColor = Color . Red
txb_dgv_state . Refresh ( )
MsgBox ( " 데이터 모두 삭제를 취소하였습니다. " )
End If
End Sub
Private Sub cboselect_SelectedIndexChanged ( sender As Object , e As EventArgs ) Handles cboselect . SelectedIndexChanged
If cboselect . SelectedIndex <> - 1 Then
txbmake . Text = dgv_data . Rows ( cboselect . SelectedIndex ) . Cells ( 1 ) . Value
txbarea . Text = dgv_data . Rows ( cboselect . SelectedIndex ) . Cells ( 2 ) . Value
txbagen . Text = dgv_data . Rows ( cboselect . SelectedIndex ) . Cells ( 3 ) . Value
End If
txb_barcode . Focus ( )
End Sub
Private Sub txb_barcode_TextChanged ( sender As Object , e As EventArgs ) Handles txb_barcode . TextChanged
Dim tmpStr As String
If InputCnt = 0 And chbUseBarcode . Checked = True Then
tmpStr = txb_barcode . Text
If ( Len ( tmpStr ) > 1 ) Then
tmpStr = Mid ( tmpStr , Len ( tmpStr ) , 1 )
txb_barcode . Clear ( )
txb_barcode . AppendText ( tmpStr )
End If
SetInputCnt ( )
End If
End Sub
Private Sub btnreset_Click ( sender As Object , e As EventArgs ) Handles btnreset . Click
thr_text_box ( )
thr_text_refresh ( )
thr_text_color ( )
thr_btn_refresh ( )
thr_vari_reset ( )
If thr_run_switch = True Then
cboselect . SelectedIndex = - 1
End If
txb_barcode . Focus ( )
End Sub
''1번 초기화
Private Sub one_text_box ( )
txbPV_SN . Text = Nothing
txbPV_Date . Text = " N/A "
txbCapacitor . Text = " N/A "
txbPV_Z . Text = " N/A "
txbPV_C . Text = " N/A "
txbPV_R . Text = " N/A "
txb_grade . Text = " 대기 "
txb_CValue . Text = " 대기 "
End Sub
Private Sub one_text_refresh ( )
txbPV_SN . Refresh ( )
txbPV_Date . Refresh ( )
txbCapacitor . Refresh ( )
txbPV_Z . Refresh ( )
txbPV_C . Refresh ( )
txbPV_R . Refresh ( )
txb_grade . Refresh ( )
txb_CValue . Refresh ( )
btnc_run . Refresh ( )
End Sub
Private Sub one_text_color ( )
txbPV_SN . BackColor = Color . White
txbPV_Date . BackColor = Color . White
txbCapacitor . BackColor = Color . White
txbPV_Z . BackColor = Color . White
txbPV_C . BackColor = Color . White
txbPV_R . BackColor = Color . White
txb_grade . BackColor = DefaultBackColor
txb_CValue . BackColor = DefaultBackColor
End Sub
Private Sub one_vari_default ( )
For i = 0 To info_data . pv_all
info_select ( info_data . pv_all - i ) = Nothing
Next
End Sub
''2번 초기화
Private Sub two_text_box ( )
txb_serial_num . Text = Nothing
txb_prod_state . Text = " 대기 "
txb_td_serial . Text = " 대기 "
txb_prod_Depth . Text = " 대기 "
txb_prod_grade . Text = " 대기 "
txb_prod_power . Text = " 대기 "
txbStCheck . Text = " 대기 "
txbNdCheck . Text = " 대기 "
txbRdCheck . Text = " 대기 "
End Sub
Private Sub two_text_refresh ( )
txb_serial_num . Refresh ( )
txb_prod_state . Refresh ( )
txb_td_serial . Refresh ( )
txb_prod_Depth . Refresh ( )
txb_prod_grade . Refresh ( )
txb_prod_power . Refresh ( )
txbStCheck . Refresh ( )
txbNdCheck . Refresh ( )
txbRdCheck . Refresh ( )
End Sub
Private Sub two_text_color ( )
txb_serial_num . BackColor = Color . White
txb_prod_state . BackColor = Color . Gold
txb_td_serial . BackColor = DefaultBackColor
txb_prod_Depth . BackColor = DefaultBackColor
txb_prod_grade . BackColor = DefaultBackColor
txb_prod_power . BackColor = DefaultBackColor
txbStCheck . BackColor = DefaultBackColor
txbNdCheck . BackColor = DefaultBackColor
txbRdCheck . BackColor = DefaultBackColor
End Sub
Private Sub two_btn_refresh ( )
btn_reset . Refresh ( )
btn_prod . Refresh ( )
End Sub
''3번 초기화
Private Sub thr_text_box ( )
'If thr_run_switch = False Then
' txb_barcode.Text = Nothing
' txbmake.Text = "대기"
' txbarea.Text = "대기"
' txbagen.Text = "대기"
'End If
txbresult . Text = " 대기 "
txbtdnum . Text = " 대기 "
txbfreq . Text = " 대기 "
txbgread . Text = " 대기 "
txbpower . Text = " 대기 "
txbpdnum . Text = " 대기 "
End Sub
Private Sub thr_text_refresh ( )
txb_barcode . Refresh ( )
txbresult . Refresh ( )
txbtdnum . Refresh ( )
txbfreq . Refresh ( )
txbgread . Refresh ( )
txbpower . Refresh ( )
txbpdnum . Refresh ( )
txbmake . Refresh ( )
txbarea . Refresh ( )
txbagen . Refresh ( )
End Sub
Private Sub thr_text_color ( )
txb_barcode . BackColor = Color . White
txbresult . BackColor = Color . Gold
txbtdnum . BackColor = DefaultBackColor
txbfreq . BackColor = DefaultBackColor
txbgread . BackColor = DefaultBackColor
txbpower . BackColor = DefaultBackColor
txbpdnum . BackColor = DefaultBackColor
txbmake . BackColor = DefaultBackColor
txbarea . BackColor = DefaultBackColor
txbagen . BackColor = DefaultBackColor
End Sub
Private Sub thr_btn_refresh ( )
btnreset . Refresh ( )
btnrun . Refresh ( )
End Sub
Private Sub thr_vari_reset ( )
Maximum_Data . prod_code = Nothing
Maximum_Data . prod_serial = Nothing
Maximum_Data . td_freq = Nothing
Maximum_Data . td_textbox = Nothing
Maximum_Data . td_step = Nothing
Maximum_Data . td_grade = Nothing
Maximum_Data . td_power = Nothing
Maximum_Data . td_serial = Nothing
td_data_switch = False
thr_run_switch = False
End Sub
'' 4번 화면 초기화
Private Sub four_text_box ( )
txb_tds . Text = " DITI "
txb_tdf . Text = " 0 "
txb_tdp . Text = " 0.00 "
txb_tdBox . Text = Nothing
txbBarcode . Text = Nothing
txbFactory . Text = " jomt "
nudYear . Text = Format ( Now , " yy " )
nudMonth . Text = Format ( Now , " MM " )
nudSN . Text = " 0 "
txbInfoBox . Text = Nothing
txb_area_code . Text = " 82 "
txb_abr_code . Text = " 0 "
txb_areabox . Text = Nothing
nud_shot . Text = " 0 "
txb_shotbox . Text = Nothing
nud_motor . Text = " 0 "
txb_motorBox . Text = Nothing
txb_resetbox . Text = Nothing
End Sub
Private Sub four_result_visible ( )
txb_tdBox . Visible = False
txbInfoBox . Visible = False
txb_areabox . Visible = False
txb_shotbox . Visible = False
txb_motorBox . Visible = False
txb_resetbox . Visible = False
End Sub
Private Sub four_result_color ( )
txb_tdBox . BackColor = Color . Green
txbInfoBox . BackColor = Color . Green
txb_areabox . BackColor = Color . Green
txb_shotbox . BackColor = Color . Green
txb_motorBox . BackColor = Color . Green
txb_resetbox . BackColor = Color . Green
End Sub
Private Sub four_btn_refresh ( )
btn_td_read . Refresh ( )
btn_td_write . Refresh ( )
btn_info_read . Refresh ( )
btn_info_write . Refresh ( )
btn_today . Refresh ( )
btn_area_read . Refresh ( )
btn_area_write . Refresh ( )
btn_shot_read . Refresh ( )
btn_shot_write . Refresh ( )
btn_mtr_write . Refresh ( )
btn_flashreset . Refresh ( )
btn_all_read . Refresh ( )
btn_all_write . Refresh ( )
btn_text_reset . Refresh ( )
End Sub
Private Sub item_refresh ( )
txbBarcode . Refresh ( )
txbFactory . Refresh ( )
btn_today . Refresh ( )
nudYear . Refresh ( )
nudMonth . Refresh ( )
nudSN . Refresh ( )
txbInfoBox . Refresh ( )
btn_info_read . Refresh ( )
btn_info_write . Refresh ( )
txb_area_code . Refresh ( )
txb_abr_code . Refresh ( )
txb_areabox . Refresh ( )
btn_area_read . Refresh ( )
btn_area_write . Refresh ( )
txb_tds . Refresh ( )
txb_tdf . Refresh ( )
txb_tdp . Refresh ( )
txb_tdBox . Refresh ( )
btn_td_read . Refresh ( )
btn_td_write . Refresh ( )
nud_shot . Refresh ( )
txb_shotbox . Refresh ( )
btn_shot_read . Refresh ( )
btn_shot_write . Refresh ( )
nud_motor . Refresh ( )
txb_motorBox . Refresh ( )
btn_mtr_write . Refresh ( )
txb_resetbox . Refresh ( )
btn_flashreset . Refresh ( )
btn_all_read . Refresh ( )
btn_all_write . Refresh ( )
btn_text_reset . Refresh ( )
lb_motor . Refresh ( )
End Sub
Private Sub vari_reset ( )
tmpCmdMessage = Nothing
cmdMessage = Nothing
rxMessage = Nothing
InputCnt = 0
reserve = False
DBCmd = Nothing
InputTimer . Enabled = False
End Sub
''5번창 리셋
Private Sub five_text_box ( )
txb_5_reg_date . Text = " - "
txb_5_make . Text = " - "
txb_5_model . Text = " - "
txb_5_serial . Text = " - "
txb_5_type . Text = " - "
txb_5_agency . Text = " - "
txb_5_area . Text = " - "
2025-06-30 15:48:24 +09:00
txb_5_date . Text = " - "
2025-06-24 11:52:51 +09:00
txb_5_prod_date . Text = " - "
txb_5_freq . Text = " - "
txb_5_prod_mod . Text = " 0 "
txb_5_power . Text = " - "
txb_5_prod_motor . Text = " - "
txb_5_td . Text = " - "
txb_5_result . Text = " 대기 "
End Sub
Private Sub five_text_refresh ( )
txb_5_reg_date . Refresh ( )
txb_5_make . Refresh ( )
txb_5_model . Refresh ( )
txb_5_serial . Refresh ( )
txb_5_type . Refresh ( )
txb_5_agency . Refresh ( )
txb_5_area . Refresh ( )
2025-06-27 17:00:11 +09:00
txb_5_date . Refresh ( )
2025-06-24 11:52:51 +09:00
txb_5_prod_date . Refresh ( )
txb_5_freq . Refresh ( )
txb_5_prod_mod . Refresh ( )
txb_5_power . Refresh ( )
txb_5_prod_motor . Refresh ( )
txb_5_td . Refresh ( )
txb_5_result . Refresh ( )
End Sub
Private Sub five_text_color ( )
txb_5_reg_date . BackColor = Color . White
txb_5_make . BackColor = Color . White
txb_5_model . BackColor = Color . White
txb_5_serial . BackColor = Color . White
txb_5_type . BackColor = Color . White
txb_5_agency . BackColor = Color . White
txb_5_area . BackColor = Color . White
2025-06-27 17:00:11 +09:00
txb_5_date . BackColor = Color . White
2025-06-24 11:52:51 +09:00
txb_5_prod_date . BackColor = Color . White
txb_5_freq . BackColor = Color . White
txb_5_prod_mod . BackColor = Color . White
txb_5_power . BackColor = Color . White
txb_5_prod_motor . BackColor = Color . White
txb_5_td . BackColor = Color . White
txb_5_result . BackColor = DefaultBackColor
End Sub
''등록창 리셋
Private Sub reg_text_box ( )
txb_name_reg . Text = Nothing
txb_make_reg . Text = Nothing
nudarea . Text = 0
nudagency . Text = 0
txb_regresult . Text = Nothing
txb_dgv_state . Text = Nothing
End Sub
Private Sub reg_text_refresh ( )
txb_name_reg . Refresh ( )
txb_make_reg . Refresh ( )
nudarea . Refresh ( )
nudagency . Refresh ( )
txb_regresult . Refresh ( )
txb_dgv_state . Refresh ( )
End Sub
Private Sub reg_text_color ( )
txb_name_reg . BackColor = Color . White
txb_make_reg . BackColor = Color . White
nudarea . BackColor = Color . White
nudagency . BackColor = Color . White
txb_regresult . BackColor = Color . Khaki
txb_dgv_state . BackColor = Color . Khaki
End Sub
Private Sub reg_btn_refresh ( )
btn_data_reg . Refresh ( )
btn_save . Refresh ( )
btn_row_delete . Refresh ( )
btn_alldelete . Refresh ( )
btn_option_exit . Refresh ( )
End Sub
Private Sub reg_txb_visible ( )
txb_dgv_state . Visible = False
txb_regresult . Visible = False
End Sub
Private Sub txbtdnum_gotfocus ( sender As Object , e As EventArgs ) Handles txbtdnum . GotFocus , txbfreq . GotFocus , txbpower . GotFocus , txbgread . GotFocus , txbpdnum . GotFocus , txbmake . GotFocus , txbarea . GotFocus , txbagen . GotFocus , txbresult . GotFocus
txb_barcode . Focus ( )
End Sub
Private Sub btn_code_reg_Click ( sender As Object , e As EventArgs ) Handles btn_code_reg . Click
If txb_code_front . Text . Replace ( " " , " " ) = " " Then
txb_code_front . Text = " 30 "
End If
If txb_code_front . Text . Replace ( " " , " " ) = " " Or txb_prod1_code . Text . Replace ( " " , " " ) = " " Or txb_output_6850 . Text . Replace ( " " , " " ) = " " Or txb_output_7000 . Text . Replace ( " " , " " ) = " " Then
MsgBox ( " 비어있는 칸이 존재합니다. 모든 정보를 입력하여 주십시오. " , vbExclamation )
Exit Sub
End If
If save_comport ( " event " ) Then
If save_comport ( " comport " ) = False Then
MsgBox ( " 데이터를 저장하는 도중 오류가 발생하였습니다. " , vbCritical )
End If
Else
MsgBox ( " 데이터를 저장하는 도중 오류가 발생하였습니다. " , vbCritical )
End If
MsgBox ( " 데이터 저장 완료 " , vbInformation )
option_reg_chk = False
End Sub
Private Sub txb_code_front_TextChanged ( sender As Object , e As EventArgs ) Handles txb_code_front . TextChanged , txb_output_6850 . TextChanged , txb_output_7000 . TextChanged , txb_prod1_code . TextChanged
option_reg_chk = True
End Sub
Private Sub btn_mtr_read_Click ( sender As Object , e As EventArgs ) Handles btn_mtr_read . Click
Dim stageCnt , motor_level As Int16
Try
txb_motorBox . Visible = True
txb_motorBox . Text = " RUNNING "
txb_motorBox . BackColor = Color . GreenYellow
txb_motorBox . Refresh ( )
motor_level = Motor_Read ( )
If motor_level = 6 Then
stageCnt = 0
GoTo FailExit
End If
nud_motor . Text = motor_level
GoTo SuccessExit
Catch ex As Exception
stageCnt = 1
GoTo FailExit
End Try
FailExit :
txb_motorBox . Text = " Timeout " + Str ( stageCnt )
txb_motorBox . BackColor = Color . Red
txb_motorBox . Refresh ( )
Exit Sub
SuccessExit :
txb_motorBox . Text = " SUCCESS "
txb_motorBox . BackColor = Color . Green
txb_motorBox . Refresh ( )
Exit Sub
End Sub
Private Sub btn_5_reset_Click ( sender As Object , e As EventArgs ) Handles btn_5_reset . Click
write_5_error = False
TH_thread . Abort ( )
five_text_box ( )
five_text_color ( )
five_text_refresh ( )
txb_5_prod_mod . ReadOnly = True
txb_5_barcode . BackColor = Color . White
txb_5_barcode . Focus ( )
End Sub
Private Sub check_data_reset ( )
For i = 0 To check_list . max_check
check_data ( i ) = Nothing
Next
End Sub
Private Sub btn_5_check_Click ( sender As Object , e As EventArgs ) Handles btn_5_check . Click
Dim prd_code As String
Dim step_num As Int16
Dim TDUseCompare As Boolean = False
prd_code = txb_5_barcode . Text
write_5_error = False
five_text_box ( )
five_text_color ( )
five_text_refresh ( )
check_data_reset ( )
txb_5_barcode . BackColor = Color . White
2025-06-30 15:48:24 +09:00
2025-06-24 11:52:51 +09:00
If Mid ( prd_code , 1 , 1 ) = " 5 " Then
TDUseCompare = False
DBCmd = " SELECT count(Product_SN) FROM " & MainNonTDDB & " WHERE Product_SN = ' " & prd_code & " ' "
Else
TDUseCompare = True
DBCmd = " SELECT count(Product_SN) FROM " & cartridge_table & " WHERE Product_SN = ' " & prd_code & " ' "
End If
step_num = DBQueryScalar ( DBCmd )
If step_num = 0 Then
txb_5_barcode . BackColor = Color . Red
MsgBox ( " 해당 데이터가 데이터베이스에 존재하지 않습니다. " , vbCritical )
Exit Sub
End If
If TDUseCompare = True Then
2025-06-30 15:48:24 +09:00
DBCmd = " SELECT TestStep,Ct_Manufacture_Name,Ct_SN,Ct_Model,Ct_Type,Ct_Abroad,Ct_Agency,Ct_Frequency,Ct_Power,Ct_Max_ShotCnt,Ct_Motor_Lv, PV_SN,P1_Date,P1_Time,P3_DateTime,Manufacture_Date FROM " & cartridge_table & " WHERE Product_SN = ' " & prd_code & " ' "
If DBQueryReader ( DBCmd ) Then
For i = 0 To check_list . max_check - 1
2025-06-24 11:52:51 +09:00
check_data ( i ) = sqlDataQuery ( i ) . ToString
Next
Else
MsgBox ( " 해당 데이터가 데이터베이스에 존재하지 않습니다. " , vbCritical )
Exit Sub
End If
If check_data ( check_list . P3_DateTime ) = Nothing Or check_data ( check_list . P3_DateTime ) = " 0 " Then
txb_5_reg_date . Text = " - "
txb_5_reg_date . BackColor = Color . Red
2025-06-30 15:48:24 +09:00
'error_switch = True
2025-06-24 11:52:51 +09:00
Else
txb_5_reg_date . Text = check_data ( check_list . P3_DateTime )
txb_5_reg_date . BackColor = Color . Green
End If
2025-06-30 15:48:24 +09:00
If check_data ( check_list . Manufacture_Date ) = Nothing Or check_data ( check_list . Manufacture_Date ) = " 0 " Then
2025-06-27 17:00:11 +09:00
txb_5_date . Text = " - "
txb_5_date . BackColor = Color . Red
2025-06-30 15:48:24 +09:00
'error_switch = True
2025-06-27 17:00:11 +09:00
Else
2025-06-30 15:48:24 +09:00
txb_5_date . Text = check_data ( check_list . Manufacture_Date )
2025-06-27 17:00:11 +09:00
End If
2025-06-24 11:52:51 +09:00
If check_data ( check_list . make_name ) = Nothing Or check_data ( check_list . make_name ) = " 0 " Then
txb_5_make . Text = " - "
txb_5_make . BackColor = Color . Red
write_5_error = True
Else
txb_5_make . Text = check_data ( check_list . make_name )
txb_5_make . BackColor = Color . Green
End If
If check_data ( check_list . model ) = Nothing Or check_data ( check_list . model ) = " 0 " Then
txb_5_model . Text = " - "
txb_5_model . BackColor = Color . Red
write_5_error = True
Else
txb_5_model . Text = check_data ( check_list . model )
txb_5_model . BackColor = Color . Green
End If
If check_data ( check_list . serial ) = Nothing Or check_data ( check_list . serial ) = " 0 " Then
txb_5_serial . Text = " - "
txb_5_serial . BackColor = Color . Red
write_5_error = True
Else
txb_5_serial . Text = check_data ( check_list . serial )
txb_5_serial . BackColor = Color . Green
End If
If check_data ( check_list . type ) = Nothing Or check_data ( check_list . type ) = " 0 " Then
txb_5_type . Text = " - "
txb_5_type . BackColor = Color . Red
write_5_error = True
Else
txb_5_type . Text = check_data ( check_list . type )
txb_5_type . BackColor = Color . Green
End If
If check_data ( check_list . agency ) = Nothing Then
txb_5_agency . Text = " - "
txb_5_agency . BackColor = Color . Red
write_5_error = True
Else
txb_5_agency . Text = check_data ( check_list . agency )
txb_5_agency . BackColor = Color . Green
End If
If check_data ( check_list . abroad ) = Nothing Then
txb_5_area . Text = " - "
txb_5_area . BackColor = Color . Red
write_5_error = True
Else
txb_5_area . Text = check_data ( check_list . abroad )
txb_5_area . BackColor = Color . Green
End If
If check_data ( check_list . td_serial ) = Nothing Or check_data ( check_list . td_serial ) = " 0 " Then
txb_5_td . Text = " - "
txb_5_td . BackColor = Color . Red
write_5_error = True
Else
txb_5_td . Text = check_data ( check_list . td_serial )
txb_5_td . BackColor = Color . Green
End If
If check_data ( check_list . p1_date ) = Nothing Or check_data ( check_list . p1_time ) = Nothing Or check_data ( check_list . p1_date ) = " 0 " Or check_data ( check_list . p1_time ) = " 0 " Then
txb_5_prod_date . Text = " - "
txb_5_prod_date . BackColor = Color . Red
write_5_error = True
Else
txb_5_prod_date . Text = Mid ( check_data ( check_list . p1_date ) , 1 , InStr ( 1 , check_data ( check_list . p1_date ) , " " ) - 1 ) & " " & check_data ( check_list . p1_time )
txb_5_prod_date . BackColor = Color . Green
End If
If check_data ( check_list . freq ) = Nothing Or check_data ( check_list . freq ) = " 0 " Then
txb_5_freq . Text = " - "
txb_5_freq . BackColor = Color . Red
write_5_error = True
Else
txb_5_freq . Text = check_data ( check_list . freq )
txb_5_freq . BackColor = Color . Green
End If
If check_data ( check_list . power ) = Nothing Then
txb_5_power . Text = " - "
txb_5_power . BackColor = Color . Red
write_5_error = True
Else
txb_5_power . Text = check_data ( check_list . power ) / 100
txb_5_power . BackColor = Color . Green
End If
If check_data ( check_list . shotcount ) = Nothing Or check_data ( check_list . shotcount ) = " -1 " Then
txb_5_prod_mod . Text = " 0 "
txb_5_prod_mod . BackColor = Color . Red
write_5_error = True
Else
txb_5_prod_mod . Text = check_data ( check_list . shotcount )
txb_5_prod_mod . BackColor = Color . Green
End If
txb_5_prod_mod . ReadOnly = True
If check_data ( check_list . p1_motor ) = Nothing Then
txb_5_prod_motor . Text = " - "
txb_5_prod_motor . BackColor = Color . Red
write_5_error = True
Else
txb_5_prod_motor . Text = check_data ( check_list . p1_motor )
txb_5_prod_motor . BackColor = Color . Green
End If
If write_5_error = True Then
txb_5_barcode . BackColor = Color . Red
Else
txb_5_barcode . BackColor = Color . Green
End If
Else
2025-06-30 15:48:24 +09:00
DBCmd = " SELECT TestStep,Ct_Manufacture_Name,Ct_SN,Ct_Model,Ct_Type,Ct_Abroad,Ct_Agency,PV_SN, Manufacture_Date FROM " & MainNonTDDB & " WHERE Product_SN = ' " & prd_code & " ' "
If DBQueryReader ( DBCmd ) Then
For i = 0 To check_list . power - 1
2025-06-24 11:52:51 +09:00
check_data ( i ) = sqlDataQuery ( i ) . ToString
Next
Else
MsgBox ( " 해당 데이터가 데이터베이스에 존재하지 않습니다. " , vbCritical )
Exit Sub
End If
If check_data ( check_list . make_name ) = Nothing Or check_data ( check_list . make_name ) = " 0 " Then
txb_5_make . Text = " - "
txb_5_make . BackColor = Color . Red
write_5_error = True
Else
txb_5_make . Text = check_data ( check_list . make_name )
txb_5_make . BackColor = Color . Green
End If
If check_data ( check_list . model ) = Nothing Or check_data ( check_list . model ) = " 0 " Then
txb_5_model . Text = " - "
txb_5_model . BackColor = Color . Red
write_5_error = True
Else
txb_5_model . Text = check_data ( check_list . model )
txb_5_model . BackColor = Color . Green
End If
2025-06-30 15:48:24 +09:00
If check_data ( check_list . Manufacture_Date ) = Nothing Or check_data ( check_list . Manufacture_Date ) = " 0 " Then
txb_5_date . Text = " - "
txb_5_date . BackColor = Color . Red
'error_switch = True
Else
txb_5_date . Text = check_data ( check_list . Manufacture_Date )
End If
2025-06-24 11:52:51 +09:00
If check_data ( check_list . serial ) = Nothing Or check_data ( check_list . serial ) = " 0 " Then
txb_5_serial . Text = " - "
txb_5_serial . BackColor = Color . Red
write_5_error = True
Else
txb_5_serial . Text = check_data ( check_list . serial )
txb_5_serial . BackColor = Color . Green
End If
If check_data ( check_list . type ) = Nothing Or check_data ( check_list . type ) = " 0 " Then
txb_5_type . Text = " - "
txb_5_type . BackColor = Color . Red
write_5_error = True
Else
txb_5_type . Text = check_data ( check_list . type )
txb_5_type . BackColor = Color . Green
End If
If check_data ( check_list . agency ) = Nothing Then
txb_5_agency . Text = " - "
txb_5_agency . BackColor = Color . Red
write_5_error = True
Else
txb_5_agency . Text = check_data ( check_list . agency )
txb_5_agency . BackColor = Color . Green
End If
If check_data ( check_list . abroad ) = Nothing Then
txb_5_area . Text = " - "
txb_5_area . BackColor = Color . Red
write_5_error = True
Else
txb_5_area . Text = check_data ( check_list . abroad )
txb_5_area . BackColor = Color . Green
End If
If check_data ( check_list . freq ) = Nothing Or check_data ( check_list . freq ) = " 0 " Then
txb_5_td . Text = " - "
txb_5_td . BackColor = Color . Red
write_5_error = True
Else
txb_5_td . Text = check_data ( check_list . freq )
txb_5_td . BackColor = Color . Green
End If
txb_5_prod_mod . ReadOnly = True
If write_5_error = True Then
txb_5_barcode . BackColor = Color . Red
Else
txb_5_barcode . BackColor = Color . Green
End If
End If
End Sub
2025-06-30 15:48:24 +09:00
Private Sub txb_5_reg_date_GotFocus ( sender As Object , e As EventArgs ) Handles txb_5_reg_date . GotFocus , txb_5_make . GotFocus , txb_5_model . GotFocus , txb_5_serial . GotFocus , txb_5_type . GotFocus , txb_5_agency . GotFocus , txb_5_area . GotFocus , txb_5_prod_date . GotFocus , txb_5_freq . GotFocus , txb_5_power . GotFocus , txb_5_prod_motor . GotFocus , txb_5_td . GotFocus
2025-06-24 11:52:51 +09:00
txb_5_barcode . Focus ( )
End Sub
Private Sub txb_5_barcode_Click ( sender As Object , e As EventArgs ) Handles txb_5_barcode . Click
txb_5_barcode . Text = " "
End Sub
Private Sub txb_5_barcode_TextChanged ( sender As Object , e As EventArgs ) Handles txb_5_barcode . TextChanged
Dim tmpStr As String
If InputCnt = 0 And chbUseBarcode . Checked = True Then
tmpStr = txb_5_barcode . Text
If ( Len ( tmpStr ) > 1 ) Then
tmpStr = Mid ( tmpStr , Len ( tmpStr ) , 1 )
txb_5_barcode . Clear ( )
txb_5_barcode . AppendText ( tmpStr )
End If
SetInputCnt ( )
End If
End Sub
Private Sub ckb_db_use_CheckedChanged ( sender As Object , e As EventArgs ) Handles ckb_db_use . CheckedChanged
Dim msg_result As Int16 = 0
If ckb_db_use . Checked = False Then
msg_result = MsgBox ( " 데이터베이스를 사용하지 않을 시 이후 데이터베이스를 사용할 때 문제가 발생할 수 있습니다. " & vbCrLf & " 계속 하시겠습니까? " , vbExclamation + vbOKCancel )
If msg_result = 1 Then
ckb_db_use . Checked = False
Else
ckb_db_use . Checked = True
End If
End If
End Sub
Private Sub btn_5_write_Click ( sender As Object , e As EventArgs ) Handles btn_5_write . Click
Dim prod_code , prod_serial , serial_num As String
Dim TDUseCompare As Boolean = False
txb_5_result . Refresh ( )
txb_5_result . Text = " 입력중.. "
txb_5_result . BackColor = Color . Orange
If write_5_error = True Then
MsgBox ( " 등록되지 않은 데이터가 존재합니다. 등록하지 않은 데이터를 등록하여 주십시오. " , vbCritical )
txb_5_barcode . Focus ( )
Exit Sub
End If
prod_code = Mid ( txb_5_barcode . Text , 1 , 2 )
prod_serial = Mid ( txb_5_barcode . Text , 3 , 4 )
serial_num = Mid ( txb_5_barcode . Text , 10 , 3 ) & Mid ( txb_5_barcode . Text , 7 , 3 )
prod_serial = prod_serial & serial_num
If Mid ( prod_code , 1 , 1 ) = " 5 " Then
If prod_reg_data ( txb_5_make . Text , prod_serial , prod_code , txb_5_area . Text , txb_5_agency . Text ) Then
If td_reg_data ( txb_5_td . Text ) Then
txb_5_result . Refresh ( )
txb_5_result . Text = " SUCCESS "
txb_5_result . BackColor = Color . Green
Else
txb_5_result . Refresh ( )
txb_5_result . Text = " FAIL 3 "
txb_5_result . BackColor = Color . Red
MsgBox ( " TD 정보 입력을 하는데 오류가 발생하였습니다. " , vbCritical )
End If
Else
txb_5_result . Refresh ( )
txb_5_result . Text = " FAIL 1 "
txb_5_result . BackColor = Color . Red
MsgBox ( " 제품 시리얼 정보 입력을 하는데 오류가 발생하였습니다. " , vbCritical )
End If
Else
If prod_reg_data ( txb_5_make . Text , prod_serial , prod_code , txb_5_area . Text , txb_5_agency . Text ) Then
If sett_reg ( txb_5_freq . Text , Val ( txb_5_power . Text ) * 100 ) Then
If td_reg_data ( txb_5_td . Text ) Then
If Motor_reg ( txb_5_prod_motor . Text ) Then
If shot_reg ( txb_5_prod_mod . Text ) Then
txb_5_result . Refresh ( )
txb_5_result . Text = " SUCCESS "
txb_5_result . BackColor = Color . Green
Else
txb_5_result . Refresh ( )
txb_5_result . Text = " FAIL 5 "
txb_5_result . BackColor = Color . Red
MsgBox ( " 샷 수 정보 입력을 하는데 오류가 발생하였습니다. " , vbCritical )
End If
Else
txb_5_result . Refresh ( )
txb_5_result . Text = " FAIL 4 "
txb_5_result . BackColor = Color . Red
MsgBox ( " 모터 정보 입력을 하는데 오류가 발생하였습니다. " , vbCritical )
End If
Else
txb_5_result . Refresh ( )
txb_5_result . Text = " FAIL 3 "
txb_5_result . BackColor = Color . Red
MsgBox ( " TD 정보 입력을 하는데 오류가 발생하였습니다. " , vbCritical )
End If
Else
txb_5_result . Refresh ( )
txb_5_result . Text = " FAIL 2 "
txb_5_result . BackColor = Color . Red
MsgBox ( " 제품 주파수 및 파워 정보 입력을 하는데 오류가 발생하였습니다. " , vbCritical )
End If
Else
txb_5_result . Refresh ( )
txb_5_result . Text = " FAIL 1 "
txb_5_result . BackColor = Color . Red
MsgBox ( " 제품 시리얼 정보 입력을 하는데 오류가 발생하였습니다. " , vbCritical )
End If
End If
txb_5_barcode . Focus ( )
End Sub
Private Sub ckb_auto_write_CheckedChanged ( sender As Object , e As EventArgs ) Handles ckb_auto_write . CheckedChanged
If ckb_auto_write . Checked Then
ckb_auto_delete . Checked = False
End If
txb_5_barcode . Focus ( )
End Sub
Private Sub txb_5_barcode_KeyDown ( sender As Object , e As KeyEventArgs ) Handles txb_5_barcode . KeyDown
If e . KeyCode = Keys . Return Then
btn_5_check_Click ( sender , e )
End If
End Sub
Private Sub btPrintref_Click ( sender As Object , e As EventArgs ) Handles btPrintref . Click
Dim lvi ( 1 ) As String
Dim alList As System . Collections . ArrayList = New System . Collections . ArrayList ( PrinterSettings . InstalledPrinters )
alList . Sort ( )
dgvPrinter . Rows . Clear ( )
For i = 0 To alList . Count - 1
lvi ( 0 ) = i + 1
lvi ( 1 ) = alList ( i ) . ToString
dgvPrinter . Rows . Add ( lvi )
Next
End Sub
Private Sub btnName1_Click ( sender As Object , e As EventArgs ) Handles btnName1 . Click
Dim row As DataGridViewRow = dgvPrinter . SelectedRows ( 0 )
Dim printname As String = row . Cells ( 1 ) . Value . ToString
txbName1 . Text = printname
End Sub
Private Sub btnName2_Click ( sender As Object , e As EventArgs ) Handles btnName2 . Click
Dim row As DataGridViewRow = dgvPrinter . SelectedRows ( 0 )
Dim printname As String = row . Cells ( 1 ) . Value . ToString
txbName2 . Text = printname
End Sub
Private Sub btnLabel1_Click ( sender As Object , e As EventArgs ) Handles btnLabel1 . Click
Dim fileAddress As String = openfile ( )
If fileAddress <> " fail " Then
txbLabel1 . Text = fileAddress
End If
End Sub
Private Sub btnLabel2_Click ( sender As Object , e As EventArgs ) Handles btnLabel2 . Click
Dim fileAddress As String = openfile ( )
If fileAddress <> " fail " Then
txbLabel2 . Text = fileAddress
End If
End Sub
Private Function openfile ( ) As String
Dim ofd As OpenFileDialog = New OpenFileDialog
ofd . Title = " 라벨 파일 주소 불러오기 "
ofd . FileName = " "
ofd . Filter = " 라벨 파일(*.lbx) | *.lbx "
Dim dr As DialogResult = ofd . ShowDialog
If dr = DialogResult . OK Then
Return ofd . FileName
End If
Return " fail "
End Function
Private Sub ckbAllPnt_CheckedChanged ( sender As Object , e As EventArgs ) Handles ckbAllPnt . CheckedChanged
If ckbAllPnt . Checked = True Then
ckbEachPnt . Enabled = False
gbPrintEach . Enabled = False
ckbEachPnt . Checked = False
ckbBoxPnt . Checked = True
ckbWarPnt . Checked = True
Else
ckbEachPnt . Enabled = True
ckbBoxPnt . Checked = False
ckbWarPnt . Checked = False
End If
option_print_chk = True
End Sub
Private Sub ckbEachPnt_CheckedChanged ( sender As Object , e As EventArgs ) Handles ckbEachPnt . CheckedChanged
If ckbEachPnt . Checked = True Then
gbPrintEach . Enabled = True
Else
gbPrintEach . Enabled = False
End If
ckbBoxPnt . Checked = False
ckbWarPnt . Checked = False
option_print_chk = True
End Sub
Private Sub print_on ( printtext As String , code1 As String , text1 As String , text2 As String )
Try
print_OnOff = False
Dim doc As bpac . Document = New bpac . Document
For i = 0 To print_data . GetLength ( 1 ) - 1
If i = 0 Then
If ckbBoxPnt . Checked = True Then
If printer_state ( print_data ( i , 0 ) ) Then
Dim print_address As String = print_data ( i , 1 )
doc . Open ( print_address )
Dim print_name As Boolean = doc . SetPrinter ( print_data ( i , 0 ) , True )
doc . GetObject ( code1 ) . Text = printtext
doc . GetObject ( text1 ) . Text = printtext
Else
MsgBox ( " 프린터 연결이 잘못되었습니다. 전원이나 케이블을 확인하여 주십시오. " , vbExclamation )
Exit Sub
End If
End If
Else
If ckbWarPnt . Checked = True Then
If printer_state ( print_data ( i , 0 ) ) Then
Dim printt_address As String = print_data ( i , 1 )
doc . Open ( printt_address )
Dim print_name As Boolean = doc . SetPrinter ( print_data ( i , 0 ) , True )
doc . GetObject ( text2 ) . Text = printtext
Else
MsgBox ( " 프린터 연결이 잘못되었습니다. 전원이나 케이블을 확인하여 주십시오. " , vbExclamation )
Exit Sub
End If
End If
End If
doc . StartPrint ( " " , bpac . PrintOptionConstants . bpoDefault )
doc . PrintOut ( 1 , bpac . PrintOptionConstants . bpoDefault )
doc . EndPrint ( )
doc . Close ( )
Next
Catch ex As Exception
MsgBox ( " Print Error : " & ex . Message , vbCritical )
Exit Sub
End Try
End Sub
Private Function printer_state ( printer As String ) As Boolean
Dim scope As ManagementScope = New ManagementScope ( " \root\cimv2 " )
scope . Connect ( )
Dim searcher As ManagementObjectSearcher = New ManagementObjectSearcher ( " SELECT * FROM Win32_Printer " )
Dim printName As String = " "
For Each printobj As ManagementObject In searcher . Get
printName = printobj ( " Name " ) . ToString
If printName . Equals ( printer ) Then
If printobj ( " WorkOffline " ) . ToString . ToLower . Equals ( " true " ) Then
Return False
Else
Return True
End If
End If
Next
Return False
End Function
Private Sub txbName1_TextChanged ( sender As Object , e As EventArgs ) Handles txbName1 . TextChanged , txbLabel1 . TextChanged , txbCode1 . TextChanged , txbText1 . TextChanged , txbName2 . TextChanged , txbLabel2 . TextChanged , txbText2 . TextChanged
option_print_chk = True
End Sub
Private Sub btnPrintSave_Click ( sender As Object , e As EventArgs ) Handles btnPrintSave . Click
If txbName1 . Text . Replace ( " " , " " ) = " " Or txbLabel1 . Text . Replace ( " " , " " ) = " " Or txbCode1 . Text . Replace ( " " , " " ) = " " Or txbText1 . Text . Replace ( " " , " " ) = " " Then
MsgBox ( " 박스 바코드 인쇄 프린터 설정란에 빈 칸이 존재합니다. 빈 칸을 채워주십시오. " , vbExclamation )
Exit Sub
End If
If txbName2 . Text . Replace ( " " , " " ) = " " Or txbLabel2 . Text . Replace ( " " , " " ) = " " Or txbText2 . Text . Replace ( " " , " " ) = " " Then
MsgBox ( " 워런티 카드 텍스트 인쇄 프린터 설정란에 빈 칸이 존재합니다. 빈 칸을 채워주십시오. " , vbExclamation )
Exit Sub
End If
If save_comport ( " print " ) = False Then
MsgBox ( " 저장하는 도중 오류가 발생하였습니다. 파일을 확인하여 주십시오. " , vbCritical )
Exit Sub
End If
option_print_chk = False
printOptionData ( )
MsgBox ( " 저장이 완료되었습니다. " , vbInformation )
End Sub
Private Sub printOptionData ( )
print_data ( 0 , 0 ) = txbName1 . Text
print_data ( 0 , 1 ) = txbLabel1 . Text
print_data ( 1 , 0 ) = txbName2 . Text
print_data ( 1 , 1 ) = txbLabel2 . Text
End Sub
Private Sub txb_5_prod_mod_DoubleClick ( sender As Object , e As EventArgs ) Handles txb_5_prod_mod . DoubleClick
txb_5_prod_mod . BackColor = Color . White
txb_5_prod_mod . ReadOnly = False
End Sub
Private Sub txb_5_prod_mod_KeyPress ( sender As Object , e As KeyPressEventArgs ) Handles txb_5_prod_mod . KeyPress
If Not Char . IsDigit ( e . KeyChar ) And Not Char . IsControl ( e . KeyChar ) Then
e . Handled = True
End If
End Sub
Private Sub ckbfrontprt_CheckedChanged ( sender As Object , e As EventArgs ) Handles ckbfrontprt . CheckedChanged
If ckbfrontprt . Checked = True Then
ckbAllPnt . Checked = True
Else
ckbAllPnt . Checked = False
End If
End Sub
Private Sub btnbasic_Click ( sender As Object , e As EventArgs ) Handles btnbasic . Click
txbOptBasic . Text = dgv_data . SelectedRows ( 0 ) . Index
End Sub
Private Sub txbOptBasic_gotFocus ( sender As Object , e As EventArgs ) Handles txbOptBasic . GotFocus
btnbasic . Focus ( )
End Sub
Private Sub ckbselect_CheckedChanged ( sender As Object , e As EventArgs ) Handles ckbselect . CheckedChanged
If ckbselect . Checked = True Then
cboselect . SelectedIndex = txbOptBasic . Text
'boselect_SelectedIndexChanged(sender, e)
cboselect . Enabled = False
Else
cboselect . Enabled = True
End If
End Sub
Private Sub ckb_auto_delete_CheckedChanged ( sender As Object , e As EventArgs ) Handles ckb_auto_delete . CheckedChanged
If ckb_auto_delete . Checked Then
ckb_auto_write . Checked = False
End If
txb_5_barcode . Focus ( )
End Sub
Private Sub btn_5_delete_Click ( sender As Object , e As EventArgs ) Handles btn_5_delete . Click
DBCmd = " UPDATE " & cartridge_table & " SET TestStep = '32' ,Product_SN = NULL WHERE Product_SN = ' " & txb_5_barcode . Text & " ' "
If DBCommand ( DBCmd ) Then
txb_5_result . Refresh ( )
txb_5_result . Text = " SUCCESS "
txb_5_result . BackColor = Color . Green
Exit Sub
End If
txb_5_result . Refresh ( )
txb_5_result . Text = " FAIL 0 "
txb_5_result . BackColor = Color . Red
MsgBox ( " 데이터베이스를 설정하는데 오류가 발생하였습니다 " , vbCritical )
End Sub
Private Sub ckb_info_CheckedChanged ( sender As Object , e As EventArgs ) Handles ckb_info . CheckedChanged
txb_serial_num . Focus ( )
End Sub
Private Function Save_Csv ( SaveData As String , SaveType As Boolean ) As Boolean
On Error GoTo WR_File_Error
Dim objWriter As StreamWriter
Dim FileName As String
Dim syaer As String = DateAndTime . Year ( Now )
Dim smonth As String = DateAndTime . Month ( Now )
Dim sday As String = DateAndTime . Day ( Now )
Dim FilePath As String = System . AppDomain . CurrentDomain . BaseDirectory & " \LogData "
If Dir ( FilePath , vbDirectory ) = " " Then
MkDir ( FilePath )
End If
If SaveType = True Then
FileName = FilePath & " \ " & DateAndTime . Year ( Now ) & " _ " & DateAndTime . Month ( Now ) & " _ " & DateAndTime . Day ( Now ) & " (FreqData).csv "
Else
FileName = FilePath & " \ " & DateAndTime . Year ( Now ) & " _ " & DateAndTime . Month ( Now ) & " _ " & DateAndTime . Day ( Now ) & " (ProdData).csv "
End If
If File . Exists ( FileName ) = True Then
objWriter = New StreamWriter ( FileName , True )
objWriter . WriteLine ( SaveData )
Else
objWriter = New StreamWriter ( FileName , True )
objWriter . WriteLine ( ItemList )
objWriter . WriteLine ( SaveData )
End If
objWriter . Close ( )
Return False
WR_File_Error :
MsgBox ( " Logdata save fail! " & Err . Description )
Return True
End Function
Private Sub btnDeep_Click ( sender As Object , e As EventArgs ) Handles btnDeep . Click
Try
If dotSerial = Nothing Then
MsgBox ( " 검사를 진행할 시리얼 번호를 입력하여 주십시오. " , vbExclamation )
btnc_run . Focus ( )
GoTo FailExit
End If
If nudDeep . Text . Replace ( " " , " " ) = " " Then
MsgBox ( " 깊이 정보를 입력하지 않으셨습니다. " , vbExclamation )
nudDeep . Focus ( )
GoTo FailExit
End If
nudDeep . BackColor = Color . Yellow
If Motor_reg ( nudDeep . Value ) Then
If motor_db_reg ( nudDeep . Value , dotSerial ) Then
GoTo SuccessExit
Else
MsgBox ( " 데이터베이스에 등록하는 과정에서 오류가 발생하였습니다. " , vbCritical )
GoTo FailExit
End If
Else
MsgBox ( " 제품과의 연결이 올바르지 않습니다. " )
GoTo FailExit
End If
Catch ex As Exception
MsgBox ( " 오류가 발생하였습니다 : " & vbCrLf & ex . Message )
GoTo FailExit
End Try
FailExit :
nudDeep . BackColor = Color . Red
nudDeep . Refresh ( )
txbPV_SN . Focus ( )
Exit Sub
SuccessExit :
nudDeep . BackColor = Color . Green
nudDeep . Refresh ( )
txbPV_SN . Focus ( )
Exit Sub
End Sub
Private Sub btnPower_Click ( sender As Object , e As EventArgs ) Handles btnPower . Click
Try
If dotSerial = Nothing Then
MsgBox ( " 검사를 진행할 시리얼 번호를 입력하여 주십시오. " , vbExclamation )
btnc_run . Focus ( )
GoTo FailExit
End If
If nudPower . Text . Replace ( " " , " " ) = " " Then
MsgBox ( " 깊이 정보를 입력하지 않으셨습니다. " , vbExclamation )
nudPower . Focus ( )
Exit Sub
End If
nudPower . BackColor = Color . Yellow
Dim freq As String = txb_CValue . Text
Dim power As String = nudPower . Value
If sett_reg ( freq , power ) Then
If td_serial_update ( freq , power , dotSerial ) Then
GoTo SuccessExit
Else
MsgBox ( " 데이터 베이스에 저장하는데 오류가 발생하였습니다. " , vbCritical )
GoTo FailExit
End If
Else
MsgBox ( " 제품 데이터를 전송하는데 오류가 발생하였습니다. " , vbCritical )
GoTo FailExit
End If
Catch ex As Exception
MsgBox ( " 오류가 발생하였습니다 : " & vbCrLf & ex . Message )
GoTo FailExit
End Try
FailExit :
nudPower . BackColor = Color . Red
nudPower . Refresh ( )
txbPV_SN . Focus ( )
Exit Sub
SuccessExit :
nudPower . BackColor = Color . Green
nudPower . Refresh ( )
txbPV_SN . Focus ( )
Exit Sub
End Sub
Private Sub txb_tdp_KeyPress ( sender As Object , e As KeyPressEventArgs ) Handles txb_tdp . KeyPress
If Not ( Char . IsDigit ( e . KeyChar ) Or e . KeyChar = Convert . ToChar ( Keys . Back ) Or e . KeyChar = " . " Or e . KeyChar = " - " ) Then
e . Handled = True
End If
If InStr ( txb_tdp . Text , " - " ) = 1 Then
txb_tdp . MaxLength = 5
Else
txb_tdp . MaxLength = 4
End If
End Sub
Private Sub txb_tdp_KeyDown ( sender As Object , e As KeyEventArgs ) Handles txb_tdp . KeyDown , txb_tdf . KeyDown , txb_area_code . KeyDown , txb_abr_code . KeyDown
Dim useText As TextBox = DirectCast ( sender , TextBox )
If e . Control Then
If e . KeyCode = Keys . A Then
useText . SelectAll ( )
End If
End If
End Sub
Private Sub txb_tdf_KeyPress ( sender As Object , e As KeyPressEventArgs ) Handles txb_tdf . KeyPress , txb_area_code . KeyPress , txb_abr_code . KeyPress
If Not ( Char . IsDigit ( e . KeyChar ) Or e . KeyChar = Convert . ToChar ( Keys . Back ) ) Then
e . Handled = True
End If
End Sub
Private Sub ckbNonTD_CheckedChanged ( sender As Object , e As EventArgs ) Handles ckbNonTD . CheckedChanged
If ckbNonTD . Checked = True Then
lb_tdf . Enabled = True
txb_tdf . Enabled = True
lb_tdp . Enabled = True
txb_tdp . Enabled = True
gbShot . Enabled = True
gpbLocal . Enabled = True
lbMode . Enabled = True
rdbV1 . Enabled = True
rdbV2 . Enabled = True
ManagerTDUse = True
Else
lb_tdf . Enabled = False
txb_tdf . Enabled = False
lb_tdp . Enabled = False
txb_tdp . Enabled = False
gbShot . Enabled = False
gpbLocal . Enabled = False
lbMode . Enabled = False
rdbV1 . Enabled = False
rdbV2 . Enabled = False
ManagerTDUse = False
End If
End Sub
End Class