전체 글
-
C# ChromiumWebBrowser에서 JavaScript 함수 호출과 웹에서 C# 메소드 호출하는 방법닷넷/WinForms 2021. 8. 3. 17:58
C# 윈폼에는 기본 웹브라우저 컨트롤이 있지만 스크립트 오류가 빈번해서 프로젝트의 닷넷프레임워크 버전을 4.6 이상으로 구성할 수 있다면 크로미움웹브라우저를 사용하는 것이 매우매우 좋다. 앞서 ChromiumWebBrowser를 사용하려면 NuGet 패키지 관리에서 cefsharp를 검색한 다음 CefSharp.WinForms를 설치하면 된다. 설치가 끝나면 도구상자에 CefSharp이 자동으로 추가가 되었을 경우 도구상자에서 ChromiumWebBrowser 컨트롤을 폼 디자인에 드래그앤 드랍해서 사용한다. 도구상자에 자동으로 추가가 되지 않았다면 다음과 같이 코드로 폼에 크로미움웹브라우저 컨트롤을 추가한다. public Form1() { InitializeComponent(); InitializeCh..
-
C# 두 위도와 경도 좌표 사이의 거리를 계산 하는 방법닷넷/C# 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# 2021. 7. 13. 11:34
다음은 C#에서 LINQ를 활용하여 A리스트에서 B리스트에 있는 것을 제외하는 방법이다. 수학적 표현으로는 차집합이다. List list = listA.Where(x=> !listB.Select(y=> y.id).Contains(x.id)).ToList(); 이것을 반대로 하면 A리스트에서 B리스트에 있는 것만, 교집합이 된다. List list = listA.Where(x=> listB.Select(y=> y.id).Contains(x.id)).ToList(); 그 외에도 Except, Any, SequenceEqual 등을 이용한 방법이 있으며 다음의 사이트에서 확인할 수 있다. C# 두 개의 List를 비교하는 가장 빠른 방법 c# — 두 개의 List 를 비교하는 가장 빠른 방법 두 가지 대규모 ..
-
C# WinForms DevExpress GridControl 체크박스칼럼에서 체크한 것이 고정이 안 될 때, When the check is not fixed in the check column닷넷/WinForms 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)이 되지 않을 때, 체크가 안 될 때 등 앞서 포스팅 한대로 설정했다는 가정하에 체크박스칼럼의 셀에서 체크박스에 체크하면 체크하는 대로 체크를 하지 않으면 하지 않은대로 설정 된다. 그런데 바운드 ..
-
C# WinForms DevExpress GridControl에서 셀 편집(SetRowCellValue)이 되지 않을 때, 체크가 안 될 때 등닷넷/WinForms 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# 2021. 5. 13. 18:25
단순히 좌표를 가지고 출발지와 도착지의 차익을 구하는 건 실제 사람이 겪는 거리와 다르다. 따라서 거리를 계산하려면 도로상황과 여러 변수들을 생각해서 계산이 이루어져야 한다. 그러나 일개 개인이 그것을 하기에는 많이 어렵다. 그러나 또 한 편으로는 네이버나 카카오에서 충분히 그런 자료들을 만들어놨음을 그들의 플랫폼을 살펴보면 충분히 알 수 있는 사실이다. (비용만 지불하면 다 되는 세상이다.) 그 중에서 C#에서 네이버 지도 API 중 Directions 5 혹은 15를 사용하는 방법에 대해 기술한다. * 상세 API 문서는 네이버 클라우드 플랫폼에서 제공 된다. driving - Directions 5 쿠키 제공 동의 당사는 고객님의 브라우징 기반 정보를 바탕으로 관련 정보 및 광고 제공을 위하여 지식..
-
C# 폼에서 제목표시줄을 클릭했을 때 클릭이벤트가 발생되게 하는 방법닷넷/WinForms 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"); //} } } 참고로 이 코드는 제목표시줄을..
-
크롬 구글 검색폼이 포커스, 하이라이트 되는 현상기타 정보/정보공유-IT 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/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 (파일 다운로드)닷넷/ASP.NET MVC 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로 성공 또는 오류 메시지 리턴하는 방법닷넷/ASP.NET MVC 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/MySQL 2020. 11. 24. 16:35
1. MySQL에서 날짜와 시간을 표현하는 타입(자료형) MySQL에서는 날짜와 시간을 표현하는 데 여러 가지 타입을 제공합니다. DATE: YYYY-MM-DD 형식으로 날짜만 표현합니다. DATETIME: YYYY-MM-DD HH:MM:SS 형식으로 날짜와 시간을 표현합니다. TIMESTAMP: YYYY-MM-DD HH:MM:SS 형식으로 날짜와 시간을 표현하며, 자동으로 값이 업데이트됩니다. TIME: HH:MM:SS 형식으로 시간만 표현합니다. YEAR: YYYY 형식으로 년도만 표현합니다. MySQL에서는 날짜와 시간에 관한 다양한 함수 또한 제공하여, 날짜와 시간을 다루는데 도움을 줍니다. 예를 들어, DATE_ADD(), DATE_SUB(), NOW(), CURDATE() 등의 함수를 사용할 ..