일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- JSON
- 공공 데이터 포털
- delegate
- 버스 API
- WPF
- DrawEllipse
- Winform
- 경기도 버스정보시스템
- 경기도 버스
- MDB Connect
- DrawRectangle
- Excel Cell Format
- 객체지향
- MVC
- Json.NET
- TDD
- GDI+
- sqlite3
- eventhandler
- C# 파일 암/복호화
- MDB Select
- C# MDB
- C# MDB Handle
- eventargs
- c#
- solid
- NUnit
- 디자인 패턴
- 시
- Cell Border Style
- Today
- Total
목록분류 전체보기 (169)
White Whale Studio
두 번째 정류장에서 - Glorymind - 다른이들보다 느린 버스를 타고 도착한 정류장에서 느낀 감정이란, 환희보다는 허무가 더욱 어울렸고 종착지를 향하는 여로가 아직도 머나멀다는 것을 알고 있음에도 나는, 내일을 모르는 꼬마들처럼 화내고 울었다. 또 다른 정류장을 향해 버스를 오를지 동무들과 서로를 위로하며 걸음을 옮길지 나는, 뜨거운 햇살이 살을 태우고, 시린 겨울바람이 귀를 스치도록 고뇌한다.
오랜만의 포스팅입니다. 오늘은 제목과 같이 데이터 교환을 위한 방법에 대해서 살펴보고자 합니다. 메인 윈도우에서 유저컨트롤을 추가하거나 자식 윈도우를 생성하는 경우 자식 윈도우나 유저컨트롤로부터 데이터를 받아야할 경우가 있을 겁니다. 이러한 경우에 주요 사용되며 방법이야 몇가지 방법이 있겠지만 제가 사용할 방법은 이벤트를 이용한 방법입니다. 일반적으로 제공 컨트롤을 통한 이벤트를 자주 접하시겠지만 이벤트를 생성하여서 파라미터를 전달하는 방식을 사용할겁니다. 우선 상황을 설명하자면 부모 윈도우가 있고 자식윈도우가 있다고 가정하고 자식윈도우에서 특정값을 입력 후 부모 윈도우에서 그 값을 출력하고자 할 때를 예를 들겠습니다. 다음은 자식윈도우의 코드입니다. public ChildWindow() { Initia..
이번 포스팅은 응용프로그램을 배포했을 때 프로젝트 내에 추가한 텍스트 파일을 사용하기 위한 방법을 포스팅합니다. 저 같은 경우는 Data 폴더 내에 KiKcd_B.20130902.txt 파일을 추가했습니다. 이 파일을 사용하려면 해당 파일의 경로를 알아야 하겠죠. 일반적으로 Resource 이미지 파일의 경우 Uri를 사용해서 new Uri("pack://application:,,,/data/ddd.txt"); 와 같이 호출이 가능한 반면에 txt 파일과 같은 IO 작업시에는 URI가 아닌(물론 xml 파일은 Uri 경로방식이 가능합니다만..) string으로 받는 경우라서.. 개념은 다음과 같습니다. 프로젝트 패키지 내의 데이터 파일을 우선 어플리케이션 실행 경로로 복사합니다. System.Window..
WPF에서 제공하는 애니메이션은 참 매력적입니다. 투명도 조절, 회전, 이동 등 적용하기에 따라 다양하게 변화시킬 수 있죠. 자주 사용하는 부분들은 어느정도 머리속에 있어서 관계가 없는데 잘 사용하지 않지만 가끔 필요한 애니메이션들을 포스팅하고자 합니다. 첫번째로 회전 애니메이션입니다. 일단은 제가 참고한 소스에 따라서 스토리보드에 적용할수도 하지 않을 수도 있는데 필요에 따라 수정하시면 될것같네요. DoubleAnimation da = new DoubleAnimation(5, 0, new Duration(TimeSpan.FromMilliseconds(500)), FillBehavior.HoldEnd); // DoubleAnimation을 정의합니다. 여기서 5는 Angle 변화입니다. 5 -> 0으로 ..
C#을 주로 만질때에도 많이 사용했던 것이 DataGridView 인데요. WPF에서는 DataGrid로 표기되어 사용됩니다. 데이터베이스로부터 정보를 가져와서 읽고 수정하고 삭제하는 작업을 하는데 주로 사용하는데 Datagrid에 뿌려진 정보를 수정할때 좀더 세련되고 간편한 방식으로 정보를 갱신하고자 할 때 사용하면 좋을 것 같습니다. 사실 DataGrid의 컬럼(열)에 콤보박스나 체크박스 이미지 등등 여러가지를 표현하는 방법이 있는데 이번에는 Combobox에 대해서 포스팅을 하려고 합니다. 항상 저는 웹사이트 참고 후 다시 제가 스스로 찾아볼때 알아보기 쉬우라고 포스팅을 하는 목적이라.. 각설하구요.. 우선 XAML 쪽입니다. 소스에서 다음과 같이 참조추가를 해주셔야됩니다. 저는 my라는 이름으로 ..
해당 포스팅은 주기적으로 갱신될 가능성이 높습니다! 특정 UIElement들의 높이, 너비를 상위 부품들의 높이, 너비에 맞춰 바인딩 하고 싶을 때 아래의 소스에서 Path는 가져오고 싶은 요소(높이, 너비), ElementName은 상위 부품의 이름(Grid, 혹은 Window 등등) Height = "{Binding Path=ActualHeight, ElementName=uc}"Width = "{Binding Path=ActualWidth, ElementName=uc}"
이번 포스팅에서는 routeInfo 즉, 노선 정보에 대해서 살펴볼겁니다. 본래 이걸 제가 할게 아니라 API 제공하는 경기도 API 쪽에서 하는게 맞는데.. 답답한 사람이 해야죠. 별 수 있나요. 제공하는 설명서에는 나와있지 않은 내용들도 있으니 참고가 되실 것 같습니다. 00000000 00-00 23 239000607 가평터미널 44151 239000818 가평역 44779 06:30 06:35 07:00 07:05 360 420 000000 00고속 000000000 가평 2 위의 정보는 하나의 노선이 가지는 정보입니다. 제공하는 기반정보 파일에 포함된 내용이구요. 하나씩 살펴보면 위에서부터 노선 id 노선 이름 (예: 100번 버스) 노선 타입(일반형, 시외버스, 좌석형, 직행좌석형, 광역급행버..
앞선 포스팅에서 언급한 바와 같이 기반정보에 대해서 살펴보겠습니다. 요청 URL은 다음과 같습니다. openapi.gbis.go.kr/ws/rest/baseinfoservice?serviceKey=test 서비스 키는 알아서 하시리라 믿습니다. baseInfoItem String 기반정보 목록 routeVersion String 노선정보 버전 routeDownloadUrl String 노선정보 다운로드 경로 stationVersion String 정류소 정보 버전 stationDownloadUrl String 정류소 정보 다운로드 경로 routeStationVersion String 노선-정류소 정보 버전 routeStationDownloadUrl String 노선-정류소 정보 다운로드 경로 areaVe..
경기도 버스 API 개발을 시작합니다. 우선 API Key는 (공공데이터 포털 사이트)에서 받으셔야합니다. API Key 발급은 해당 포털에 가입하신뒤 필요한 API를 검색 후 양식에 맞춰 신청서를 작성하시고 신청을 하시면 됩니다. 각 API 별로 인증키가 나오는 시간이 상이한데 바로 나오는 것이 있는가 하면 심의를 거쳐야만 발급이 되는 키도 있습니다. 경기도 버스 API 같은 경우가 바로 심의를 거치는 경우지요. 그래서인지 신청 후 발급 기간이 다른 API들에 비해 오래걸립니다. 신청후 2~3일정도 걸리는 듯 합니다. 아무튼 발급 받은 키 값을 가지고 경기도 버스 관련 개발을 해볼 예정입니다. 현재 (2013년 8월 기준) 관련 API 종류는 총 3가지로 분류됩니다. 1. 기반 정보 2. 버스 위치 정..
WPF - 프로시저와의 연결 우선 프로시저의 정의 방법부터 살펴봅니다. SQL Server Management Studio 에서 저장 프로시저를 생성해보시면 다음과 같은 작성 내용이 나옵니다. 설명에서 보시면 아시겠지만 Ctrl-Shift-M를 누르시면 조금이나마 프로시저의 설명이나 파라미터를 정의하는데 간단하게 입력을 하실수가 있습니다. 세부 컨텐츠 내용은 보시면 아실테고.. ================================================ -- Template generated from Template Explorer using: -- Create Procedure (New Menu).SQL -- -- Use the Specify Values for Template Paramet..