@@ -5,7 +5,7 @@ Public Class Form1
5
5
Dim nowVersion As String
6
6
Dim sortColumn As Integer = - 1
7
7
Private Sub Form1_Load(sender As Object , e As EventArgs) Handles MyBase .Load
8
- nowVersion = "2.02 .0" '버전 가운데는 두자리로!
8
+ nowVersion = "2.03 .0" '버전 가운데는 두자리로!
9
9
lrnType.Text = "학습중"
10
10
LType = "LRN"
11
11
CheckUpdate(nowVersion)
@@ -60,6 +60,7 @@ Public Class Form1
60
60
SCodeBox.Focus()
61
61
Else
62
62
'로그인 시도
63
+ Me .Cursor = Cursors.WaitCursor '로딩 커서
63
64
' MsgBox("Shost: " & Shost & vbCrLf & "MainH: " & MainH)
64
65
http.Open( "POST" , "https://" & Shost & ".ebssw.kr/sso" )
65
66
http.SetRequestHeader( "Referer" , "https://" & MainH & ".ebssw.kr/sso/loginView.do?loginType=onlineClass" )
@@ -96,6 +97,7 @@ Public Class Form1
96
97
IDBox.Focus()
97
98
End If
98
99
End If
100
+ Me .Cursor = Cursors.Default '커서 디폴트로 복귀
99
101
End Sub
100
102
Private Sub Enable_Control(bool As Boolean )
101
103
IDBox.Enabled = bool
@@ -151,11 +153,25 @@ Public Class Form1
151
153
ElseIf lrnType.Text = "학습완료" Then
152
154
LType = "COMPT"
153
155
Call CallNokori()
156
+ ElseIf lrnType.Text = "미수강중" Then
157
+ Call CallNotEnrolled()
154
158
Else
155
159
lrnType.Text = "학습중"
156
160
LType = "LRN"
157
161
End If
158
162
End Sub
163
+ Private Sub StatusList_MouseDoubleClick(sender As Object , e As MouseEventArgs) Handles StatusList.MouseDoubleClick
164
+ Dim i As Integer
165
+ Dim selectURL As String
166
+ With Me .StatusList
167
+ For i = 0 To .Items.Count - 1
168
+ If .Items(i).Selected = True Then
169
+ selectURL = .Items(i).SubItems( 3 ).Text
170
+ System.Diagnostics.Process.Start(selectURL) '브라우저로 보기
171
+ End If
172
+ Next
173
+ End With
174
+ End Sub
159
175
Private Sub CallNokori()
160
176
'진행중인 강의와 진도율 조회
161
177
Dim html, html2, MyUrl, Cutting, Lcount, NowUrl, ClassName, Ltotal, ComCount As String
@@ -166,6 +182,7 @@ Public Class Form1
166
182
UrlList = Split(U1, "|" ) 'URL을 리스트로 정렬
167
183
StatusList.Items.Clear() '리스트 초기화
168
184
ComCount = 0 '100% 카운트 초기화
185
+ Me .Cursor = Cursors.WaitCursor '로딩 커서
169
186
170
187
For i = 1 To UBound(UrlList)
171
188
NowUrl = "https://" & UrlList(i) '클래스 URL
@@ -237,6 +254,7 @@ Public Class Form1
237
254
StatusList.Items.AddRange( New ListViewItem() {CListDesu})
238
255
CListDesu.SubItems.Add(Lname(i2)) '진도 이름
239
256
CListDesu.SubItems.Add(strPer) '진도율
257
+ CListDesu.SubItems.Add(NowUrl & "/hmpg/hmpgLctrumView.do?menuSn=" & MyUrl & "&alctcrSn=" & alctcrSn(i2) & "&stepSn=" & stepSn(i2)) '주소
240
258
Application.DoEvents() '렉 방지
241
259
Lcount = 0 '카운트 초기화
242
260
Next i2
@@ -246,11 +264,55 @@ Public Class Form1
246
264
'로딩완료 이후
247
265
startNokori.Enabled = True '새로고침 버튼 활성화
248
266
lrnType.Enabled = True '콤보박스 활성화
267
+ Me .Cursor = Cursors.Default '커서 디폴트로 복귀
249
268
If LType = "LRN" And ComCount <> 0 Then
250
269
MsgBox(ComCount & "개의 강의가 학습완료 처리되었습니다." & vbCrLf & "새로고침을 시도합니다!" )
251
270
Call CallNokori() '새로고침
252
271
End If
253
272
End Sub
273
+ Private Sub CallNotEnrolled() '미수강중 목록 불러오기
274
+ Dim NowUrl, html, ClassName, Cutting, Lname(), Lurl(), urlpage As String
275
+ startNokori.Enabled = False '새로고침 비활성화
276
+ lrnType.Enabled = False '콤보박스 비활성화
277
+ StatusList.Items.Clear() '리스트 초기화
278
+ Me .Cursor = Cursors.WaitCursor '로딩 커서
279
+
280
+ For i = 1 To UBound(UrlList)
281
+ NowUrl = "https://" & UrlList(i) '클래스 URL
282
+ http.Open( "GET" , NowUrl)
283
+ http.Send()
284
+ http.WaitForResponse()
285
+ html = System.Text.Encoding.UTF8.GetString(http.ResponseBody)
286
+ ClassName = Split(Split(html, "logo txt_grey"">" )( 1 ), "</a>" )( 0 ) '클래스 이름 추출
287
+
288
+ Cutting = Split(html, "learning_list" )( 1 ) '리스트 부분 컷
289
+ Lname = Split(Cutting, "tit bold" ) '강의 제목 검출용
290
+ Lurl = Split(Cutting, "<li class=""clearfix"">" ) '강의주소 검출용
291
+
292
+ For i2 = 1 To UBound(Lurl)
293
+ Lname(i2) = Split(Split(Lname(i2), """>" )( 1 ), "</p>" )( 0 ).Replace(vbTab, "" ) '강의 제목
294
+ Lurl(i2) = Split(Split(Lurl(i2), "<a href=""" )( 1 ), """>" )( 0 ) '주소 부분만 따오기
295
+ http.Open( "GET" , "https://" & Shost & ".ebssw.kr" & Lurl(i2))
296
+ http.Send()
297
+ http.WaitForResponse()
298
+ urlpage = System.Text.Encoding.UTF8.GetString(http.ResponseBody)
299
+ If InStr(urlpage, "btn_enrol" ) Then
300
+ Dim NotEnrollList As New ListViewItem(ClassName, i2 - 1 ) '과목 제목
301
+ StatusList.Items.AddRange( New ListViewItem() {NotEnrollList})
302
+ NotEnrollList.SubItems.Add(Lname(i2)) '진도 이름
303
+ NotEnrollList.SubItems.Add( "미수강중" ) '미수강 표시
304
+ NotEnrollList.SubItems.Add( "https://" & Shost & ".ebssw.kr" & Lurl(i2)) '강의 주소
305
+ Application.DoEvents() '렉방지
306
+ Else
307
+ End If
308
+ Application.DoEvents() '렉방지
309
+ Next i2
310
+ Application.DoEvents() '렉방지
311
+ Next i
312
+ startNokori.Enabled = True '새로고침 버튼 활성화
313
+ lrnType.Enabled = True '콤보박스 활성화
314
+ Me .Cursor = Cursors.Default '커서 디폴트로 복귀
315
+ End Sub
254
316
Private Sub IDSaveBox_CheckedChanged(sender As Object , e As EventArgs) Handles IDSaveBox.CheckedChanged
255
317
'아이디저장 체크시 상태저장 ㄱㄱ
256
318
My.Settings.IDSave = IDSaveBox.Checked
@@ -337,7 +399,7 @@ Public Class Form1
337
399
End If
338
400
Else
339
401
'지금 버전이 최신보다 클 때
340
- MsgBox( "개발중인 테스트 버전 입니다." , MsgBoxStyle.Exclamation, "Welcome! Beta Tester." )
402
+ MsgBox( "개발중인 테스트 버전 입니다." & vbCrLf & "최신: " & lastest & " / 현재: " & nowVer , MsgBoxStyle.Exclamation, "Welcome! Beta Tester." )
341
403
End If
342
404
End Sub
343
405
End Class
0 commit comments