Page 218 - 3-3
P. 218
' 학생 데이터 클리어
student = 0
'PC 이라는 문자열을 수신하면
ElseIf Mid(rtbError.Text, 1, 2) = "PC" Then
' 개수 한 개 증가
Pcount = Pcount + 1
' 개수 출력 라벨( )
lblRecordPushup.Text = Pcount
' 에러 박스 텍스트 지우기
rtbError.Text = ""
'PF 라는 문자열을 수신하면
ElseIf Mid(rtbError.Text, 1, 2) = "PF" Then
' 소켓 전송 메서드 호출
SendSocket(1, Mid(lblPstu.Text, 1, 6), Mid(lblPstu.Text, 7),
lblRecordPushup.Text)
' 엑셀이 열린 상태면
If Excel = True Then
' 데이터 전송 메서드 호출
SendToExcel()
' 열린 상태가 아니면
Else
' 메시지 박스 출력
MsgBox("EXCEL 버튼을 누르세요", MsgBoxStyle.Exclamation)
'Go Excel 에러 출력
rtbError.Text = "Go Excel"
End If
End If
End If
End Sub
' 유연성 데이터 리시브
Private Sub ReceivedTextF(ByVal [text] As String)
' 컨트롤의 Handle 이 호출 스레드와 다른 스레드에서 만들어져 호출 메서드를 통해 해당 컨트
롤을 호출해야 하는 경우 true 이고 그렇지 않으면, false
If lblFstu.InvokeRequired Or lblRecordFlex.InvokeRequired Then
' 대리자 객체형으로 변수 생성
Dim x As New SetTextBackCall(AddressOf ReceivedTextF)
' 컨트롤의 내부 창 핸들이 있는 스레드에서 지정된 대리자를 실행
Invoke(x, New Object() {(text)})
Else
' 수신한 데이터 에러 박스에 추가
- 218 -