Posted
Filed under .NET/C#

어제 Visual Studio 2010 Professional 을... 잘 받아서 장장.. 30여분간의 설치를 이겨내고 시작해 본 Visual Studio 2010 .......
그 중에서도 C#언어..... 새로운 기능....

public int A(int x, int y = 5, int z = 6)
{
    int Result = 0;
    Result = x + y + z;

    return Result;
}

위와 같이.. int형을 반환 시켜주는 Method A를 만들었다...
그리고, 파라메터들을 보자.......,,, 무언가 이상하다...... int y=5, int z =6 이라고 적혀 있다....;;;( C++ 에서는 이렇게... 디폴트 파라메터라고 해서..... 사용할 수 있다..)

위와 같은 코드를 Visual Studio 2008 에서 컴파일 해보았다....
사용자 삽입 이미지
기본 매개변수 지정자를 사용할 수 없습니다.. 라고 친절하게 VS2008 에서는.. 나타나 주신다.

하지만, Visual Studio2010(이하 VS2010)에서는.. 위에와 같은 코드를 컴파일 할수 있다..
A(6); //(x:6)+(y:5)+(z:6) 17의 값이 Return
A(6,1); //(x:6)+(y:1)+z(:6) 13 의 값이 Return
A(1,3,2); //(x:1)+(y:3)+z(:2) 6의 값이 Return

2010/05/01 22:37 2010/05/01 22:37
Posted
Filed under .NET/C#
[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을 이용하여 제작하였습니다만... 그럭저럭... 쓸만 할 껍니다.....ㅎㅎㅎ
2010/02/14 23:43 2010/02/14 23:43