벌써 4번째 시간이군요.

오늘은 유용하게 사용할 수 있는 리스트박스와 콤보박스를 이용해서 제가 작년에
다녀온 우한보기 프로그램을 간단히 만들어 보았습니다.

따라하다보면 기본적인 사용법을 쉽게 익힐 수 있을 겁니다.
그럼 시작해 볼까요?

결과물을 먼저 볼까요?

1. 리스트박스에 선택했을 때 결과

사용자 삽입 이미지

2. 콤보박스에 선택했을 때의 결과
사용자 삽입 이미지

어떤 가요?  너무 쉬운가요?
이제 세부적인 부분을 한 번 알아 봅니다.

사용된 폼 컨트롤 속성정보
사용자 삽입 이미지

자 이제 코드를 입력해 볼까요?

먼저 리스트박스와 콤보박스에 선택할 수 있는 아이템을 등록해야 되겠지요.?
이것은 Form1_Load 이벤트에서 해주면 됩니다.


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        '폼이 로드될 때 리스트박스와 콤보박스 초기화
        '리스트박스에 아이템 정의
        ListBox1.Items.Add("호텔방")
        ListBox1.Items.Add("호텔 앞 전경")
        ListBox1.Items.Add("호텔 옆 전경")
        ListBox1.Items.Add("버스타는 곳")

        '콤보박스에 아이템 정의
        ComboBox1.Items.Add("고금대에서")
        ComboBox1.Items.Add("손문 동상")
        ComboBox1.Items.Add("장강 제 1철교 위에서")
        ComboBox1.Items.Add("황학루")

        '폼의 구분을 위해 폼에 추가했던 Label2, Labe3를 실행시보여주지 않기
        Label2.Visible = False
        Label3.Visible = False

End Sub

다음으로 리스트박스나 콤보박스에서 해당 아이템을 선택하면 픽쳐박스에 보여주도록 하는 부분은 어떻게 하면 될까요?
이것은 ListBox1_SelectedIndexChanged(블라블라), ComboBox1_SelectedIndexChanged(블라블라) 이벤트에서 해주면 됩니다.


- 리스트 박스관련
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged

        '리스트박스에서 선택된 것에 따라서 PictureBox2에 그림을 보여주기
        Select Case ListBox1.SelectedIndex
            Case 0
                PictureBox1.Image = System.Drawing.Image.FromFile _
                  ("E:\티스토리\무료강좌 및 교육\비주얼 베이직2008\강좌 4 리스트박스와 콤보박스
                    \4성호텔부근\호텔방.jpg")
                MsgBox("호텔방을 선택하셨네요. 4성급 호텔인데 좀 후지죠?")
            Case 1
                PictureBox1.Image = System.Drawing.Image.FromFile _
                  ("E:\티스토리\무료강좌 및 교육\비주얼 베이직2008\강좌 4 리스트박스와 콤보박스
                   \4성호텔부근\호텔앞 전경.jpg")
                MsgBox("호텔앞 전경을 선택하셨네요. 호텔 앞이 좀 시골틱합니다.")
            Case 2
                PictureBox1.Image = System.Drawing.Image.FromFile _
                  ("E:\티스토리\무료강좌 및 교육\비주얼 베이직2008\강좌 4 리스트박스와 콤보박스
                    \4성호텔부근\호텔옆 전경.jpg")
                MsgBox("호텔 옆 전경을 선택하셨네요. 호텔방에서 바라본 전경입니다. 여행사의 상술
                             에 속지말자.")
            Case 3
                PictureBox1.Image = System.Drawing.Image.FromFile _
                  ("E:\티스토리\무료강좌 및 교육\비주얼 베이직2008\강좌 4 리스트박스와 콤보박스
                    \4성호텔부근\버스타는 곳.jpg")
                MsgBox("버스타는 곳을 선택하셨군요. 버스비는 1위안, 2위안 2가지 입니다.^^")
        End Select

    End Sub

- 콤보박스관련
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged

        '콤보박스에서 선택된 것에 따라서 PictureBox2에 그림을 보여주기
        Select Case ComboBox1.SelectedIndex
            Case 0
                PictureBox2.Image = System.Drawing.Image.FromFile _
                  ("E:\티스토리\무료강좌 및 교육\비주얼 베이직2008\강좌 4 리스트박스와 콤보박스
                    \관광지\고금대에서.jpg")
                MsgBox("고금대에서를 선택하셨네요. 고금대는 우정과 관련된 역사적인 곳임")
            Case 1
                PictureBox2.Image = System.Drawing.Image.FromFile _
                  ("E:\티스토리\무료강좌 및 교육\비주얼 베이직2008\강좌 4 리스트박스와 콤보박스
                    \관광지\손문동상.jpg")
                MsgBox("손문동상을 선택하셨네요.손문은 쑨원이라고도 불리는데 중국의 국부이죠")
            Case 2
                PictureBox2.Image = System.Drawing.Image.FromFile _
                  ("E:\티스토리\무료강좌 및 교육\비주얼 베이직2008\강좌 4 리스트박스와 콤보박스
                    \관광지\장강제1철교위에서.jpg")
                MsgBox("장강제1철교위에서를 선택하셨네요. 1킬로미터가 넘는 긴다리입니다.")
            Case 3
                PictureBox2.Image = System.Drawing.Image.FromFile _
                  ("E:\티스토리\무료강좌 및 교육\비주얼 베이직2008\강좌 4 리스트박스와 콤보박스
                    \관광지\황학루.jpg")
                MsgBox("황학루를 선택하셨네요. 황학루, 후베이박물관과 함께 우한의 대표적인 명소지
                              요")
        End Select
End Sub

마지막으로 버튼 컨트롤에서 MsqBox의 조금더 발전된 기능을 넣은 부분
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        MsgBox("본 프로그램이 유용하셨는지요? 유용하셨으면 격려차원에서 댓글도 남겨주시면 감사
                      하겠습니다.", MsgBoxStyle.YesNo)

        '프로그램 끝내기
        End
End Sub

이부분 출력 결과를 보면

사용자 삽입 이미지

이상으로 오늘의 강좌를 마칩니다.
열심히 하나 하나 익히셔서 좋은 프로그램 많이 만들어주세요.

참고로 Form1.vb 파일을 첨부합니다. 참고하세요.^^;;


궁금하신 사항이 있으시면 댓글이나 이메일로 문의를 주세요. 그럼 이만 마칩니다.

Posted by 원철연(체르니)
,
오늘은 폼 디자인하는 법에 대해서 간략하게 다뤄볼까 합니다.

먼저 새로운 프로젝트를 엽니다.
사용자 삽입 이미지















프로젝트명을 MyShopping으로 생성합니다.
생성된 프로젝트에서 Form1.vb를 클릭하여 컨트롤들을 배치합니다.

먼저 폼에 배치한 컨트롤들의 속성들을 다음과 같습니다.
사용자 삽입 이미지

















그러면 배치한 그림을 볼까요?
사용자 삽입 이미지























위 그림에서 폼에 어떻게 그림을 넣었을까 궁금하시진 않은가요? BackGroundImage에서
원하는 그림을 선택해주면 적용이 됩니다.
자신이 직접 포토샾같은 디자인툴로 배경 이미지를 만들어 폼 바탕으로 해서 프로그램을
만들면 괜찮겠죠^^;;

(바탕그림은 d&shop을 캡쳐해서 수정해서 사용했습니다. 혹시라도 문제가 있으시면
 제게 댓글이나 이메일(cywon11@empal.com)으로 주시면 삭제토록 하겠습니다.)

다음으로  GroupBox1, GroupBox2의 바탕을 투명하게 만들어 보겠습니다.
GroupBox의 속성상자에서 변경해주면 되는데요. 아래와 같이 하시면 됩니다.

사용자 삽입 이미지


























Web 탭에서 Transparent(투명한)을 선택해주면 됩니다. 쉽지요?
이렇게 해서 최종적으로 간단하게 만들어 본 화면은 아래와 같습니다.
사용자 삽입 이미지


이상으로 간략하게 폼 디자인을 알아봤습니다.
ListBox와 ComboBox는 BackColor를 투명하게 하는 기능을 지원하지 않고 Button컨트롤은 지원되는데 제가 실력이 달려서 찾지를 못했습니다. 혹시 아시는 분은 댓글 남겨주시면 감사하겠습니다. 그럼 오늘은 이만하지요.
Posted by 원철연(체르니)
,

비주얼 베이직을 손에서 놓은지 4년이 지났지만 다시 보니 새롭기도 해서
비주얼 스튜디오 2008 + 비스타 환경에서 틈나는대로 올려볼까 합니다.
대상은 당연히 처음시작하는 분들이겠지요^^;;

그 첫번째 시간으로 Hello world와 간단한 자기 생일 표시하는 프로그램을 올려봅니다.

학습내용
1. 컨트롤 익히기 : TextBox, Button, DateTimePicker, Group
2. 간단한 조건문
3. 간단한 함수 : Val, Left, MsgBox
4. 세부사항들은 하나씩 변화를 줘가면서 실행결과를 보면 각 컨트롤에 대해서 이해를
    할 수 있을 겁니다.


자 그럼 시작해 볼까요?

사용자 삽입 이미지


OK 버튼을 누르면

사용자 삽입 이미지

이렇게 하여 HelloWorld라는 프로젝트가 생성되었습니다.

Form1.vb를 클릭하여 아래와 같이 해당 컨트롤들을 위치시키고 각 컨트롤의 Properties를 변경해 줍니다.(이부분은 첨부한 파일을 열어보시면 아실 수 있습니다.^^;;)

최종 폼 디자인은 아래와 같습니다.
사용자 삽입 이미지


자 이제 제대로 동작하기 위해 코드를 작성해 봅니다.

먼저 HelloWorld 그룹의 확인 버튼을 더블 클릭하여 아래와 같이 입력합니다.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        TextBox1.Text = "Hello, world!"
End Sub

그리고 지우기 버튼을 더블 클릭하여 아래와 같이 입력합니다.
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        'TextBox1의 어떠한 글자가 표시되어 있으면 지우라는 조건문
        If TextBox1.Text <> "" Then
            TextBox1.Text = ""
        End If

        'TextBox1에 지울내용이 없으면 표시하도록 한 것
        If TextBox1.Text = "" Then
            MsgBox("지울내용이 없습니다요..헤헤")
        End If
    End Sub

이렇게 하면 HelloWorld 그룹쪽은 코딩이 끝납니다.

다음으로 생일 보여주기 그룹의 내생일 보여주기를 더블클릭합니다. 그리고 아래와 같이 코딩합니다.
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        Dim strDate As String
        Dim strYear As String
        Dim IntYear As Integer
        Dim IntCompYear As Integer


        strDate = DateTimePicker1.Text
        strYear = Microsoft.VisualBasic.Left(strDate, 4) 'Left(문자열, 길이) 왼쪽에서 길이만큼
        잘라낸다. 'VB6.0시절엔 Left(strDate,4)써도 괜찮았는데 그사이 많이 바뀐 듯 하군요
.
        IntYear = Val(strYear)
        IntCompYear = 2008 - IntYear

        '프로그래밍을 할 수 있는 최소 나이는 8살이라고 보고 현재 2008 - 2000을 기준으로 제한을
         둔 조건문
        If IntCompYear <= 8 Then
            MsgBox(IntCompYear & " 살이라니 당신은 컴퓨터 프로그래밍을 하기에는 너무 어린 나이
            에요!. 원래 나이를 입력해주세요.")
            Exit Sub '아래의 코드를 실행하지 말고 이 버튼2클릭을 빠져나가라는 부분 
        End If

        MsgBox("당신의 생일은" & DateTimePicker1.Text)
        MsgBox("그해의 날은" & DateTimePicker1.Value.DayOfYear.ToString())

    End Sub

이렇게 한 후 F5키를 눌러 실행해 보면

사용자 삽입 이미지


Hello world 그룹의 확인 버튼 클릭후
사용자 삽입 이미지


생일보여주기 그룹의 내생일보여주기에서 현재 날짜 상태에서 내생일보여주기 클릭시
(정확한 자신을 생일은 DateTimePicker 컨트롤의 달력모양을 클릭하여 선택할 수 있음)
사용자 삽입 이미지










이상으로 몇 개의 컨트롤과 간단한 조건문, 함수의 사용법을 알아보았음.
이 간단한 프로그램도 여러가지 세부적인 조건들을 구미에 맞게 걸어보시길 바라구.

이 프로그램 정도를 이해할 수 있으면 기본적인 것은 갖춰졌다고 생각합니다.
그럼 오늘은 이정도로 하구 혹시라도 그럼 안녕~

[참고] 소스를 올립니다.

Posted by 원철연(체르니)
,

VS2008을 설치하고 MSSQL 2005 Express가 설치되었는데 어떻게 VB에서 DB를 컨트롤 할 수 있을까 고민하다가 찾은 것을 올립니다. 혹시라도 제 글에 부족한 부분이나 잘못된 부분이 있다면 댓글을 남겨주셔서 다른 분들과 제가 한 수 배울 수 있는 좋은 기회가 되길 기대해 봅니다.

컴퓨터에 설치된 Microsoft SQL Server 2005에 들어가시면 달랑 Configuration Tools만 있습니다.

Configuration Tools

사용자 삽입 이미지






여기서 SQL Server Configuration Manager를 선택
사용자 삽입 이미지


처음에는 SQL Server(SQLEXRPRESS) StateRunning 상태이지만 SQL Server BrowerStopped 상태이다.

사용자 삽입 이미지






















SQL Server Browser 속성에서 Start ModeStopped를 클릭하여 Automatic으로 변경하면 앞서 Configuration Manager Running으로 변경된다.

자 이제 비주얼 스튜디오 2008을 시작해서 새 프로젝트를 열어보자.

사용자 삽입 이미지


첫 번째를 선택하고 OK를 누른다.
Server Explore가 안보일 경우는 View메뉴에서 선택하거나 (Ctrl + ALT + S) 를 눌러서 보여주면 된다.
사용자 삽입 이미지












그 다음 Data Connection에 오른쪽 마우스 클릭 Add Connection…을 선택하면
사용자 삽입 이미지




































여기서 Data Source: Change를 선택하면
사용자 삽입 이미지
















원하는 DATA의 유형을 변경하여 선택한다.

다음은 DATABASE를 만들어 보자.
사용자 삽입 이미지






















이상으로 DB연결 관련한 부분들을 알아 보았고 최종적으로 아래와 같은 화면을 만날 수
있다.

사용자 삽입 이미지













MSSQL 2000EM(Enterprise Manager)가 포함된 것처럼 보인다
이상으로 Visual Studio 2008 VB환경 DB연결의 한 부분을 알아보았다.
오늘도 프로그래밍에 밤샘을 하는 분들이 보신다면 너무 건강해치는 수준까지는 하시지
말길..

물론 직장에 따라 다르겠지만 제 경험상 아무리 열심히 밤샘을 하고 노력해도 그에 따른 보상보다는 잘하면 밥값은 하네 정도니까 남는 건 몸이 망가진 씁쓸한 때가 있었습니다.

Posted by 원철연(체르니)
,