2025년, 코딩은 선택이 아닌 필수!

2025년 모든 학교에서 코딩이 시작 됩니다. 먼저 준비하는 사람만이 기술을 선도해 갑니다~

강의자료 342

[C#] WebClient를 이용하여 웹다운로드 기능 구현

목표 webClient 사용법을 확인하여 웹서버에서 파일 다운로드 기능을 익히자. 컴포넌트 설치 1. 도구 - 도구상자 항목선택 - NET Framework 구성요소 - WebClient 선택 하여 체크 후 적용 컴포넌트 설명 WebClient : 웹서버에서 데이터를 가져 오거나 웹서버로 데이터르 보내기 위한 컴포넌트 - Download 기능 : 데이터 다운로드 - Upload 기능 : 데이터 업로드 - OpenRead 기능 : 데이터 스트림으로 읽기 - OpenWrite 기능 : 데이터 스트림으로 쓰기 FolderBrowserDialog : 폴더위치 선택 컴포넌트 폼구성 1. label 2개, textBox 2개, Button 2개, ProgressBar 한개를 추가하여 위와 같이 폼 구성 2. Fol..

강의자료/C# 2020.12.16

[C#] WebBrowser를 이용해서 간단한 웹브라우저를 만들어 보자

목표 웹서버에 접속하는 방법 HTML 문서 가져오기 HTML 내 문서 다루기 컴포넌트 설명 - WebBroser : 웹서버에서 HTML 문서를 그래픽 사용자 인터페이스 기반으로 출력해 주는 컴포넌트 폼만들기 1. Panel 을 하나 올리고 Dock 속성을 Top 으로 하여 맨 위에 올려 놓음 2. Label, textBox,Button 을 Panel 에 올리고 가운데 정렬 3. richTextBox 를 폼에 올리고 Dock 속성을 Bottom으로 하여 맨 아래로 내려 놓음 4. WebBrowser를 폼에 올리고 Dock 속성을 Fill 로 하여 전체 화면을 채움 소스코드 GO 버튼 클릭 : 해당 주소값의 서버에서 웹브라우저를 이용해서 HTML 문서를 가져오자 webBrowser1.Navigate(txt_..

강의자료/C# 2020.12.16

[C#] 간단한 메모장 만들기

목표 richTextBox 사용법 및 FontDialog 사용법 등을 배워보자. 컴포넌트 설명 RichTextBox : 글꼴 등을 적용 시킬 수 있는 텍스트박스 FontDialog : 글꼴을 선택할 수 있는 컴포넌트 ColorDialog : 색상을 선택할 수 있는 컴포넌트 MenuStrip : 메뉴바를 만들수 있다 StatusStrip : 상태를 표시할 수 있는 바 폼만들기 1. MenuStrip을 폼에 추가 후 메뉴 생성 2. RichTextBox 를 폼에 추가후 Dock 를 Fill 로 설정하여 폼을 채움 소스코드 구현 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using ..

강의자료/C# 2020.12.12

[C#] 트레이 아이콘을 사용하여 프로그램을 숨겨보자

목표 - 트레이 아이콘을 만드는 방법을 배워보자 컴포넌트 설명 NotifyIcon : 배치로 동작하는 프로그램을 구현할때 화면에서 폼을 숨기기 위한 용도로 사용된다. ContextMenuStrip : 우클릭시 보이는 메뉴를 구성할때 사용 폼구성 1. ContextMenuStrip 추가 - 더블클릭하여 폼보이기, 종료 를 추가한다. 2. NotifyIcon 추가 - Icon 을 선택하여 화면이 숨고 트레이가 수행 될때 보이는 아이콘을 선택 - ContextMenuStrip 에서 좀전에 추가한 컴포넌트 연결 ( 우클릭시 해당 메뉴를 보여주기 위함) 3. Button을 추가 하여 위와 같이 폼을 구성 소스코드 구현 1. 트레이 이동 버튼 클릭이벤트 this.Visible = false; //폼을 감추자. no..

강의자료/C# 2020.12.11

[C#] 프로그래스바를 활용한 진행 상태 표현

목표 - 프로그래스바 사용법을 배워보자 컴포넌트설명 ProgressBar : 진행상태를 확인하기 위해 바에 상태를 표시하는 컴포넌트 폼구성 1. 폼에 ProgressBar 를 올려 놓자 2. Label, Button 을 올려서 위와 같이 폼구성 3. Timer 를 하나 올리자. 소스코드 구현 -시작 버튼을 클릭했을때 다음과 같이 코드 작성 progressBar1.Maximum = 100; ///최대값을 설정한다. this.timer1.Enabled = true; button1.Enabled = false; - timer 를 구현하자 if (progressBar1.Value == progressBar1.Maximum) { this.timer1.Enabled = false; button1.Enabled = ..

강의자료/C# 2020.12.11

[C#]PicturBox,ImageList 를 이용한 앨범 구현

목표 - picturbox 와 ImageList 컴포넌트 사용법을 배워보자 컴포넌트 설명 PicturBox : 사진과 같은 이미지를 표시해 주는 컴포넌트 ImageList : 이미지를 적재하여 PicturBox 에서 순차적으로 조회할 수 있다. 이미지를 여러장 순차적으로 보여주는 프로그램 만들기 1. 폼구성 2. 소스구현 이미지추가 버튼을 클릭햇을때 다음과 같이 PC에 있는 이미지 파일을 선택하여 ImageList에 추가 하자. OpenFileDialog ofd = new OpenFileDialog(); ofd.Filter = "Image File|*.JPG;*.BMP;*.ICO;*.EMF;*.GIF;"; /// 파일 속성을 이미지 파일만 보일 수 있게 DialogResult dr = ofd.ShowDi..

강의자료/C# 2020.12.10

[C#] ListBox,ListView 사용법

목표 - ListBox, ListView 사용법을 배워보자. 컴포넌트 설명 - ListBox : 목록과 같은 리스트를 추가/삭제 - ListView : 엑셀과 같이 데이터를 표현하기 위해서 사용하는 컴포넌트이다. 1. ListBox 사용 폼구성 1. listBox 를 폼에 추가한다. 2. TextBox,Button 2개를 올려서 위와 같이 폼을 구성 소스코드 구현 - 추가하기 버튼 클릭 이벤트 private void button1_Click(object sender, EventArgs e) { if(this.textBox1.Text != "") { this.listBox1.Items.Add(this.textBox1.Text); this.textBox1.Text = ""; } } - 삭제하기 버튼클릭 이벤..

강의자료/C# 2020.12.08

[C#] 타이머를 이용해서 시계를 만들어 보자

목표 - 프로젝트 생성법을 배워보자. - 이벤트의 동작을 알아 보자 - 타이머 컴포넌트 사용법을 알아보자. 컴포넌트 설명 - timer : 타이머는 일정한 주기로 어떤 작업을 수행해야 할때 사용한다. 폼만들기 1. Windos Forms 앱(NET Framework) 선택 하여 프로젝트 생성 2. 폼에 버튼 추가 및 라벨 추가 소스코드 구현 1. 타이머 시작 버튼 클릭 이벤트 timer1.enabed = true 2. timer1_Tick 이벤트 : 타이머 주기가 되면 실행되는 이벤트 lbl_Timer.Text = System.DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"); 3. 전체 소스 using System; using System.Collections.Generi..

강의자료/C# 2020.12.08

[자료구조] 우선순위큐(Priority Queue)

우선순위큐(Priority Queue) 란? 우선순위를 가진 항목들을 저장하는 큐 FIFO 순서가 아니라 우선순위가 높은 데이터가 먼저 나가게 된다. 응용분야 - 시뮬레이션 시스템 - 네트워크 트래픽 제어 - 운영체제에서의 작업 스케줄링 우선순위큐 STL 기본 형태 priority_queue : 원하는 자료형 및 클래스 T를 통해 생성, 여기서 Container는 Vector와 같은 컨테이너 이며 Compare 는 비교 함수 클래스(단,Compare 조건에서 참인 것이 후 순위로 밀린다.) 우선순위큐 함수 push(element) : 우선순위 큐에 추가 pop() : 원소 삭제 top() : top에 있는 원소를 반환 empty() : 비어있으면 true 아니면 false size() : 우선 순위 큐에..

[자료구조]링크드 리스트(Linked List)

선형리스트 - 배열에서 원소 삽입 방법을 살펴 보자. 질문) 위와 같은 경우 배열의 데이터가 1억개 인경우 0 번지에 데이터를 삽입 하기 위해서 몇번 연산을 해야 할까? - 배열에서 원소 삭제 방법을 살펴 보자. 질문) 위와 같은 경우 배열의 데이터가 1억개 인경우 0 번지에 데이터를 삭제 하기 위해서 몇번 연산을 해야 할까? 순차 자료구조의 문제점 - 삽입 연산이나 삭제 연산 후에 연속적인 물리 주소를 유지하기 위해서 원소들을 이동시키는 추가 작업과 시간 소요 - 원소들의 이동 작업으로 인한 오버헤드로 원소의 개수가 많고 삽입・삭제 연산이 많이 발생하는 경우에 성능상의 문제 발생 - 순차 자료구조는 배열을 이용해 구현하기 때문에 배열이 갖고 있는 메모리 사용의 비효율성 문제를 그대로 가짐 - 순차 자료..