전체 글
-
C# 두 위도와 경도 좌표 사이의 거리를 계산 하는 방법프로그래밍/C# (WinForms, ASP.NET) 2021. 7. 19. 16:34
c#에서 두 위도와 경도 좌표 사이의 거리를 계산 하는 방법은 다음과 같다. 첫 번째 방법, NuGet 패키지에서 NEST를 설치한다. 설치 후 다음과 같이 코드를 작성한다. 참고로 단위는 미터이다. // c#에서 두 위도와 경도 좌표 사이의 거리를 계산 하는 첫 번째 방법 GeoCoordinate pin1 = new GeoCoordinate(lat1, lng1); GeoCoordinate pin2 = new GeoCoordinate(lat2, lng2); double distanceBetween = pin1.GetDistanceTo(pin2); 단, 이 방법은 닷넷프레임워크 버전을 타기 때문에 설치가 안 되는 경우 두 번째 방법을 사용하면 된다. 두 번째 방법, NEST가 설치 되지 않는 경우 다음의 ..
-
C# A리스트에서 B리스트에 있는 것을 제외하는 방법(LINQ)프로그래밍/C# (WinForms, ASP.NET) 2021. 7. 13. 11:34
다음은 C#에서 LINQ를 활용하여 A리스트에서 B리스트에 있는 것을 제외하는 방법이다. 수학적 표현으로는 차집합이다. List list = listA.Where(x=> !x.Select(y=> y.id).Contains(x.id)).ToList(); 이것을 반대로 하면 A리스트에서 B리스트에 있는 것만, 교집합이 된다. List list = listA.Where(x=> x.Select(y=> y.id).Contains(x.id)).ToList(); 그 외에도 Except, Any, SequenceEqual 등을 이용한 방법이 있으며 다음의 사이트에서 확인할 수 있다. C# 두 개의 List를 비교하는 가장 빠른 방법 c# — 두 개의 List 를 비교하는 가장 빠른 방법 두 가지 대규모 (> 50,00..
-
DevExpress GridControl 체크박스칼럼에서 체크한 것이 고정이 안 될 때, When the check is not fixed in the check column프로그래밍/C# (WinForms, ASP.NET) 2021. 7. 7. 11:00
DevExpress의 GridControl에서 칼럼 하나를 체크박스칼럼으로 만들고, 칼럼의 UnboundType을 Bound로 설정하고, FieldName이 checkcolumn이라고 하면 gridControl.DataSource = list 일때, list.checkcolumn이 있으면 bound 된 값대로 false 혹은 true를 가지게 되어 2021.06.14 - [프로그래밍/C# (WinForms, ASP.NET)] - DevExpress GridControl에서 셀 편집(SetRowCellValue)이 되지 않을 때, 체크가 안 될 때 등 앞서 포스팅 한대로 설정했다는 가정하에 체크박스칼럼의 셀에서 체크박스에 체크하면 체크하는 대로 체크를 하지 않으면 하지 않은대로 설정 된다. 그런데 바운드 ..
-
DevExpress GridControl에서 셀 편집(SetRowCellValue)이 되지 않을 때, 체크가 안 될 때 등프로그래밍/C# (WinForms, ASP.NET) 2021. 6. 14. 16:53
DataGridView 대신에 데브익스프레스에서 제공해주는 GridControl를 사용하면 편리한 점이 많아 사용하고 있다. 그런데 하나의 칼럼을 RepositoryItemCheckEdit으로 설정해 두었는데 체크하려고 클릭하면 작동을 하지 않고, 아래의 코드처럼 SetRowCellValue도 먹지 않는다. private void CheckAll() { GridColumn selectColumn = this.gridView1.Columns.ColumnByName("cSelect"); for (int i = 0; i < this.gridView1.DataRowCount; i++) { this.gridView1.SetRowCellValue(i, selectColumn, true); } } 한참을 헤맨 것 같..
-
C# 네이버 지도 API(AI Naver-Directions 5)를 이용해서 거리 구하기프로그래밍/C# (WinForms, ASP.NET) 2021. 5. 13. 18:25
단순히 좌표를 가지고 출발지와 도착지의 차익을 구하는 건 실제 사람이 겪는 거리와 다르다. 따라서 거리를 계산하려면 도로상황과 여러 변수들을 생각해서 계산이 이루어져야 한다. 그러나 일개 개인이 그것을 하기에는 많이 어렵다. 그러나 또 한 편으로는 네이버나 카카오에서 충분히 그런 자료들을 만들어놨음을 그들의 플랫폼을 살펴보면 충분히 알 수 있는 사실이다. (비용만 지불하면 다 되는 세상이다.) 그 중에서 C#에서 네이버 지도 API 중 Directions 5 혹은 15를 사용하는 방법에 대해 기술한다. * 상세 API 문서는 네이버 클라우드 플랫폼에서 제공 된다. driving - Directions 5 쿠키 제공 동의 당사는 고객님의 브라우징 기반 정보를 바탕으로 관련 정보 및 광고 제공을 위하여 지식..
-
C# 폼에서 제목표시줄을 클릭했을 때 클릭이벤트가 발생되게 하는 방법프로그래밍/C# (WinForms, ASP.NET) 2021. 5. 13. 18:12
Form에서 Click 이벤트든 Mouse 이벤트든 폼을 클릭했을 때 제목표시줄을 클릭하는 건 반응을 안 한다. 다음 코드를 추가하면 폼에서 제목표시줄을 클릭했을 때의 상황을 코딩할 수 있다. const int WM_NCLBUTTONDOWN = 0x00A1; protected override void WndProc(ref Message m) { base.WndProc(ref m); // no client area if (m.Msg == WM_NCLBUTTONDOWN) { //select tittle area only If (){ this.Cursor = new Cursor(Cursor.Current.Handle); MessageBox.Show("Click"); //} } } 참고로 이 코드는 제목표시줄을..
-
크롬 구글 검색폼이 포커스, 하이라이트 되는 현상끄적이는/정보공유 2021. 4. 15. 13:02
닷넷방에서 다음 이미지와 같이 구글 검색폼에서 글을 입력하면 하이라이팅 되는 현상에 대해 없애는 방법 질문이 올라왔습니다. 인터넷 브라우저를 크롬 브라우저로 사용할 경우에 발생할 수 있으며 크롬 브라우저에서 이 기능을 제공하기 때문에 발생하는 현상이었습니다. 해결방법은 간단합니다. 1. 크롬 브라우저에서 화면 오른쪽 상단에 있는 점세줄을 클릭합니다. 2. 설정을 클릭합니다. 3. 설정페이지가 나오면, 검색을 클릭합니다. 4. 포커스를 검색하면 나오는 를 비활성화 합니다. 1. Open Chrome browser. 2. Open menu by clicking the three vertical dots on the top right corner. 3. Click Settings. 4. On the Setti..
-
MySQL에서 ROW_NUMBER, ROWNUM처럼 번호 매기는 방법, 구한 것을 UPDATE 하기Database/Oracle & MySQL 2021. 3. 4. 18:23
MSSQL의 ROW_NUMBER나 ORACLE의 ROWNUM처럼 MySQL에서 로우에 번호를 매기는 방법 # @rownum을 초기화하고 사용한다. set @rownum:=0; select @rownum:=@rownum+1, id, newid from tmp; 이와 같이 rownum을 구한 것을 newid에 적용하는 방법, UPDATE 하기 update tmp t1 inner join ( select @rownum:=@rownum+1 as 'rowNum', id from tmp2, (SELECT @rownum := 0) rn #order by orderNum asc ) t2 on t1.id= t2.id set t1.newid = t2.rowNum; select id, newid from tmp; 이때 테이..
-
이게 머선 129 메이플스터리게임/메이플스토리 2021. 2. 25. 14:38
운영진들의 환불 확률 오류라고 쓰고 조작이라고 읽는다 사건으로 저번 주부터 메이플 현황들이 아주 뜨거운 감자였는데 오늘 업데이트 후 환불 보상과 여러 사건들이 겹치면서 메이플스토리에 정떨어진 사람들, 신뢰가 깨진 사람들 대부분이 다른 게임으로 탈선을 하고 있다. 이에 로스트아크 사람들의 홍보(?)로 물타기가 되면서 거의 전부 로스트아크를 하러 가고 있는 것 같다. 거기다 오늘의 메이플 인벤이랑 로스트아크 인벤 ㅋㅋㅋ 아 너무 재미나다. 실시간 보스 드랍율 변경으로 알 수 있는 사실 http://m.inven.co.kr/board/maple/2299/6417618?iskin=maple 속보)실시간 보스 드랍율 주작증명ㅋㅋㅋㅋㅋ 캬 가지가지 한다 증말ㅋㅋㅋㅋㅋㅋ m.inven.co.kr 오늘 업데이트 후 피..
-
asp.net mvc File download (파일 다운로드)프로그래밍/C# (WinForms, ASP.NET) 2021. 2. 23. 17:36
asp.net mvc 사이트에서 다운로드 버튼을 누르면 파일을 다운로드 받을 수 있게 하려면 index.cshtml에서 (혹은 파일 다운로드가 존재 할 cshtml) 엑셀서식 다운로드 HomeController.cs에서 (혹은 해당 액션과 연결된 Controller) public ActionResult DownloadFile(string filePath) { // 다운로드 되어야 할, 서버에 존재하는 파일 경로 string fullName = Server.MapPath("~/Files/" + filePath); byte[] fileBytes = GetFile(fullName); return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet..
-
asp.net mvc ajax에서 controller로 post 한 후 controller에서 ajax로 성공 또는 오류 메시지 리턴하는 방법프로그래밍/C# (WinForms, ASP.NET) 2021. 2. 17. 18:03
How to return string message after post using ajax call in ASP.NET MVC ASP.NET MVC에서 ajax 호출을 사용하여 게시 후 문자열 메시지를 반환하는 방법 = ajax에서 controller로 post 한 후 controller에서 ajax로 성공 또는 오류 메시지 리턴하는 방법 https://www.codeproject.com/Questions/1182026/How-to-return-string-message-after-post-using-ajax How to return string message after post using ajax call in ASP.NET MVC - CodeProject CodeProject, 20 Bay Stree..
-
네이버 PC게임에 메이플스토리가 없어진다고 한다.끄적이는/생각들 2020. 11. 26. 22:49
한 때, 2004년부터 2011년까지 쉬지 않고 메이플만 했었다. 게임 중독이란게 이런 거구나 싶을 정도였다. 그래서 2012년 초였나 현실생활에 너무 악영향을 미치니까 스스로도 이건 좀 아닌 것 같아 열심히 키운 캐릭터들과 그 아이템들이 매우 아까웠지만 넥슨에서 계정을 탈퇴하므로서 메이플 계정을 삭제해버렸다. (지금 그때로 돌아가면 어차피 다시 메이플을 할 거니까 삭제는 하지말라고 나를 말리고 싶다.) 그리고 비로소 사람다운 삶을 살면서 어느 정도 생각도 정리하고, 미래에 대한 계획도 세우면서 살게 된 것 같다. 그렇게 1년 정도를 메이플에 관심을 끄고 살다가 문득, 요즘 메이플은 어떠한가 궁금해서 홈페이지에 들어가니까 제논이라는 직업이 나왔다. 덤으로 네이버 PC게임에 메이플스토리가 추가되면서 네이버..
-
MySQL 현재날짜, 현재시간 함수, DateTime 변환 등 날짜 관련 정보Database/Oracle & MySQL 2020. 11. 24. 16:35
MSSQL에서 현재날짜시간에 대한 함수는 getdate()이다. 이와 같이 MySQL에서도 현재날짜시간을 알려주는 함수가 존재하며, MySQL에서 현재날짜시간을 알려주는 함수는 now()이다. SELECT now(); now()함수의 자료형은 DateTime이다. DateTime형을 원하는 자료로 변환하는 방법 간단하게 now()에서 날짜만 표기하려면 DATE_FORMAT(now(), '%Y-%m-%d'); 을 사용한다. 그 외의 필요한 포맷 형식들 및 포맷 방법들, 날짜와 관련된 함수들은 아래 MySQL 공식 홈페이지에서 확인한다. https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_date-format MySQL ..
-
C# 문자열을 문장으로 나누기 (Split('')할 때 'string'에서 'char'(으)로 변환할 수 없습니다. 해결 방법)프로그래밍/C# (WinForms, ASP.NET) 2020. 11. 11. 10:29
string characterString = "123,456,789,000,000"; string[] splitCharacter = characterString.Split(','); // splitCharacter[0] : 123 // splitCharacter[1] : 456 // splitCharacter[2] : 789 // splitCharacter[3] : 000 // splitCharacter[4] : 000 2019/06/19 - [프로그래밍/C#] - C# 문자열을 열 글자씩 쪼개기, 문자열 자르기 C# 문자열을 열 글자씩 쪼개기, 문자열 자르기 텍스트박스나 문자열에 줄바꿈없이 문자들이 나열되어 있을 때 줄바꿈을 주기위해 몇 글자마다 줄바꿈을 줄 것인지에 대한 방법이다. 예시 코드에는 10..