2019년 1월 31일 목요일

LBV 2. 비주얼베이직언어(2)

2-10 비주얼 베이직 기호상수

많은 경우에, 함수와 개체는 데이터 독립변수(data arguments), 즉 연산에 영향을 주고, 당신이 읽거나 해석하고 싶은 값을 보여주는 것이 필요합니다. 이러한 독립변수와 값들은 상수적 데이터이거나 수치값만으로는 해석하기 힘든 것들입니다. 이러한 상수를 좀더 이해하수 있게 하기위해, 비주얼 베이직은 자주 사용되는 값들에 이름을 할당하였습니다. 이런 것들을 기호상수(symbolic constants)라고 합니다. 부록1에 이러한 상수값을 적어놨습니다.

예를들어 frmExample이라는 폼의 배경색을 파란색으로 하고자 하면,
   frmExample.BackColor=0xFF0000
또는 우리가 파란색의 기호상수(vbBlue)를 사용할수 있습니다.
   frmExample.BackColor = vbBlue

가능하면 수치값대신 기호상수를 사용하는것을 적극적으로 권해드립니다. 당신은 위의 예시에서 배경색을 선택할때, vbBlue가 0xFF0000보다 명확하게 이해가 된다고 생각할껍니다. 이러한 기호들을 당신이 정할필요는 없습니다. 비주얼베이직에 다 있거든요.

자신의 상수설정방법 (생략)

2-11 If문장

분기문(Branching statements)은 특정한 조건이 갖춰졌을때 프로그램안에서 특정한 행동을 하는데 사용됩니다.

가장 간단한 것은 If/Then 문장입니다.
   If Balance - Check < 0 Then Print "You are overdrawn"

이것은 필요충분조건입니다. Check이 0보다 작을때, 문장이 생성됩니다.

또한 If/Then/End If 블록을 여러문장에 적을수 있습니다.
    If Balance - Check < 0 Then
     Print "You are overdrawn"
     Print "Authorities have been notified"
    End If
이경우 Balance-Check이 0보다 작을때, 두 문장이 생성됩니다.

또한 If/Then/Else/End If 블록은
   If Balance - Check < 0 Then
    Print "You are overdrawn"
    Print "Authorities have been notified"
   Else
    Balance = Balance - Check
   End If
overdrawn이면 두문장이 생성되고, 그렇지않으면(Else) 새로운 Balance가 계산됩니다.

또한 Elself 문장을 더할수 있습니다.
   If Balance - Check < 0 Then
    Print "You are overdrawn"
    Print "Authorities have been notified"
   ElseIf Balance - Check = 0 Then
    Print "Whew! You barely made it" Balance = 0
   Else
    Balance = Balance - Check
   End If

완전 똑같으면 새로운 문장이 나옵니다.

분기문을 상요할때, If/Else/End If 구조에서 가능한 모든 경우를 고려해야 되는것을 명심하세요. 또한, If 와 ElseIf 가 동등하는 것에 주의하세요. 테스트가 수행됐을때, 조건이 주어진 코드가 수행되고 If 블록이 존재해야합니다. 나중조건이 또한 참이면 고려되지 않습니다.

Key Trapping

이전까지의 코드는 사용자가 의미없는 기호, 예를 들어 문자, 를 사용했을 경우를 방지하는 것이 없습니다. 유저가 인풋에 무언가를 썻을때, 우리는 그들이 사용할수 있는 키를 제한해야 합니다. 이러한 과정이 Key Trapping입니다.

   Sub txtText_KeyPress (KeyAscii as Integer)
          .
          .
          .
   End Sub
여기서 수행되는 것은 (생략)


댓글 없음:

댓글 쓰기