Skip to content
This repository was archived by the owner on Mar 9, 2024. It is now read-only.

Commit c8dfb65

Browse files
committed
2.3 Update
1 parent 2c7f628 commit c8dfb65

16 files changed

+84
-19
lines changed

EBSOCStatus/EBSOCStatus/Form1.Designer.vb

+6-5
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

EBSOCStatus/EBSOCStatus/Form1.vb

+64-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Public Class Form1
55
Dim nowVersion As String
66
Dim sortColumn As Integer = -1
77
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
8-
nowVersion = "2.02.0" '버전 가운데는 두자리로!
8+
nowVersion = "2.03.0" '버전 가운데는 두자리로!
99
lrnType.Text = "학습중"
1010
LType = "LRN"
1111
CheckUpdate(nowVersion)
@@ -60,6 +60,7 @@ Public Class Form1
6060
SCodeBox.Focus()
6161
Else
6262
'로그인 시도
63+
Me.Cursor = Cursors.WaitCursor '로딩 커서
6364
' MsgBox("Shost: " & Shost & vbCrLf & "MainH: " & MainH)
6465
http.Open("POST", "https://" & Shost & ".ebssw.kr/sso")
6566
http.SetRequestHeader("Referer", "https://" & MainH & ".ebssw.kr/sso/loginView.do?loginType=onlineClass")
@@ -96,6 +97,7 @@ Public Class Form1
9697
IDBox.Focus()
9798
End If
9899
End If
100+
Me.Cursor = Cursors.Default '커서 디폴트로 복귀
99101
End Sub
100102
Private Sub Enable_Control(bool As Boolean)
101103
IDBox.Enabled = bool
@@ -151,11 +153,25 @@ Public Class Form1
151153
ElseIf lrnType.Text = "학습완료" Then
152154
LType = "COMPT"
153155
Call CallNokori()
156+
ElseIf lrnType.Text = "미수강중" Then
157+
Call CallNotEnrolled()
154158
Else
155159
lrnType.Text = "학습중"
156160
LType = "LRN"
157161
End If
158162
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
159175
Private Sub CallNokori()
160176
'진행중인 강의와 진도율 조회
161177
Dim html, html2, MyUrl, Cutting, Lcount, NowUrl, ClassName, Ltotal, ComCount As String
@@ -166,6 +182,7 @@ Public Class Form1
166182
UrlList = Split(U1, "|") 'URL을 리스트로 정렬
167183
StatusList.Items.Clear() '리스트 초기화
168184
ComCount = 0 '100% 카운트 초기화
185+
Me.Cursor = Cursors.WaitCursor '로딩 커서
169186

170187
For i = 1 To UBound(UrlList)
171188
NowUrl = "https://" & UrlList(i) '클래스 URL
@@ -237,6 +254,7 @@ Public Class Form1
237254
StatusList.Items.AddRange(New ListViewItem() {CListDesu})
238255
CListDesu.SubItems.Add(Lname(i2)) '진도 이름
239256
CListDesu.SubItems.Add(strPer) '진도율
257+
CListDesu.SubItems.Add(NowUrl & "/hmpg/hmpgLctrumView.do?menuSn=" & MyUrl & "&alctcrSn=" & alctcrSn(i2) & "&stepSn=" & stepSn(i2)) '주소
240258
Application.DoEvents() '렉 방지
241259
Lcount = 0 '카운트 초기화
242260
Next i2
@@ -246,11 +264,55 @@ Public Class Form1
246264
'로딩완료 이후
247265
startNokori.Enabled = True '새로고침 버튼 활성화
248266
lrnType.Enabled = True '콤보박스 활성화
267+
Me.Cursor = Cursors.Default '커서 디폴트로 복귀
249268
If LType = "LRN" And ComCount <> 0 Then
250269
MsgBox(ComCount & "개의 강의가 학습완료 처리되었습니다." & vbCrLf & "새로고침을 시도합니다!")
251270
Call CallNokori() '새로고침
252271
End If
253272
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
254316
Private Sub IDSaveBox_CheckedChanged(sender As Object, e As EventArgs) Handles IDSaveBox.CheckedChanged
255317
'아이디저장 체크시 상태저장 ㄱㄱ
256318
My.Settings.IDSave = IDSaveBox.Checked
@@ -337,7 +399,7 @@ Public Class Form1
337399
End If
338400
Else
339401
'지금 버전이 최신보다 클 때
340-
MsgBox("개발중인 테스트 버전 입니다.", MsgBoxStyle.Exclamation, "Welcome! Beta Tester.")
402+
MsgBox("개발중인 테스트 버전 입니다." & vbCrLf & "최신: " & lastest & " / 현재: " & nowVer, MsgBoxStyle.Exclamation, "Welcome! Beta Tester.")
341403
End If
342404
End Sub
343405
End Class

EBSOCStatus/EBSOCStatus/My Project/AssemblyInfo.vb

+2-2
Original file line numberDiff line numberDiff line change
@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
3131
' 지정되도록 할 수 있습니다.
3232
' <Assembly: AssemblyVersion("1.0.*")>
3333

34-
<Assembly: AssemblyVersion("2.2.0.0")>
35-
<Assembly: AssemblyFileVersion("2.2.0.0")>
34+
<Assembly: AssemblyVersion("2.3.0.0")>
35+
<Assembly: AssemblyFileVersion("2.3.0.0")>

EBSOCStatus/EBSOCStatus/SearchCode.Designer.vb

+2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

README.md

+7-7
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
EBS 온라인 클래스 진도율을 일괄적으로 조회/계산할 수 있는 프로그램입니다.
33
진도율로 출결관리를 하는 학생들을 위해 제작되었습니다.
44

5-
### 최신버전 : v2.2 (Build 200425)
5+
### 최신버전 : v2.3 (Build 200528)
66

7-
## [다운로드 (Download)](https://github.com/devITae/EBSOCProgressViewer/releases/download/2.2/EBSOCPro2.2.exe)
7+
## [다운로드 (Download)](https://github.com/devITae/EBSOCProgressViewer/releases/download/2.3/EBSOCPro2.3.exe)
88
![최초 실행시](./img/first_notice.png)
99
#### VB .NET 으로 제작되었으며 윈도우에서만 이용가능 합니다.
1010
#### EBS 계정으로만 로그인이 가능합니다. (소셜로그인 미지원)
@@ -36,15 +36,15 @@ EBS 서버가 불안정할 때 검색이 되지 않는 경우가 있습니다.
3636

3737
1. 클래스 목록에는 자신이 가입한 클래스**** 표시됩니다.
3838

39-
2. 학습중/학습완료인 강의들의 목록를 조회할 수 있습니다.
39+
2. 학습중/학습완료/미수강중인 강의들의 목록를 조회할 수 있습니다.
4040

4141
3. 열(Column) 부분을 클릭하면 오름/내림차순 정렬이 가능합니다.
4242

43-
4. 이 프로그램은 사용자의 개인정보를 탈취하지 않습니다. 소스코드를 참고해주세요. [아래참고](#3-소스코드)
43+
4. 행(Row) 부분을 더블클릭하면 주소가 기본 브라우저로 열립니다.
4444

45-
5. 보안상 비밀번호 저장 기능은 지원하지 않습니다. (급하게 만드느라..)
45+
5. 이 프로그램은 사용자의 개인정보를 탈취하지 않습니다. 소스코드를 참고해주세요. [아래참고](#3-소스코드)
4646

47-
6. EBS의 자체 오류로 가끔씩 뒤섞일 때가 있으니 이땐 새로고침 해주세요.
47+
6. 보안 상 비밀번호 저장 기능은 지원하지 않습니다. (급하게 만드느라..)
4848

4949
## 1.3 주의사항
5050

@@ -78,7 +78,7 @@ EBS 서버가 불안정 할 때 학교코드 검색이 간혹가다 되지 않
7878
3. 이제 프로그램에서 학교코드를 칸에 기입해주세요! (자동저장 됩니다!)
7979

8080
![학교코드 칸](./img/schbox.PNG)
81-
81+
8282
4. 이제 로그인 하면 됩니다!
8383

8484
## 2.2. ~~학습완료 임에도 100%로 표기되지 않는 경우~~

img/version

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
Lastest(v2.02.0)
1+
Lastest(v2.03.0)
22
Developer(ITae)
3-
UpdateLink(https://github.com/devITae/EBSOCProgressViewer/releases/download/2.2/EBSOCPro2.2.exe)
3+
UpdateLink(https://github.com/devITae/EBSOCProgressViewer/releases/download/2.3/EBSOCPro2.3.exe)
44

55
공지사항/있음
6-
NotiMent(테스트 vbCrLf
6+
NotiMent(테스트 vbCrLf
77
줄바꿈)

0 commit comments

Comments
 (0)