« Previous : 1 : 2 : 3 : 4 : 5 : ... 112 : Next »

[C#] 기념일 계산기 - (3) 기념일 코딩

[C#] 기념일 계산기 - (3) 기념일 코딩
음... 마지막 포스팅이군요..... 특정 일자를 선택하면.. 그 날이 어떠한 날인가를 알려주는 방법에 대해서.. 아주 허접하게(?)... 코딩 방법을 작성하고 마무리 하도록 하겠습니다.

1. 솔루션 탐색이에서 프로젝트를 선택후.. (솔루션 '프로젝트명' 아래 있는.. 겁니다.'C#아이콘 그려진.....)마우스 오른쪽, 추가, 클래스 순으로 이동 하여 클릭합니다.
(※한 개의 솔루션에는 1개 이상의 프로젝트들이 들어 있을수 있습니다...., 그리고 더러 솔루션이 없고 프로젝트만 있는 .. 파일도 있을지도.....)
사용자 삽입 이미지

2.아래의 그림과 같이 파일명을 입력한후 추가 버튼을 누릅니다.
사용자 삽입 이미지
3. Data.cs 파일에 아래와 같이 소스를 코딩합니다.
DateTime today = new DateTime();
    class Date
    {
        public string[] date = { "01-01", "03-01", "04-05", "05-05", "05-15", "05-18", "06-06", "12-25" };
        public string[] date_d = { "신정", "삼일절", "식목일", "어린이날", "스승의날", "5.18", "현충일", "성탄절" };
    }

4. Form1.cs(폼 코드소스)를 아래와 같이 수정해 줍니다.
using System;
using System.Windows.Forms;

namespace 기념일계산기
{
    public partial class Form1 : Form
    {
        DateTime today = new DateTime();
        
        //기념일을 위해 클래스 인스턴스화
        Date dt = new Date();
        
        public Form1()
        {
            InitializeComponent();
            today = monthCalendar1.SelectionStart;
        }

        private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
        {
            //for문을 돌며.. 기념일과 동일한 내용이 있나 확인합니다...
            for (int i = 0; i < dt.date.Length; i++)
            {
                //만약.. 선택한 날짜가 dt클래스내의 date배열의 i번쨰 요소에 있는 것과 동일 할 경우,
                if (monthCalendar1.SelectionStart.ToShortDateString().Substring(5, 5) == dt.date[i])
                {
                    tb_eventDay.Text = dt.date_d[i];
                    break;
                }
                else
                {
                    tb_eventDay.Text = "";
                }
            }
            //해당 날짜를 선택하면 텍스트 박스에 해당 요일이 선택되게끔 한다.
            tb_selDay.Text = monthCalendar1.SelectionRange.Start.ToShortDateString();

            //오늘 날짜로 부터 몇일이 경과 되었는지를 확인해 주도록 한다.
            tb_today.Text = (monthCalendar1.SelectionRange.Start - today).TotalDays.ToString();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            tb_date2.Text = today.AddDays(Int32.Parse(tb_date.Text)).ToLongDateString();
        }
    }
}

5. 실행해서 잘 되는지 봅니다...
사용자 삽입 이미지
위와 같은 방법으로 .. 깔끔(=허접) 하게 나마.. 기념일을 추가 할 수 있었습니다. 추 후 으용해서 음력 구하는 알고리즘 까지 적용하시게 된다면.. 이 기념일 계산기를 유용하게 쓰실 수 있을지도 모르겠습니다..ㅎㅎㅎ +_+
또한 DB와의 연동으로.. 이것저것 만들 수 도 있는데.. 그걸 살짝 응용 하여 만든게..
http://bluene.net/blog/334(새 창으로 열기) 이긴 합니다만, VB.NET을 이용하여 제작하였습니다만... 그럭저럭... 쓸만 할 껍니다.....ㅎㅎㅎ
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by 블루네군

2010/02/14 23:43 2010/02/14 23:43
Response
No Trackback , No Comment
RSS :
http://bluene.net/blog/rss/response/526

[C#] 기념일 계산기 만들기 - (2) 소스 코딩

1. 일단 소스 코딩에 앞서, 아래의 그림과 같이 각각의 텍스트 박스들의 속성을 변경한다.
사용자 삽입 이미지

2. Visual Studio 속성 창을 통하여 위의 그림과 같은 이름으로 변경한다.
사용자 삽입 이미지
3. MonthCalendar 컨트롤을 더블클릭하여 소스 코딩창으로 전환 또는 아래의 그림과 같이 DateChanged 이벤트를 준다.(DateChanged 이벤트를 더블클릭하면 된다.)
사용자 삽입 이미지
4. 그리고 다음과 같이 소스를 코딩 하여 준다.

private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
        {
            //해당 날짜를 선택하면 텍스트 박스에 해당 요일이 선택되게끔 한다.
            tb_selDay.Text = monthCalendar1.SelectionRange.Start.ToShortDateString();

            //오늘 날짜로 부터 몇일이 경과 되었는지를 확인해 주도록 한다.
            tb_today.Text = (monthCalendar1.SelectionRange.Start - today).TotalDays.ToString();
        }

5. 클래스 이름과 동일한 메소드(=생성자)안과 윗부분에 다음과 같은 구문을 넣어준다.

DateTime today = new DateTime();
        
        public Form1()
        {
            InitializeComponent();
            today = monthCalendar1.SelectionStart;
        }


6. 디자인 보기 모드로 이동후 버튼을 더블클릭 또는 이벤트에서 Click항목을 더블클릭 후 다음과 같은 코드를 넣어 준다.
private void button1_Click(object sender, EventArgs e)
        {
            tb_date2.Text = today.AddDays(Int32.Parse(tb_date.Text)).ToLongDateString();
        }

전체적인 소스는 다음과 같다.
>
using System;
using System.Windows.Forms;

namespace 기념일계산기
{
    public partial class Form1 : Form
    {
        DateTime today = new DateTime();
        
        public Form1()
        {
            InitializeComponent();
            today = monthCalendar1.SelectionStart;
        }

        private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
        {
            //해당 날짜를 선택하면 텍스트 박스에 해당 요일이 선택되게끔 한다.
            tb_selDay.Text = monthCalendar1.SelectionRange.Start.ToShortDateString();

            //오늘 날짜로 부터 몇일이 경과 되었는지를 확인해 주도록 한다.
            tb_today.Text = (monthCalendar1.SelectionRange.Start - today).TotalDays.ToString();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            tb_date2.Text = today.AddDays(Int32.Parse(tb_date.Text)).ToLongDateString();
        }
    }
}

마지막으로 기념일 부분을 추가하는 부분은 다음 포스팅에서
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by 블루네군

2010/02/05 00:22 2010/02/05 00:22
Response
No Trackback , No Comment
RSS :
http://bluene.net/blog/rss/response/525

[C#] 기념일 계산기 만들기.(1) - 폼 제작

C# 윈폼을 이용하여 기념일 계산기 만들기..
뭐.. 일단은.. 뭐시기, 거시기 해 보입니다만,
일단은.. 완성 작품입니다.
사용자 삽입 이미지
뭐 별거 없습니다.
왼쪽 달력에서 해당 날짜를 선택하면... 선택한 날짜가 나타나고.
오늘 날짜로부터 얼마가 지났는가 확인해주고.

프로그램 하단부에.. 텍스트 박스에 10이라는 글자를 입력후 계산하기 버튼을 눌렀을경우에, 오늘날짜로부터 10일 후의 날짜를 계산해 주고, 특정 기념일이 되었을 경우에. 기념일을 나타내주도록 하는 아주 허접하고도 간단한 프로그램입니다...

일단, 이 프로그램을 작성하는데 있어서 Visual Stduio 2008 (.NET Framework 3.5)기반으로 제작하였습니다.

일단 이번에는 Visual Stduio 2008을 이용해서 C# 언어를 이용하여 윈폼을 제작하도록 하겠습니다.

1. 그림과 같이 Visual Studio 2008 을 Open!!
사용자 삽입 이미지

2. 파일->새로만들기->프로젝트를 하여 새 프로젝트를 오픈합니다.
사용자 삽입 이미지

또는, 그림과 같이.. 만들기 : 프로젝트(P) 클릭하여 새 프로젝트를 오픈하셔도 됩니다.
사용자 삽입 이미지

3. 새 프로젝트 창에서 프로젝트 형식은 Visual C# 을 선택하시고 템플릿은 Windows Form 응용 프로그램을 선택합니다.
사용자 삽입 이미지
프로젝트 이름, 위치등을 적절하게 지정하신후 확인 버튼을 누릅니다.(저와 같은 경우에는 프로젝트 이름을 기념일계산기라고 정하였습니다.)

5. 확인 버튼을누르고 난 다음의 화면입니다..
사용자 삽입 이미지

6.폼을 선택하시고 속성창에서 Text 속송을 기념일 계산이라고 변경합니다.
사용자 삽입 이미지
7. 도구상자에서 MonthCalendar 를 선택하여 폼으로 가져다 놓습니다.(MonthCalenda항목을 폼으로 드래그 하여 가져다 놓습니다..)
사용자 삽입 이미지
8. 그리고 Label, TextBox, Button 컨트롤도 폼에 가져다 놓습니다.
아래 그림과 같이 디자인 합니다.
사용자 삽입 이미지

일단은 우선 여기까지 포스팅 하겠습니다, 다음 포스팅에서는.. 컨트롤들에 대한 이름을 변경 하는 작업과, 소스 코딩을 하겠습니다..!!
이올린에 북마크하기

Posted by 블루네군

2010/01/16 23:53 2010/01/16 23:53
Response
No Trackback , No Comment
RSS :
http://bluene.net/blog/rss/response/524

« Previous : 1 : 2 : 3 : 4 : 5 : ... 112 : Next »

블로그 이미지

- 블루네군

Archives

Calendar

«   2010/03   »
  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 30 31      

Site Stats

Total hits:
367622
Today:
240
Yesterday:
236