@@ -4,7 +4,7 @@ Public Class Form1
4
4
Public U1, UrlList(), First, SAML0, SAML1, Shost, MainH, LType As String
5
5
Dim nowVersion As String
6
6
Private Sub Form1_Load(sender As Object , e As EventArgs) Handles MyBase .Load
7
- nowVersion = "2.00 .0" '버전 가운데는 두자리로!
7
+ nowVersion = "2.01 .0" '버전 가운데는 두자리로!
8
8
lrnType.Text = "학습중"
9
9
LType = "LRN"
10
10
CheckUpdate(nowVersion)
@@ -13,6 +13,11 @@ Public Class Form1
13
13
IDSaveBox.Checked = My.Settings.IDSave
14
14
Shost = "hoc30" '임시방편
15
15
16
+ StatusList.Enabled = False
17
+ ClassList.Enabled = False
18
+ startNokori.Enabled = False
19
+ lrnType.Enabled = False
20
+
16
21
http = CreateObject( "WinHttp.WinHttpRequest.5.1" )
17
22
http.Open( "GET" , "https://ebssw.kr/sso/loginView.do?loginType=onlineClass" )
18
23
'http.Send("c=LI&SAMLRequest=PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c2FtbDJwOkF1dGhuUmVxdWVzdCAgICB4bWxuczpzYW1sMnA9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDpwcm90b2NvbCIgICAgICAgIElEPSJob2MyNC5lYnNzdy5rci0xNTg2OTY0MDcxNjUxIiAgICAgICAgVmVyc2lvbj0iMi4wIiAgICAgICAgSXNzdWVJbnN0YW50PSIyMDIwLTA0LTE1VDE1OjIxOjExLjY1MVoiICAgICAgICBBc3NlcnRpb25Db25zdW1lclNlcnZpY2VVUkw9Imh0dHBzOi8vaG9jMjQuZWJzc3cua3Ivc3NvIiAgICAgICAgRGVzdGluYXRpb249Imh0dHBzOi8vc3NvLmVicy5jby5rci9pZHAvcHJvZmlsZS9TQU1MMi9QT1NULVJlZGlyZWN0L1NTTyI+PHNhbWwyOklzc3VlciB4bWxuczpzYW1sMj0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOmFzc2VydGlvbiI+aG9jMjQuZWJzc3cua3I8L3NhbWwyOklzc3Vlcj48L3NhbWwycDpBdXRoblJlcXVlc3Q+&j_returnurl=https%3A%2F%2Fhoc.ebssw.kr%2FonlineClass%2Freqst%2FonlineClassReqstInfoView.do&j_loginurl=https%3A%2F%2Fhoc24.ebssw.kr%2Fsso%2FloginView.do&hmpgId=&userSeCode=&loginType=onlineClass")
@@ -132,7 +137,7 @@ Public Class Form1
132
137
Next i
133
138
Call CallNokori() '자동 새로고침
134
139
Catch ex As Exception
135
- MsgBox( "불러오기에 실패했습니다 ." )
140
+ MsgBox( "불러오는 중 오류가 발생했습니다 ." )
136
141
End Try
137
142
End Sub
138
143
@@ -151,9 +156,11 @@ Public Class Form1
151
156
152
157
Private Sub CallNokori()
153
158
'진행중인 강의와 진도율 조회
154
- Dim html, html2, MyUrl, Cutting, Lname(), Cutting2, NowUrl, ClassName, Ltotal (), Lend () As String
159
+ Dim html, html2, MyUrl, Cutting, Lname(), NowUrl, ClassName, Lend (), Ltotal, Lcontext () As String
155
160
Dim Lcount, Ltot As String
156
- startNokori.Enabled = False
161
+
162
+ startNokori.Enabled = False '새로고침 비활성화
163
+ lrnType.Enabled = False '콤보박스 비활성화
157
164
UrlList = Split(U1, "|" ) 'URL을 리스트로 정렬
158
165
StatusList.Items.Clear() '리스트 초기화
159
166
@@ -178,36 +185,32 @@ Public Class Form1
178
185
'Console.WriteLine("<------------------------>" & vbCrLf & html2)
179
186
Cutting = Split(html2, "list al" )( 1 )
180
187
181
- If InStr(Cutting, "학습중인 강좌가 없습니다." ) Then
188
+ If InStr(Cutting, "강좌가 없습니다." ) Then
182
189
'넘어가욧!
183
190
Else
184
- 'Console.WriteLine(Cutting)
191
+ 'Console.WriteLine(Cutting)
185
192
Lname = Split(Cutting, "tit bold" ) 'for문에서 i가 추가되면 새롭게 string을 찾음
186
- Cutting2 = Split(Split(Cutting, "ico_way clearfix" )( 1 ), "</div>" )( 0 )
193
+ Lcontext = Split(Cutting, "tit bold" )
194
+
187
195
For i2 = 1 To UBound(Lname)
188
- Lcount = 0
189
- Ltot = 0
190
196
Lname(i2) = Split(Split(Lname(i2), "tit_txt"">" )( 1 ), "</span>" )( 0 ).Replace(vbTab, "" ) '강의 제목
197
+ Lcontext(i2) = Split(Split(Lcontext(i2), "class=""way""" )( 1 ), "</div>" )( 0 ) '목차 부분만 따오기
198
+ Lend = Split(Lcontext(i2), "<a href" ) 'a 부분 반복 ㄱㄱ
191
199
192
- Ltotal = Split(Cutting2, "<a" )
193
- Lend = Split(Cutting2, "<a" )
194
-
195
- For i3 = 1 To UBound(Ltotal) 'end 검출
196
- 'Console.WriteLine("<------------------------>" & vbCrLf & Ltotal(i3))
197
- Ltotal(i3) = Split(Split(Ltotal(i3), "hr" )( 1 ), "javascript" )( 0 )
198
- Lend(i3) = Split(Split(Lend(i3), "class" )( 1 ), ">" )( 0 )
200
+ 'Console.WriteLine("<------------------------>" & vbCrLf & Lcontext(i2)) '강의 당 목차 파싱 출력
199
201
200
- If InStr(Ltotal(i3), "ef" ) Then
201
- Ltot = Ltot + 1
202
- End If
203
- If InStr(Lend(i3), "end" ) Then 'class="end">
204
- Lcount = Lcount + 1
202
+ Lcount = 0
203
+ Ltot = 0 '카운트 초기화
204
+ For i4 = 1 To UBound(Lend) 'end 검출
205
+ Lend(i4) = Split(Split(Lend(i4), "class=" )( 1 ), ">" )( 0 ) '강의 목차 추출
206
+ If InStr(Lend(i4), "end" ) Then 'class="end">
207
+ Lcount = Lcount + 1 '완료 카운트 계산
205
208
End If
206
-
207
- Next i3
208
- Application.DoEvents()
209
-
210
- Dim totalPer As Double = Lcount / Ltot * 100
209
+ Next i4
210
+ Ltotal = UBound(Lend)
211
+ ' Application.DoEvents()
212
+ 'Console.WriteLine("<--" & Lname(i2) & ": " & Lcount & "/" & UBound(Lend))
213
+ Dim totalPer As Double = Lcount / Ltotal * 100
211
214
Dim strPer As String = Int32.Parse(Math.Truncate(totalPer).ToString()) & "%"
212
215
213
216
' MsgBox(strPer)
@@ -218,11 +221,15 @@ Public Class Form1
218
221
CListDesu.SubItems.Add(Lname(i2)) '진도 이름
219
222
CListDesu.SubItems.Add(strPer) '진도율
220
223
Application.DoEvents()
224
+ Lcount = 0
225
+ Ltot = 0 '카운트 초기화
221
226
Next i2
222
227
End If
223
228
Application.DoEvents()
224
229
Next i
230
+ '로딩완료 이후
225
231
startNokori.Enabled = True '새로고침 버튼 활성화
232
+ lrnType.Enabled = True '콤보박스 활성화
226
233
End Sub
227
234
Private Sub IDSaveBox_CheckedChanged(sender As Object , e As EventArgs) Handles IDSaveBox.CheckedChanged
228
235
'아이디저장 체크시 상태저장 ㄱㄱ
@@ -231,12 +238,12 @@ Public Class Form1
231
238
Call IDSaving()
232
239
End Sub
233
240
Private Sub SCodeFind_Click(sender As Object , e As EventArgs) Handles SCodeFind.Click
234
- SearchCode.Show()
241
+ SearchCode.Show() '학교검색 폼 실행
235
242
'System.Diagnostics.Process.Start("https://github.com/devITae/EBSOCProgressViewer#11-%ED%95%99%EA%B5%90%EC%BD%94%EB%93%9C-%EC%B0%BE%EA%B8%B0")
236
243
End Sub
237
244
238
245
Private Sub LinkLabel1_LinkClicked(sender As Object , e As LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked
239
- System.Diagnostics.Process.Start( "https://github.com/devITae/EBSOCProgressViewer" )
246
+ System.Diagnostics.Process.Start( "https://github.com/devITae/EBSOCProgressViewer" ) '깃허브 이동
240
247
End Sub
241
248
242
249
Private Sub startNokori_Click(sender As Object , e As EventArgs) Handles startNokori.Click
@@ -254,7 +261,8 @@ Public Class Form1
254
261
End If
255
262
End Sub
256
263
Public Sub CheckUpdate(nowVer As String )
257
- Dim HTML, lastest, upLink, IU As String
264
+ '업데이트 확인
265
+ Dim HTML, lastest, upLink, IU, notice As String
258
266
http2 = CreateObject( "WinHttp.WinHttpRequest.5.1" )
259
267
http2.Open( "GET" , "https://github.com/devITae/EBSOCProgressViewer/blob/master/img/version" )
260
268
http2.Send()
@@ -265,6 +273,10 @@ Public Class Form1
265
273
266
274
If lastest = nowVer Then
267
275
'최신버전
276
+ If InStr(HTML, "공지사항있음" ) Then
277
+ notice = Split(Split(HTML, "NotiMent(" )( 1 ), ")" )( 0 )
278
+ MsgBox(notice, MsgBoxStyle.Exclamation, "공지사항" )
279
+ End If
268
280
ElseIf lastest > nowVersion Then
269
281
'업데이트 알림
270
282
IU = MsgBox( "새로운 버전이 감지되었습니다!" & vbCrLf & "지금 업데이트 하시겠습니까?" , vbYesNo)
0 commit comments