비밀 번호 | 중간 고사 | 중간 고사 extra 20% | 중간 고사 | 기말 고사 | 출석 (20%) | 중간 고사 (30%) | 기말 고사 (40%) | 실습 (10%) | TOTAL |
0409 | 39 | 20 | 59 | 21 | 20.0 | 17.7 | 6.3 | 10 | 54.0 |
1016 | 27 | 20 | 47 | 30 | 19.7 | 14.1 | 9 | 10 | 52.8 |
1234 | 5 | 20 | 25 | 3 | 18.3 | 7.5 | 0.9 | 10 | 36.7 |
3150 | 39 | 20 | 59 | 57 | 18.7 | 17.7 | 17.1 | 10 | 63.5 |
4917 | 22 | 20 | 42 | 24 | 20.0 | 12.6 | 7.2 | 10 | 49.8 |
7324 | 0 | 0 | 0 | 6.7 | 0 | 0 | 10 | 16.7 | |
7325 | 0 | 20 | 20 | 4 | 15.7 | 6 | 1.2 | 10 | 32.9 |
7777 | 0 | 0 | 0 | 10.3 | 0 | 0 | 10 | 20.3 | |
9492 | 15 | 20 | 35 | 42 | 18.7 | 10.5 | 12.6 | 10 | 51.8 |
기말고사
일시: 2016년 12월 20일 (화) 1:30-3:30
장소: 2과 313-1
범위: 중간고사 내용포함 – 중간고사 이후부터 배운데까지 (수업블로그와 수업 내용 중심으로)
WOEID CSV, XML, JSON
WOEID CSV, XML, JSON
PERSONLISTVIEWXMLSERIALIZER
PersonListViewXMLSerializer (계층적인 XML 구성예)
XMLELEMENT & XMLATTRIBUTE
XML Element
http://dis.dankook.ac.kr/lectures/hci11/entry/XMLElement
XML Attribute
http://dis.dankook.ac.kr/lectures/hci11/entry/XMLAttribute
XML Element & Attribute
http://dis.dankook.ac.kr/lectures/hci11/entry/XMLElement-Attribute
XML SERIALIZATION TUTORIAL
XML Serialization Tutorial
http://www.diranieh.com/NETSerialization/XMLSerialization.htm
SERIALIZATION
Person Serialization (Using BinaryFormatter or SoapFormatter)
http://dis.dankook.ac.kr/lectures/hci09/entry/Simple-Serialization
Person XML Serialization (Using XML Serializer or Soap XML Serializer)
http://dis.dankook.ac.kr/lectures/hci09/entry/XML-Serialization
Person Using ISerialable Interface
http://dis.dankook.ac.kr/lectures/hci09/entry/ISerialable
PersonList Serialization (Using BinaryFormatter or SoapFormatter)
http://dis.dankook.ac.kr/lectures/hci09/entry/PersonList-Serialization
lecture12
lecture12
HW4
단국대학교 멀티미디어공학과 HCI프로그래밍2 (2016년 가을학기) 실습
과목코드 : 300890
강사 : 박경신
———————————————————
날짜: 2016년 11월 28일
– 실습번호 : HW4 (Due by 12/12)
– 실습제목 : Window.Forms , Controls, FileIO, GMap.Net, LINQ
– 실습요약 : 지도 위에 한국의 지진 정보를 보여준다.
– 준비자료 : 지진데이터
http://greatmaps.codeplex.com/releases/view/73162
12/12까지 online.dankook.ac.kr 이러닝으로 실행파일(bin\*.exe)과 소스코드(*.cs)와 보고서(*.doc/*.hwp)를 전부 “학번_이름_HW4.zip”으로 묶어서 제출한다. 또한, 비주얼 스튜디오에서 만든 프로젝트 전체 파일(*.sln, *.csproj)을 폴더에 같이 넣어준다. 보고서는 출력해서 수업시간에 제출한다.
– 실습문제
- GMap.Net 컨트롤을 설치한다.
http://www.independent-software.com/gmap-net-tutorial-maps-markers-and-polygons/
http://dis.dankook.ac.kr/lectures/hci16/2016/11/28/custom-control/ 참고
- KEarthquake 클래스를 만든다.
public class KEarthquake: IComparable<KEarthquake>, IEquatable<KEarthquake>
{
public DateTime Time { get; set; }
public double Magnitude { get; set; }
public double Latitutde { get; set; }
public double Longitude { get; set; }
public string Location { get; set; }
public string Link { get; set; }
public Color MagnitudeColor { get { return ComputeARGBColor(); } }
// compute color based on magnitude
public Color ComputeARGBColor()
{
int r = 0, g = 0, b = 0;
if (Magnitude <= 1.5)
{
// BLUE
r = 0; g = 0; b = 255;
}
else if ((Magnitude > 1.5) && (Magnitude <= 2.75))
{
// BLUE->CYAN
r = 0; g = (int)(255 * (Magnitude – 1.5) / 1.25); b = 255;
}
else if ((Magnitude > 2.75) && (Magnitude <= 4.0))
{
// CYAN->GREEN
r = 0; g = 255; b = 255 – (int)(255 * (Magnitude – 2.75) / 1.25);
}
else if ((Magnitude > 4.0) && (Magnitude <= 5.25))
{
// GREEN->YELLOW
r = (int)(255 * (Magnitude – 4.0) / 1.25); g = 255; b = 0;
}
else if ((Magnitude > 5.25) && (Magnitude <= 6.5))
{
// YELLOW->RED
r = 255; g = 255 – (int)(255 * (Magnitude – 5.25) / 1.25); b = 0;
}
else if (Magnitude > 6.5)
{
// RED
r = 255; g = 0; b = 0;
}
return Color.FromArgb(75, r, g, b);
}
}
- 모든 지진데이터 *.csv 파일을 읽어서 List<KEarthquake>를 만들어주는 KEarthquakeImporter 클래스를 만든다.
http://dis.dankook.ac.kr/lectures/hci15/?p=572 Person.csv 파일 읽기 참고
- List<KEarthquake>를 이용해서 Listview에 전체 데이터를 보여준다.
- List<KEarthquake>를 이용해서 지진 강도(Magnitude)에 따른 색깔로 GMap.NET marker (circle polygon)을 그려준다.
class GMapMarkerCircle : GMapMarker // 제작 필요
class GMapMarkerImageAndLink : GMapMarker // 제작 필요
- LINQ를 이용하여 발생기간, 규모(Magnitude) 범위에 따른 지진데이터를 검색하여 보여준다.
Custom Control
사용자 정의 컨트롤
-기존 컨트롤을 상속받아 사용자 정의 새로운 컨트롤을 작성
-UserControl을 상속받아 합성 컨트롤을 작성
1. 파일 메뉴->새로 만들기->프로젝트
Visual C# 프로젝트 목록에서 “Windows Forms 컨트롤 라이브러리” 선택하고 이름을 “NumberTextBoxLib”을 입력
2. 솔루션 탐색기에서 UserControl1.cs를 NumberTextBox.cs로 변경
NumberTextBox.cs 코드에서 상속을 UserControl에서 TextBox로 변경
public partial class NumberTextBox: TextBox
NumberTextBox.Designer.cs에 InitializeComponent()에서 AutoScaleMode 속성은 삭제
NumberTextBox.cs 코드에서 OnKeyPress(…) 메소드를 재정의
솔루션을 빌드하면 컨트롤이 완성
완성
———————————————————————————————
사용자 정의 컨트롤 사용
1.솔루션 탐색기의 “참조”에 “NumberTextBoxLib.dll”를 “참조추가”
“도구상자”에서 오른쪽 마우스 “항목선택”을 한 후 “찾아보기” 버튼에서 “NumberTextBoxLib.dll” 다시 로딩한 후, “NumberTextBox” 에 체크가 됬는지 확인
2. 폼에 “NumberTextBox”를 사용하여 디자인하고 솔루션을 빌드하면 컨트롤이 완성