달력

02

« 2012/02 »

  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  •  
  •  
  •  

1 + 2의 값은 3이다.

이것을 코드로 표현하면

 

Dim plusValue As Integer = 1 + 2 가 된다.

 

더하기 와 같은 정수 연산자로는 빼기( - ), 곱하기( * ), 나누기( / )가 존재한다.

 

+ : addtion

- : substraction

* : multipication

/ : division

 

같은 실습예제를 통해 정수연산의 결과를 확인하고자 한다.

 



 

이번에는 두 개의 값을 입력받아 정수를 계산하는 윈도우 폼을 만들어 보는 것을 한다.

먼저 아래의 그림처럼 2개의 라벨과 2개의 텍스트 박스 그리고 하나의 버튼을 폼에 드래그 한다.


 

다음으로 버튼 부분을 마우스로 더블 클릭한다.

Button1_Click 메서드 영역에 아래의 코드를 입력한다.

아래는 그것의 코드 이다.

 

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

 

        Dim intTxtBox1 As Integer
        intTxtBox1 = TextBox1.Text

 

        Dim intTxtBox2 As Integer
        intTxtBox2 = TextBox2.Text

 

        Dim addtion As Integer = intTxtBox1 + intTxtBox2
        Dim substraction As Integer = intTxtBox1 - intTxtBox2
        Dim multipication As Integer = intTxtBox1 * intTxtBox2
        Dim division As Integer = intTxtBox1 / intTxtBox2

 

        MsgBox("덧셈값: " & addtion & ", 뺄셈값: " & substraction & ", 곱셈값 : " & multipication & ", 나눗셈 : " & division)

 

    End Sub

 

 

F5키를 눌러서 결과를 확인해 본다.

첫번째 값과 두번째 값에 각각 4+2를 입력해 보겠다.

 

그것의 결과는 아래와 같다.


저작자 표시 비영리 변경 금지
Posted by -세티-
2008/11/30 00:09

세티가 정리한 VB.NET(1) General .NET2008/11/30 00:09

작성일 : 2006년 1월 20일
옮긴일 : 2008년 12월 22일

변수는 프로그래밍 언어에서 중요한 컨셉입니다.
변수는 하나의 값을 저장하는 이름입니다.

컴퓨터 프로그램을 생성할 때 숫자라던가 단어, 사람의 이름과 같은 것을 저장하기 위해 변수를 사용할 수 있다.
그럼 정보를 전달하는데 왜 변수를 사용하는가? 직접 그 값을 사용하면 되는것을?
변수는 하나의 값이 될 수도 있다.
변수를 사용하면 다음과 같은 것들이 가능하다.

[변수]=[값]

제리 = 제리의 갯수 (예 : jelly = 6)
캔디 = 캔디의 갯수 (예 : candy = 5)

따라서 책상은 총 11개의 무언가를 가지게 된다. 제리와 캔디는 각각의 자신의 갯수를 가지고 있다.
책상 = 제리 + 캔디 

이 때... 나는 캔디의 갯수를 변경하기를 원한다. 따라서 candy의 갯수를 6으로 변경했다.
책상은 총 12개의 무언가를 가지게 되지만 책상 = 제리 + 캔디 라는 로직이 변하지는 않는다.
제리와 캔디는 변수로서 값을 가지고 있기 때문이다.
이런 편리함이 변수를 사용해야만 하는 하나의 예 가 되는 것이다.

하나의 변수를 사용하기 위한 3가지 스텝이 있다.

1. 변수선언
2. 변수할당
3. 변수사용

1번의 것은 내가 사용하고자 하는 변수의 타입을 컴퓨터에게 알리는 절차를 말한다.
2번의 것은 하나의 값을 고정시키기 위해 변수에게 주는 것이다.
3번의 것은 변수에 할당된 값을 되찾아 오는 것을 말한다. 

1. 변수선언

하나의 변수를 사용하고자 할 때 어떤 Data Type을 사용할 것인가를 결정하고 있어야 한다.
Dim과 Askeywords를 사용하는 하나의 변수를 선언한다.

 Dim aNumber As Integer

 위의 코드를 해석하자면

"컴퓨터야!! 나는 aNumber라는 변수를 사용하고 싶단다. 그 변수에는 숫자들을 저장하고 싶단다."

 위의 aNumber라는 변수에는 단지 숫자만 저장할 수 있다.
왜냐면 숫자만 담겠다고 지정했기 때문이다. 그것은 Integer라는 부분에 의해서 그렇게 된 것이다.
만약에 하나의 단어를 입력하고 싶다면??? 그것은 String 이라는 이름으로 불리는 Data Type을 지정해 주면 된다.

 Dim aWord As String

위의 코드를 사람의 언어로 표현하면 다음과 같다.

"컴퓨터야...~ 나는 aWord라는 변수에 String을 담고 싶단다..^^ "

 만약 42.5 와 같은 소수점이 붙은 숫자를 담고 싶다면...?? 그냥 Integer에 담는다..??
그건 안된다.
왜냐면...사람들은 그냥 저것을 숫자라고 하면 알아듣지만 컴퓨터는 바보다.

따라서 저게 숫자는 숫자인데 '그냥 숫자가 아닌 소수점이 붙은 숫자다.' 라고 알려줘야 된다는 것이다. 따라서 컴퓨터에게 '이건 소수점으로 된 숫자야..' 하고 말해주는 표현은 아래와 같다.

Dim aDouble As Double

또 다른 표현이 있다.
우리는 친구들과 가끔 이야기를 하다보면 예/아니오 로만 답하시오... 라는 말들을 가끔 듣게 된다.
그것은 자질구해한 이야기를 듣기 귀찮을 때 주고 하게 되는데...
컴퓨터에게도 그런 방식으로 이야기를 할 수 있다.

예/아니오는
컴퓨터에서 True/False 라고 표현한다. 조금더 세련된 말로는 참/거짓 이 되는 것이다.
이런 것을 표현하기 위해 변수에 값을 담아야 하는데, 이런 값을 담고 있는 변수의 데이타 타입을 Boolean 이라고 한다.
이것을 사용하겠다고 컴퓨터에게 말해줘야 하는데 아래와 같은 표현법을 사용한다.

Dim YesorNot As Boolean

이것을 다시한번 친숙한 사람의 언어로 표현하면...

"컴퓨터야..~~ 나는 예/아니오 라는 값을 담고 싶어. 나에게 변수라는 그릇을 다오~!! 그것의 데이타 타입은 Boolean 이란다."
가 되는 것이다.

이런 변수에 대해 그리고 데이타 타입에 대해 보다 자세한 것을 보고 싶다면 아래의 주소로 가보면 된다.

http://msdn.microsoft.com/vbasic/learning/newtodevelopment/variables/datatypes/


2. 변수할당

위에서 변수를 선언했으니 이 변수에 무언가를 담아야 하겠다.
변수라는 밥 그릇을 달라고 했으니 밥이라도 담아야 하는데 어떻게 담는가???
그것은 바로 = 을 사용해서 담게 된다.
이것은 보다 세련된 언어로 표현하면 "할당" 이라고도 한다.

그럼 위 에서 선언한 변수들 중의 하나에 값을 담아보자.

Dim aWord As String = "Hello"

 이것을 마찬가지로 친숙한 사람의 언어로 표현하면...
"aWord라는 String이라는 데이타 타입 변수에 Hello라는 단어를 할당한다." 가 된다.

3. 변수의 사용

비주얼 스튜디오가 있다면 Form1_Load라는 곳에다가 다음의 코드를 넣는다.

Dim
anInteger As Integer = 100
Dim aSingle As Single = 3.141592
Dim aString As String = "Hello"
Dim aBoolean As Boolean =
True

그리고 다음의 코드를 이용하여 결과를 확인해 본다.

MsgBox(anInteger)
MsgBox(aSingle)
MsgBox(aString)
MsgBox(aBoolean)

MsgBox()
라는 녀석은 메시지 박스를 띄우도록 컴퓨터 내부에 이미 코딩되어져 있다.
저 () 안에 값을 할당한 변수를 넣으면 MsgBox()는 변수가 가지는 값을 출력해 주게 되는 것이다.
MsgBox()라는 것을 흔히 메소드 라고도 이야기 하는데 아무튼... 메시지 박스를 띄우기 위해 컴퓨터와의 약속이라고 생각하면 쉽다.

자동차의 방향을 바꾸기 위해선 핸들이 필요하다.
핸들이라는 이름은 방향을 바꾸기 위한 나와 자동차와의 약속이다.
마찬가지고 내가 메시지 박스를 띄우기를 원한다면 MsgBox()라는 약속된 녀석을 이용하면 되는 것이다. 아무 부담 없이 말이다.^^

저작자 표시 비영리 변경 금지

'General .NET' 카테고리의 다른 글

세티가 정리한 VB.NET(3)  (0) 2008/11/30
세티가 정리한 VB.NET(2)  (0) 2008/11/30
세티가 정리한 VB.NET(1)  (2) 2008/11/30
익명 메서드(Anonymous Methods)  (0) 2008/11/30
Nullable 타입  (0) 2008/11/30
DataTable.NewRow  (0) 2008/11/30
Posted by -세티-
2008/07/22 01:19

닷넷2.0을 시작하며... General .NET2008/07/22 01:19

최초 작성자 : 세티
최초 작성일 : 2004년 12월 24일
최종 작성자 : 세티
최종 작성일 : 2008년 07월 22일

2004년 12월 24일에 닷넷2.0을 처음 시작하면서 적은 글 입니다. 시간이 많이 흘러 내용을 약간 수정했습니다.
닷넷을 처음 시작하시는 분들에게 힘내시라는 의미에서 소개해 봅니다.~


1999년 12월, 난 그 때까지도 그 녀석에 대해 아는게 없었습니다. 대학을 졸업하고 처음으로 IT학원에서 만난 그 녀석은 상당히 어렵고 난해한 모습으로 나에게 다가왔습니다. 그 곳에서 나는 그 녀석을 이겨보겠노라 마음을 먹었고 녀석에게 덤볐습니다. 녀석과의 싸움에서 이기기 위해 수 많은 밤을 지새우고 수 많은 시간을 녀석과 함께 하다보니 어느새 많이 친해질 수 있었습니다. 그러나 녀석과 많은 시간을 보낼수록 그 녀석은 내게 늘 새로운 모습을 보여주었습니다.

학원 수강생 시절의 녀석은 그리 만만한 상대가 아니었습니다. 난 그 곳을 수료하게 되면서 그 녀석과 함께 사회에 첫 발을 디뎠습니다. 녀석의 이름은 ASP(Active Server Page 2.0) 이었습니다.

회사에서 많은 사이트와 웹 애플리케이션을 만들며 ASP와 함께 미지의 세계를 향해 나아가기 시작했습니다. ASP는 나와 함께 하면서 손에 잡힐 듯하면 달아나고 달아났다 싶어 힘들어 하면 어느새 내 곁에 와있는 것 이었다. 그것은 뫼비우스의 띠 처럼 언제나 끝이 없는 쫒고 쫒기는 그런 지루한 싸움이었던 것 같습니다. 그 녀석과 함께 지내는 시간이 많아졌을 때 그리고 그 녀석에 대해 이젠 나름 안다고 자부하게 되었을 때 난 녀석의 친구들을 만나게 되었습니다. 친구들 또한 녀석과 마찬가지로 나에게 많은 부담을 안겨주었습니다. 나의 기억에 의하면 녀석은 언제나 골치덩어리 였고, 녀석을 어려워 하는 만큼 나는 그 녀석과 함께 하는데 많은 시행착오를 거칠수 밖에 없었습니다. 한 때 별명이 에러맨(Error Man) 이었죠...^^; 녀석의 심술(Error)은 나를 힘들게 했지만 동시에 나는 그 만큼 강해질 수 있었습니다. 녀석과 동고동락 해온지 4년... 지금은 너무나 친한 사이가 되어 서로에 대해서 너무나 잘 알게 되었다. 그런 녀석이 얼마전 닷넷이라는 이름으로 새롭게 태어났습니다.

가상의 공간에서 나만의 창조물을 바라 볼 때면 그것이 하찮은 것이든 다른 이들이 부러워 할 만한 것의 것이든 가슴 한 구석에서 밀려오는 그 아련한 감동은 늦은 밤 도서관에서 나오는 상쾌함과 다를 바가 없었던 것 같습니다. 녀석은 나에게 얼마 전 처음으로 말을 걸었습니다. '지금 보다 나은 그리고 변화된 미래의 자신에 대해 느껴보지 않을래?' 라고...

언제나 그렇듯 무작정 서점으로 달려가 녀석에 대한 책을 한 권 샀습니다.
ASP.NET 1.0 그리고 VS.NET 을 준비했습니다. 녀석의 신상에 대해 간단하게 파악한 다음...

난 그 녀석을 만나러 갔습니다. 적을 알고 나를 알면 백전백승이라 하지만 난 그 녀석을 알기 위해 사전 준비 시간을 많이 투자할 수 없었습니다. 무조건 부딛혀 보자. 녀석으로 요즘 유행하는 블로그를 만들어 보겠노라고 마음을 먹은 6개월 후...

힘들기도 했고 보람을 느끼기도 한 그런 시간 있었습니다. 그것은 하나의 작은 수행과도 같았습니다. 녀석은 나를 힘들게 하면서 보람도 주고 그렇게 나를 조금씩 강하게 만들어 주었습니다. 그 녀석이 나를 힘들게 할수록 난 처음보다 더 빠른 속도로 녀석에 대해 알아갈수 있었습니다. 그리고 이제 녀석에 대해 어렴풋이 나마 알게 된 지금 난 나의 블로그에 녀석에 대해 쓸려고 합니다.

물론 녀석에 대해 아직 알아야 될 게 많지만 만남의 그 순간을 이 블로그에 남겨 첫 만남의 아련함을 기억하려고 합니다. 이 강좌의 이름은 [세티의 닷넷강좌]가 될 것입니다. 세상에 태어나 처음으로 쓰는 강좌인 셈이지요.
또한 닷넷을 접한지 얼마 되지 않았으므로 초보자를 대상으로 이해하기 쉽도록 그 내용을 적어나갈 것입니다.

이 글을 보는 사람이 닷넷 중급자라면 굳이 이 강좌를 보지 않아도 될 것입니다.^^;

- 세티 -

'General .NET' 카테고리의 다른 글

Nullable 타입  (0) 2008/11/30
DataTable.NewRow  (0) 2008/11/30
닷넷2.0을 시작하며...  (0) 2008/07/22
세티의 닷넷강좌를 다시 살리겠습니다.  (0) 2008/07/22
닷넷 전용 어셈블리  (0) 2008/04/27
델리게이트(1)  (0) 2008/04/27
Posted by -세티-

안녕하세요~ 세티 입니다.~~

[세티의 닷넷강좌]를 작성한 이후로 벌써 3년이라는 시간이 흘렀네요^^;

그 동안 신경쓰지 않고 방치해 두었었는데 아직 강좌를 찾는 분이 많아서 다시 작성할까 합니다.

이미지가 엑박으로 떠서 살려달라고 하는 분이 몇 분 있었는데요~

그게 엑박으로 뜨는 이유가 기존 강좌가 코리아인터넷닷컴에 있었던 제 강좌를 그냥 옮겨온 것이었고,

마침 얼마 전에 코리아인터넷닷컴이 서비스를 종료하게 되면서 이미지를 모두 볼 수 없게 되었습니다.

어찌해야 하나 하다가 많은 분들이 세티의 닷넷 강좌를 사랑해주셔서 다시 살리기로 했습니다.^^

기존 내용을 기반으로 Visual Studio 2008로 작성되는 강좌가 될 것이구요~
(Visual Web Developer와 큰 차이는 없을 것 입니다.)

재편집은 이제훈(Eloi) 님이 해 주실 것입니다.

새롭게 편집되는 세티의 닷넷강좌는 세티의 Lonely Star (http://www.setisigns.net)에 포스팅 될거구요...
이후 중단된 부분도 계속해서작성될 것 입니다.

많은 성원 부탁드리구요~ 강좌 보시면서 궁금한 점은 댓글로 남겨주시면 충분히 답변 드리도록 하겠습니다.

즐거운 하루 되세요~


- 블로거 세티 올림 -

'General .NET' 카테고리의 다른 글

DataTable.NewRow  (0) 2008/11/30
닷넷2.0을 시작하며...  (0) 2008/07/22
세티의 닷넷강좌를 다시 살리겠습니다.  (0) 2008/07/22
닷넷 전용 어셈블리  (0) 2008/04/27
델리게이트(1)  (0) 2008/04/27
C# 전처리기 지시문  (0) 2008/04/27
Posted by -세티-
원글출처: http://silverlight.net/quickstarts/silverlight10/canvas.aspx
본 강좌는 위의 원글을 참고 및 번역해서 작성했으며, 글 중간중간 제 개인적인 표현이나 의견을 넣어서 각색했습니다.

Canvas 객체
(Canvas Object)


캔버스 객체는 모양을 만들기 위한 포지션과 컨트롤들을 포함하는 객체 입니다. 모든 실버라이트 XAML 파일은 루트 엘리먼트로 캔버스를 하나씩 가지고 있습니다. 이번 강좌에서 캔버스 객체와 정의에 대해 공부해 보고, 자식 객체들에 어떻게 크기를 지정하고 포지션을 잡고 추가하는지에 대해 알아보겠습니다.

먼저 캔버스에 객체를 추가해 보도록 하겠습니다.
캔버스에 객체를 추가하기 위해서는 <canvas> 태그 사이에 추가할 다른 객체를 추가해야 합니다.

예를 들어서
사용자 삽입 이미지

위의 코드를 보면 <Canvas> 테그 사이에 <Ellipse> 태그가 위치한 걸 확인할 수 있습니다. 이 Ellipse 객체는 원을 그리기 위한 객체인데 코드에 보시는 것 처럼 원 모양에 대한 속성값(Height, Width, Stroke 등)이 설정되어 있는 것을 확인할 수 있습니다. Canvas 태그는 루트 엘리먼트로서 xmlns 선언을 가지고 있게 됩니다.

Canvas에 객체를 위치 시키기 위해 필요한 속성값이 있는데 그것은 Canvas.Left, Canvas.Top, Canvas.Left가 그것입니다. Canvas의 위치 지정 속성값을 이용해서 Canvas 객체 위에 그려진 원 객체의 위치를 변경해 보도록 하겠습니다. 먼저 Ellipse 객체에 2가지 속성값 Canvas.LeftCanvas.Top을 추가합니다.

먼저 각각 "0"을 설정해 보도록 하겠습니다.
사용자 삽입 이미지

결과는 아래의 그림과 같으며, 상단 그리고 왼쪽으로 바짝 붙어 있는 것을 볼 수 있을 겁니다.
사용자 삽입 이미지

이제 위에 제시한 코드를 이용해서 왼쪽으로 50픽셀 상단에서 하단으로 50픽셀 만큼 이동시켜 보겠습니다.
사용자 삽입 이미지

코드를 수정한 후 렌더링된 결과는 아래의 이미지와 같으며, 정확히 50픽셀 이동된 것을 확인할 수 있습니다.
사용자 삽입 이미지

다음으로 z-index에 대해 알아보도록 하겠습니다.
Canvas 엘리먼트 내에 위치한 자식 객체는 모두 순서대로 렌더링 됩니다. 젤 위에 있는 것이 먼저 렌더링 되고 나면 그 다음에 위치하는 자식 객체가 렌더링 되면서 제일 처음에 렌더링된 그림 위에 덮어쓰여 집니다. 이런 식으로 표현되는 Canvas 내의 객체에 대해 그  순서를 변경하고 싶으면 zorder를 이용해서 변경하게 됩니다.
Canvas.ZIndex라고 설정하면 되며, 값이 클수록 Canvas에서 멀어지고 값이 낮을수록 Canvas에서 가깝게 위치하게 됩니다.

먼저 3개의 원을 표시할 것이므로, Canvas의 크기를 더욱 키우도록 하겠습니다.
앞에서 만들었던 crObjS.js 에서 캔버스의 크기를 가로 500픽셀, 새로 500픽셀로 변경합니다.
사용자 삽입 이미지

그 다음에 3개의 원을 추가 합니다.
사용자 삽입 이미지

이제 브라우저를 통해 원이 잘 추가 되었는지 확인합니다.
사용자 삽입 이미지

잘 되었으면 이제 코드에 ZIndex를 설정합니다. Ellipse 엘리먼트에 Canvas.ZIndex 애트리뷰트를 설정하고 ZIndex 속성에 값을 설정하면 됩니다.
사용자 삽입 이미지

렌더링 된 결과는 다음과 같습니다.
사용자 삽입 이미지

Canvas 나 Shape 그 외 다른 많은 엘리먼트들은 높이와 넓이 속성을 가지고 있으며, 특정한 값을 할당함으로써 그것을 효과적으로 이용할 수 있습니다. 이것을 확인해보기 위해 Canvas 엘리먼트에 높이와 넓이를 주고 적절한 배경색을 주도록 하겠습니다.
사용자 삽입 이미지

위에 코드를 제시하였고, 아래는 렌더링된 결과 입니다.
사용자 삽입 이미지

위의 그림에서 빨간색 영역은 Canvas의 영역이고, 회색 부분은 호스팅된 Plug-in의 영역 입니다. Canvas와 Ellipse 객체의 기본적이 높이와 넓이 값은 모두 0 이라는 것을 참고하셨으면 합니다.

마지막으로 Canvas는 또 다른 Canvas를 포함할 수 있습니다. 그것이 가능한 이유는 Canvas 또한 또 다른 객체 이기 때문입니다.
사용자 삽입 이미지

위의 코드를 참고해서 Canvas 객체 2개를 추가합니다. 그리고 각 Canvas에 적절한 컬러를 할당합니다.
브라우저를 통해 렌더링 해보면 하단의 이미지와 같은 모양이 그려진 것을 확인할 수 있습니다.

사용자 삽입 이미지

Posted by -세티-