[VB 6.0]간단한 문제 프로그램 만들기.(아주~ 기초부터 시작)
너무길다고 바로 <뒤로> 누르시지마시구요 ㅠ_ㅠ.. 하나하나씩
해석 하면서 배워봅시다 >_<
P.S 참고로 반복되는것이 많을뿐입니다..어려움은 없습니다.
P.S2 타이핑 하기 귀찮다고 무단 복사하지말고, 아래 파일을 다운받아서사용하세요 ㅠ_ㅠ..
Option Explicit
Dim Aox1 As String
Dim Aox2 As String
Dim Aox3 As String
Dim Aox4 As String
Dim Aox5 As String
아무튼 변수를 선언하는 방법입니다.
Dim 변수명 As 형식
자자. 변수명에는 여러제한이있는데요, 살펴봅시다.
1. 비주얼베이직 예약어 (vbOkOnly, MsgBox, If 같은 것들..)로는 사용할수없습니다.
2. 영문자,한글,숫자,_ 로 구성되며, 첫글자에는 반드시 영문자,또는 한글만가능합니다.
(숫자불가능)
3. 255자를 초과할수없습니다!
Dim Box1 As String
Dim Box2 As String
Dim Box3 As String
Dim Box4 As String
Dim Box5 As String
Box1...Box5 라는 이름의 변수를 String의 형식으로 선언한다.
흠흠. String은 문자로만 쓸수있는 형식입니다. 숫자는 보통 Interger,Long 형식을
사용하죠.
클릭했을때,
Aox1 = InputBox("2x3x4x5=?" + vbCrLf + "숫자만 입력해주세요", "Q1", "00000")
If Aox1 = 120 Then
MsgBox "Q1을 맞혔습니다", 64, "Msg 1/5문제"
Else
MsgBox "Q1을 틀렸습니다", 16, "Msg 1/5문제"
End If
변수 = InputBox(내용, 창제목, 입력상자의 기본내용)
입니다. 해석은 다음 문에서 해보죠.
If Aox2 = 1080 Then
MsgBox "Q2을 맞혔습니다", 64, "Msg 2/5문제"
Else
MsgBox "Q2을 틀렸습니다", 16, "Msg 2/5문제"
End If
Aox2 라는 변수는 ("40x27=?" + vbCrLf + "숫자만 입력해주세요", "Q2", "00000")내용을 가진
InputBox 와 같다.
음... 그냥 직역이네요 -_-.. 하지만 의미는 비슷합니다.
결국 변수Aox2는 InputBox를 소환시킨다 이 얘기이죠.
If Aox3 = 343 Then
MsgBox "Q3을 맞혔습니다", 64, "Msg 3/5문제"
Else
MsgBox "Q3을 틀렸습니다", 16, "Msg 3/5문제"
End If
If문 입니다. If문의 기본구성형식은 [괄호는 생략가능하단 의미입니다.]
If 조건문 Then
(Else If 조건문 Then)
(Else)
이벤트
End If
이네요. 어째 복잡한것같지만 복잡하지않습니다!...
복습만이 살길이겠죠 ㅇㅅㅇ..
그래서 결국 만약 Aox3이라는 변수의 값이 343 이라면
이란뜻입니다.
If Aox4 = 868 Then
MsgBox "Q4을 맞혔습니다", 64, "Msg 4/5문제"
Else
MsgBox "Q4을 틀렸습니다", 16, "Msg 4/5문제"
End If
또하나 MsgBox 라는것이 나왓군영.
MsgBox는 메시지를 출력하는 아주 기본적인 명령어(?) 입니다.
아주~아주~ 간단하게 사용하는방법은
MsgBox 내용
입니다만, 중요한것이 있습니다. 예문으로 확인해보죠.
MsgBox 안녕하세요?
라는문장은 절대 틀린것입니다.
MsgBox 10 은 맞습니다.
왜이럴까요? 문자(영어,한글등)를 출력할땐 반드시!
" " (쌍따옴표)를 사용해주셔야합니다.
Ex) MsgBox "안녕하세요!"
더 자세한 사용법은 나중에.. 이렇게 간단한것이 길게 설명될줄은 몰랏군요.=_=
If Aox5 = 10000 Then
MsgBox "Q5을 맞혔습니다", 64, "Msg 5/5문제"
Else
MsgBox "Q5을 틀렸습니다", 16, "Msg 5/5문제"
End If
Else는 "그외의" 이구요, Else If "그것이 아니고 이 조건문일때"
라는 뜻입니다.
Else는 뒤에 조건식이 오지않지만, Else If 는 뒤에 조건식이 옵니다.
Ex)If Myoa <> Humnyang(??) Then
MsgBox "다르군영!"
Else If Myoa = 0 Then
MsgBox "0이라고 하는군요."
가 되겟군요.
라고 생각하면 정상이겟군효.
음 자세한 구조를 말씀드리고싶지만, 저또한 앞구조 3가지만 기억하고있습니다.(기초땐
거의않써요.)
MsgBox 내용,나타날그림,창제목
입니다.
이봐이봐, 나타날그림이 뭐여?
"안녕하세요" 라는 문장 옆에 아이콘을 의미합니다.ㅇㅅㅇ..
End Sub
Box1 = InputBox("150+983=?" + vbCrLf + "숫자만 입력해주세요", "Q1", "00000")
If Box1 = 1133 Then
MsgBox "Q1을 맞혔습니다", 64, "Msg 1/5문제"
Else
MsgBox "Q1을 틀렸습니다", 16, "Msg 1/5문제"
End If
음.. 설명하기가 곤역이군요.
그냥 이렇게만 기억하세요.
If가 오고, Else If 가 오고 또 Else If 가올땐 마지막에만 End If를 써주어도되지만,
If가 오고, Else가 왔다면, 새로운 If문을 해주어야 뭐 꼬이지가않겠죠..
If Box2 = 768 Then
MsgBox "Q2을 맞혔습니다", 64, "Msg 2/5문제"
Else
MsgBox "Q2을 틀렸습니다", 16, "Msg 2/5문제"
End If
If Box3 = 1768 Then
MsgBox "Q3을 맞혔습니다", 64, "Msg 3/5문제"
Else
MsgBox "Q3을 틀렸습니다", 16, "Msg 3/5문제"
End If
음 사진을 다시올려드릴께요.
여기보시면
2x3x4x5=? 이렇게 두줄로 나뉘어져있지요~
숫자만 입력해주세요 이렇게 개행해주는 명령어(?)가 + vbCrLf +
입니다~
If Box4 = 4400 Then
MsgBox "Q4을 맞혔습니다", 64, "Msg 4/5문제"
Else
MsgBox "Q4을 틀렸습니다", 16, "Msg 4/5문제"
End If
If Box5 = 15924 Then
MsgBox "Q5을 맞혔습니다", 64, "Msg 5/5문제"
Else
MsgBox "Q5을 틀렸습니다", 16, "Msg 5/5문제"
End If
End Sub
Private Sub Command4_Click()
Form2.Show
End Sub
A. 폼2 를 띄워 주는 역활을 합니다.
따라서, Command4 버튼을 클릭하면 폼1에서, 폼1과 폼2의 창이되는겁니다.
(한마디로 폼2가 추가된다는겁니다.)
띄울 폼 또는,기타 여러가지.Show
라는 구조를 가지고있습니다.
End
End Sub
Command5버튼을 눌르면, End . 즉 모든것이 종료된다.
라는 정도의 개념입니다.
폼을 불러올때, 일어나는일. 이라고 생각하면 편하겠네요.
자. 그러면 이제 Form2 소스입니다.
Private Sub Command1_Click()
Unload Me
End Sub
따라서 Command1버튼을 누르면, Unload Me
음.. Unload Me는 자기자신. 즉 자신의폼을 종료시킨다, 메모리에서 값을제거한다.
입니다.
'익스플로러 새창에 띄우기 (기초 깔기) /시작
Private Sub NewExplorer(URL As String)
Dim ie As Object
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = True
ie.Navigate URL
Set ie = Nothing
End Sub
'익스플로러 새창에 띄우기 (기초 깔기) /끝
패스! [아무튼 Private Sub Form_Load() 라는 곳에 이 소스를 넣으면않됩니다.
새로운 공간에 적어주세요.]
결국 실행파일입니다.
휴우 긴 강좌(?)가 끝났군요. 뭐 어떻게 이해가 되셨는지 않되셨는지 모르겠지만
그다지 어려운 내용은 아니니, 여러번 반복해서 읽다보면 쉬워지겠군요 :D