이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date |
2011/09/24 22:45:50 |
Name |
유닉스드라이 |
Subject |
비주얼 베이직 질문입니다 |
Private Function chk주민등록번호(ByVal 주민등록번호 As Variant) As Boolean
Dim Weight As Currency
Dim iTotal As Currency
Dim chkFlag As Currency
Dim chkvalue As Currency
Dim worth As Currency
Dim variable As Currency
Dim a As Currency
If Len(주민등록번호) <> 13 Then Exit Function
chkFlag = Right(주민등록번호, 1)
Weight = "234567892345"
iTotal = 0
For a = 1 To 12
worth = Mid(주민등록번호, a, 1)
variable = Mid(Weight, a, 1)
iTotal = iTotal + (worth * variable)
Next
chkvalue = 11 - (iTotal Mod 11)
If chkvalue > 9 Then
chkvalue = chkvalue Mod 10
End If
If chkvalue = 10 Then
chkvalue = 0
ElseIf chkvalue = 11 Then
chkvalue = 1
End If
chk주민등록번호 = chkvalue = chkFlag
End Function
//////////////////////////////////
Public Function chkJuminbeonho(ByVal sJuminbeonho As Variant) As Boolean
Dim sWeight As String
Dim iTotal As Byte
Dim chkFlag As Byte
Dim chkValue As Byte
Dim dt As Byte
Dim wt As Byte
Dim a As Byte
sJuminbeonho = Replace(sJuminbeonho, "-", "")
If Len(sJuminbeonho) <> 13 Then Exit Function
chkFlag = Val(Right(sJuminbeonho, 1))
sWeight = "234567892345"
iTotal = 0
For a = 1 To 12
dt = Val(Mid(sJuminbeonho, a, 1))
wt = Val(Mid(sWeight, a, 1))
iTotal = iTotal + (dt * wt)
Next
chkValue = 11 - (iTotal Mod 11)
If chkValue > 9 Then
chkValue = chkValue Mod 10
End If
If chkValue = 10 Then
chkValue = 0
ElseIf chkValue = 11 Then
chkValue = 1
End If
chkJuminbeonho = chkValue = chkFlag
End Function
주민등록번호 판별기 만드는데 다른 부분은 대충 이해 가는데
이 연산부분이 어려워서요
아래 것이 원본이고 위에것이 제가 원본을 그냥 맘대로 한건데
만지면서 보다가 뺄껀 빼봐야겠다 해서 막 빼면서 실행해서 되나 확인하고
이런식으로 했는데 이해 안가는 몇가지가
dt = Val(Mid(sJuminbeonho, a, 1))
wt = Val(Mid(sWeight, a, 1))
요 2문장에서 val은 숫자로 정의를 한다고 하는데 프로그램 자체가 주민등록번호 판별기니까 숫자일 수 밖에 없으니
val은 필요가 없는거 아닌가요?
그리고
Dim chkFlag As Byte
Dim chkvalue As Byte
이 2개의 선언은 이해는 가는데 chk가 왜 필요한지를 모르겠네요
검색해도 만족할만한 답도 안나오고요
전체적으로 주석으로 설명해주시면 감사하겠네요
아무것도 모르고 언어 할려니 좀 힘드네요
알아가는 재미도 있고 해서 책보면서 조금씩 하는데
그래도 처음이라 잘 모르겠네요
|
통합규정 1.3 이용안내 인용
"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
|