using System;
using System.Timers;
using System.IO;


class Program
{
    public static void Main()
    {
        CHKNMNM nmm = new CHKNMNM();
        nmm.CALCCHK();
        nmm.REALCHK();
        nmm.DISPCHK();
    }
}

class CHKNMNM
{
    string[] HOLIDAY = new string[]
    {
    "2024-01-01",
    "2024-02-09",
    "2024-02-12",
    "2024-03-01",
    "2024-04-10",
    "2024-05-01",
    "2024-05-06",
    "2024-05-15",
    "2024-06-06",
    "2024-08-15",
    "2024-09-16",
    "2024-09-17",
    "2024-09-18",
    "2024-10-03",
    "2024-10-09",
    "2024-12-25",
    };
    string[] HOLIDAYNM = new string[]
    {
    "2024-01-01(신정)",
    "2024-02-09(구정)",
    "2024-02-12(구정)",
    "2024-03-01(삼일절)",
    "2024-04-10(선거일)",
    "2024-05-01(노동절)",
    "2024-05-06(어린이날대체)",
    "2024-05-15(부처님오신날)",
    "2024-06-06(현충일)",
    "2024-08-15(광복절)",
    "2024-09-16(추석)",
    "2024-09-17(추석)",
    "2024-09-18(추석)",
    "2024-10-03(개천절)",
    "2024-10-09(한글날)",
    "2024-12-25(크리스마스)",
    };
    string[] YOIL = new string[]
    {
    "MONDAY",
    "TUESDAY",
    "WEDNESDAY",
    "THURSDAY",
    "FRIDAY",
    "SATURDAY",
    "SUNDAY",
    };
    string[] RANDOMNM = new string[]
    {
    "CHO","PARK","JIN",
    };

    const int MAX_CNT = 1024;
    string[] CHKNM = new string[MAX_CNT];
    string[] CHKDT = new string[MAX_CNT];
    string[] CHKYO = new string[MAX_CNT];
    string[] CHKRM = new string[MAX_CNT];

    public void CALCCHK()
    {
        int ii = 0; //(1-MON, 7-SUNDAY)
        int day = 0;
        int mm = 0;
        int kk = 0;

DateTime now = DateTime.Now;
DateTime calcnow;

//POINT:CHKRM's INCREASE ITSELF
//POINT:RANDOMNM's INCREASE ITSELF
//POINT:CHKRM's INCREASE ITSELF
//POINT:RANDOMNM's INCREASE ITSELF

        while(true)
        {
            calcnow = now.AddDays(day);
            if(    Convert.ToInt32(calcnow.ToString("yyyy-MM-dd").Replace("-","")) < 20231231)
            {
                day++;
                continue;
            }
            if(    Convert.ToInt32(calcnow.ToString("yyyy-MM-dd").Replace("-","")) == 20250101) break;
            if(    Convert.ToInt32(calcnow.ToString("yyyy-MM-dd").Replace("-","")) == 20231231) ii=7;




    int check = 0;
    for(int ff =0; ff < HOLIDAY.Length; ff++)
    {
        if(calcnow.ToString("yyyy-MM-dd") == HOLIDAY[ff])
{
    check = 100;
    break;
}
    }


    if(check == 0)
    {
        if(ii==4) CHKRM[kk++] = RANDOMNM[ mm++ % 3];
else if(ii==5) CHKRM[kk++] = RANDOMNM[ mm++ % 3];
    }
    else
    {
        if(ii==1) CHKRM[kk++] = "PARK";
else if(ii==2) CHKRM[kk++] = "JIN";
else if(ii==3) CHKRM[kk++] = "CHO";
else if(ii==4) CHKRM[kk++] = RANDOMNM[ mm++ % 3];
else if(ii==5) CHKRM[kk++] = RANDOMNM[ mm++ % 3];
    }

    day++;
    ii++;
    
    if(ii == 8) ii = 1;
}
    }
    public void REALCHK()
    {
        int ii = 0; //(1-MON, 7-SUNDAY)
int day = 0;
int kk = 0;
int sum = 0;

DateTime now = DateTime.Now;
DateTime calcnow;

        while(true)
{
    calcnow = now.AddDays(day);
    if(    Convert.ToInt32(calcnow.ToString("yyyy-MM-dd").Replace("-","")) < 20231231)
    {
        day++;
continue;
    }
    if(    Convert.ToInt32(calcnow.ToString("yyyy-MM-dd").Replace("-","")) == 20250101) break;
    if(    Convert.ToInt32(calcnow.ToString("yyyy-MM-dd").Replace("-","")) == 20231231) ii=7;




    int check = 0;
    for(int ff =0; ff < HOLIDAY.Length; ff++)
    {
        if(calcnow.ToString("yyyy-MM-dd") == HOLIDAY[ff])
{
    check = 100;
    break;
}
    }


    if(check == 0)
    {
        if(ii==1)
{
    CHKNM[sum] = "PARK";
    CHKYO[sum] = YOIL[ii-1];
    CHKDT[sum] = calcnow.ToString("yyyy-MM-dd");
}
else if(ii==2)
{
    CHKNM[sum] = "JIN";
    CHKYO[sum] = YOIL[ii-1];
    CHKDT[sum] = calcnow.ToString("yyyy-MM-dd");
}
else if(ii==3)
{
    CHKNM[sum] = "CHO";
    CHKYO[sum] = YOIL[ii-1];
    CHKDT[sum] = calcnow.ToString("yyyy-MM-dd");
}
        else if(ii==4)
{
    CHKNM[sum] = CHKRM[kk++];
    CHKYO[sum] = YOIL[ii-1];
    CHKDT[sum] = calcnow.ToString("yyyy-MM-dd");
}
else if(ii==5)
{
    CHKNM[sum] = CHKRM[kk++];
    CHKYO[sum] = YOIL[ii-1];
    CHKDT[sum] = calcnow.ToString("yyyy-MM-dd");
}
else if(ii==6)
{
    CHKNM[sum] = "HOLIDAY";
    CHKYO[sum] = YOIL[ii-1];
    CHKDT[sum] = calcnow.ToString("yyyy-MM-dd");
}
else if(ii==7)
{
    CHKNM[sum] = "HOLIDAY";
    CHKYO[sum] = YOIL[ii-1];
    CHKDT[sum] = calcnow.ToString("yyyy-MM-dd");
}
    }
    else if(check == 100)
    {
        CHKYO[sum] = YOIL[ii-1];
        CHKDT[sum] = calcnow.ToString("yyyy-MM-dd");

int subcheck = 0;
for(int ff=0; ff<HOLIDAY.Length; ff++)
{
    if(CHKDT[sum] == HOLIDAY[ff])
    {
        CHKNM[sum] = HOLIDAYNM[ff];
subcheck = 100;
break;
    }
}
if(subcheck == 0)
{
    CHKNM[sum] = "SPECIAL";
}
    }

    day++;
    ii++;
    sum++;
    
    if(ii == 8) ii = 1;
}
    }
    public void DISPCHK()
    {
        int kk = 0;

        while(true)
{
    string dateTxt = "";
    string nameTxt = "";

    int check = 0;
    for(int ii=0; ii<7; ii++)
    {
        dateTxt += CHKDT[kk] + "/";
nameTxt += CHKNM[kk] + "/";

        if(CHKDT[kk] == "2024-12-31")
{
    check = 100;
    break;
}

kk++;
    }
    Console.WriteLine(dateTxt);
    Console.WriteLine(nameTxt);

    if(check == 100) break;
}
    }
}




        
    
        

 

//Array를 Object로 변환해서, 한번에 Row에 출력하기.혹은 저장하기

/*
string n = "1234";

Method.1
int outValue = Convert.ToInt32(n);

Method.2
int outValue = int.Parse(n);

Method.3
int outValue;
int.TryParse(n, out outValue);
*/


class Program
{
    static void Main(string[] args)
    {
        Application.Run(new NMNM());
    }
}

public class NMNM : Form
{
    private DataGridView control_datagridview;

    public NMNM()
    {
        DESIGN();
        DATA();
    }

    void DESIGN()
    {
         control_datagridview = new DataGridView();

         control_datagridview.Dock = DockStyle.Fill;
         control_datagridview.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
         control_datagridview.MultiSelect = false;
         control_datagridview.Location = new Point(362, 150);
         control_datagridview.Name = "control_datagridview";
         control_datagridview.Size = new Size(240, 150);
    }
    void DATA()
    {

        List<string> AuthorList = new List<string>();

         AuthorList.Add("Mahesh Chand");
         AuthorList.Add("Praveen Kumar");
         AuthorList.Add("Raj Kumar");
         AuthorList.Add("Nipun Tomar");
         AuthorList.Add("Dinesh Beniwal");

         control_datagridview.Rows.AddItem(AuthorList.ToArray());
    }
}

public class Program
{
    public static void Main()
    {
        DateMN nm = new DateMN();
        nm.running();
    }
}
public class DateMN
{
    DateTime now;
    string manualDT = "20230901070000";
    double rate = 0.0586;
    int middle_pay = 95000000;
    double rate_sum = 1300000;

    public void running()
    {
        int kk = 0;
        now = DateTime.ParseExact(manualDT, "yyyyMMddHHmmss", System.Globalization.CultureInfo.InvariantCulture);

        while(true)
        {
            DateTime manual = now.AddDays(kk);
            if("2023-12-15" == manual.ToString().Substring(0,4+2+2+2)) middle_pay = middle_pay + 60000000;
            rate_sum = rate_sum + rate * middle_pay / 365.0;

            kk++;
            Console.WriteLine("[" + kk.ToString("0000") + "]" + manual.ToString() + "/" + middle_pay + "/" + rate_sum);

            if(kk > 200) break;
        }
    }
}

 

 

C#, 변수, 상수, 기본구조
C#, HelloWorld, Main 함수
C#, 연산자, 자료형(Value Type, Reference Type)
사용자정의타입(열거형, 구조체)
조건문, 제어문, 반복문(if, switch, for, while, forEach)
가변길이 매개변수(params), 명명된 인수 및 선택적 인수
프로퍼티(Property)
C# 객체지향 프로그래밍
클래스(Class), 객체, 상속, 추상클래스, 인터페이스, 다형성
C# 코드 최적화, 객체생성 및 멤버,필드 초기화
C# new, virtual, partial 한정자
값전달, 참조전달(ref, out)
C# 배열(Array)
C# 일반화 프로그래밍(Generic)
C# 컬렉션 클래스(Collection Class)
C# 델리게이트, 델리게이트 체인
C# 이벤트(Event)
C# 람다식(Lambda Expression)
C# Func, Action 델리게이트
C# 링크(Linq)




Xamarin 1.1 자마린 소개
1.2 자마린 설치
1.3 자마린 안드로이드(Xamarin.Android)
1.4 자마린 특징
2. Xamarin.Android
2.1 Hello Android(Xamarin.Android Application) Example
2.2 Hello Xamarin Android 구조
2.2.1 Resources
2.2.2 Xamarin.Android Activity란
2.2.3 Activity Life Cycle
2.2.4 Hello Xamarin Android의 기타 요소들
2.2.5 Xamarin Android Intent(인텐트)
2.2.6 Simple Intent Example(웹페이지 오픈하기)
2.2.7 Simple Intent Example(현재 위치를 얻은 후 지도에 표시하기, 마시멜로이후 권한 획득방법 구현)
2.2.8 Android Service 개요
2.3 Hello Android MultiScreen Example
2.4 Built-In List Item Layouts(내장 리스트아이템 레이아웃)
2.5 Xamarin.Android(With .JAR, .AAR, Native Android Library)
2.5.1 Binding Java Library(Consuming Java libraries from C#)
2.5.2 Xamarin.Android EmbeddedJar Binding(안드로이드 JAR 라이브러리 바인딩)
2.5.3 Xamarin.Android .AAR Binding(안드로이드 .AAR File을 자마린 바인딩 자바 라이브러리로 구현 후 Xamarin.Android 프로젝트에서 호출하기)
3. Xamarin.iOS
3.1 Xamarin.iOS 설치, 개발환경
3.2 Xamarin.iOS HelloWorld(단일 뷰) 실습
3.3 Xamarin.iOS HelloWorld 자세히 살펴보기
3.3.1 Xamarin.iOS HelloWorld 해부하기
3.3.2 Architecture and App Fundamentals
3.3.3 User Interface(iOS Designer, Storyboards)
3.4.4 View Controllers and the View Lifecycle
3.3.5 추가적인 사항
3.4 Xamarin.iOS HelloWorld(멀티 뷰) 실습
3.4.1 Xamarin.iOS HelloWorld(멀티 뷰) 자세히 살펴보기_MVC, Navigation Controller, View Controller
3.5 네비게이션 컨트롤러(Navigation Controller)
3.6 루트 뷰 컨트롤러(Root View Controller)
4. Xamarin.Forms
4.1 Xamarin.Forms Requirements
4.2 Xamarin.Forms Quick Start
4.3 Xamarin.Forms HelloWorld 분석
4.3.1 Xamarin.Forms HelloWorld 프로젝트 구조
4.3.2 Xamarin.Forms HelloWorld Fundamentals
4.3.3 Xamarin.Forms HelloWorld PCL 및 플랫폼별 코드 분석
4.3.4 Xamarin.Forms HelloWorld 사용자 인터페이스
4.3.5 Xamarin.Forms HelloWorld User Interaction
4.3.6 Xamarin.Forms HelloWorld 추가적인 개념
4.4 Xamarin.Forms Multiscreen Quick Start Example
4.5 Views And Layout
4.5.1 Stack Layout
4.5.2 Lists in Xamarin.Forms
4.5.3 ListView Data Sources
4.5.4 Selecting an Item in a ListView
4.5.5 DataTemplateSelector
4.5.6 ListView, DataTemplateSelector Example
4.6 MVVM개요 및 MVVM Example
4.6.1 ViewModel을 View에 연결하기
4.6.2 Creating a View Model Declaratively
4.6.3 Creating a View Model Programmatically
4.7 XAML 데이터 바인딩(Data Binding)
4.7.1 데이터 바인딩(Data Binding) 개요
4.7.2 View-to-View 데이터 바인딩
4.7.3 ListView 심플 데이터 바인딩, 컬렉션 바인딩(Collection Binding), ListView에서 클릭시 새창 띄우면서 데이터 넘기기
4.7.4 Backwards 바인딩
4.7.5 MVVM에서 데이터 바인딩 사용하기
4.7.6 MVVM, ViewModel을 이용한 ListView 데이터 바인딩
4.7.7 MVVM, XAML을 이용한 간단한 계산기 구현
4.8 SQLite.Net with Xamarin.Forms
4.8.1 Local SQLite Access Example
4.8 Hierarchical Navigation
4.8.1 Pushing Pages to the Navigation Stack
4.8.2 Popping Pages from the Navigation Stack
4.8.3 Passing Data when Navigating
4.8.4 Hierarchical Navigation Example
4.8.5 Login Flow Example
5. Xamarin.Forms & REST WebService
5.1 Rest service를 위한 클래스(HttpClient, HttpResponseMessage, HttpContent, HttpWebRequest)
5.2 Xamarin.Forms 안드로이드에서 자바기반 스프링 프레임워크(스프링 부트)로 작성한 웹서비스 호출 실습.
5.3 자마린 앱에서 스프링프레임워크/스프링부트 RESTful기반 웹서비스 Call 실습, JSON 파싱하기[웹서비스는 자바,스프링으로 모바일 앱은 자마린으로!]

'c# 언어' 카테고리의 다른 글

ClickOnce 보안 및 배포  (0) 2023.07.18
basic 3*3 frm hexa,cs,code  (0) 2023.07.13
mode con cols=80 lines=50  (0) 2023.06.11
REDIS 필수정리  (0) 2022.08.31
객체 지향(Object oriented) 프로그래밍  (0) 2022.06.17

수정코드)

void AddTxtLines(System.Windows.Forms.RichTextBox tmp, string text, int maxLines)
{
    if(true)
    {
        try
        {
            if(tmp.Lines.Count() >= maxLines)
            {
                List<string> lines = tmp.Lines.ToList();
                lines.RemoveAt(0);
                tmp.Lines = lines.ToArray();
            }
        }
        catch(AccessViolationException accexp)
        {
            Console.WriteLine("[MUSIC_DEBUG]:" + accexp.Message);
        }
        catch(Exception e)
        {
            Console.WriteLine("[MUSIC_DEBUG]:" + e.Message);
        }
    }
    try
    {
        tmp.AppendText(text);
        tmp.ScrollToCaret();
    }
    catch(AccessViolationException accexp)
    {
        Console.WriteLine("[MUSIC_DEBUG]:" + accexp.Message);
    }
    catch(Exception e)
    {
        Console.WriteLine("[MUSIC_DEBUG]:" + e.Message);
    }
}

 

music_11_00.Designer.cs
0.01MB
program.cs
0.00MB
music_11_00.cs
0.01MB

+ Recent posts