닷넷
-
C# 난수, 랜덤 Random 사용법 (+ 문자열 배열에서 랜덤으로 출력하기)닷넷/C# 2020. 3. 9. 18:58
Random은 무작위의 숫자를 발생시키는 함수이다. 사용방법 1. 정수(int) private void intRandom() { Random random = new Random(); int min = int.Parse(textBoxMin.Text); int max = int.Parse(textBoxMax.Text); // 음수가 아닌 임의의 정수 iValue = random.Next(); listBoxInt.Items.Add("Next() : " + iValue.ToString()); // maxValue보다 작은 음수가 아닌 임의의 정수 iValue = random.Next(max); listBoxInt.Items.Add("Next(max) : " + iValue.ToString()); // minVa..
-
C# 번역 파파고 API 사용하기 (영어를 한글로, 한글을 영어로 번역)닷넷/C# 2020. 3. 3. 13:51
구글 번역기 API는 연동을 다 했으니까 이제 파파고를 연동할 차례! 네이버 계정이 있다는 가정 하에 네이버 디벨로퍼(네이버 개발자센터)에 들어가서 로그인을 한다. 그 다음 Application에서 애플리케이션 등록을 클릭한다. 애플리케이션 이름은 아무거나 입력하고, 사용 API에서 Papago 번역을 선택한다. 환경은 앱으로 만드는게 아니므로 WEB 설정을 선택 한 다음 웹 서비스 URL은 가지고 있는 도메인으로 입력하였는데 네아로를 사용하며 이것저것 테스트해봤을 때 실제 사용되고 있는 도메인이면 아무거나 사용해도 문제는 없었으므로 도메인이 없는 경우 티스토리 혹은 네이버 도메인으로 해도 될 듯. 모든 것이 입력이 다 되었으면 [등록하기] 클릭 내 애플리케이션에서 방금 등록한 것을 클릭하면 Client..
-
C#에서 구글번역 Google Translation API Basic 사용하기닷넷/C# 2020. 2. 28. 11:58
영어공부를 하기 위해 다른 티스토리에 영문 자료들을 수집하여 포스팅하는데이때 구글번역기와 파파고에서 번역한 것도 같이 올린다.일일이 원문사이트 복사해서구글번역기에 붙여놓고 번역된 걸 복사해서 또 붙여놓고...또 파파고에도 똑같이... 매우매우 반복되는 작업이다. 반복되는 작업은 컴퓨터에게 시켜야지! 자동번역기를 만들어야지! 다행이도 구글번역기와 파파고 모두 API가 지원된다. 그 중에서 구글번역기 API 사용 방법. 먼저 구글계정이 있고, 구글 클라우드 플랫폼에 가입되어 있다는 가정 하에 1. 환경 변수 설정https://cloud.google.com/translate/docs/basic/setup-basic구글 클라우드 플랫폼에서 구글 번역기 API 사용을 신청한다. 프로젝트 설정을 클릭하고,기존의 프..
-
C# 웹크롤링 selenium 사용기닷넷/C# 2020. 1. 8. 22:42
쿠팡사이트를 크롤링하려는데 단순히 웹브라우저나 WebClient 통해서 html을 가져오는 것으로는 브라우저에 보이는 그대로 크롤링을 할 수가 없었다. (이는 해당 사이트에서 오른쪽마우스를 클릭해 페이지 소스보기했을 때 나오는 것과 같다.) selenium은 chrome 브라우저를 열어서 크롤링을 하는 부분이라 사이트에서 F12를 눌렀을 때 보이는 것과 같아 내가 원하는 것을 딱딱 크롤링할 수가 있었다. 프로젝트에서 selenium을 사용하려면 먼저, 비주얼스튜디오에 도구> NuGet 패키지 관리자> 솔루션용 NuGet 패키지 순으로 클릭한다. 찾아보기 탭을 클릭하고, selenium으로 검색한다. 그 중에서 Selenium.WebDriver, Selenium.WebDriver.ChromeDriver, ..
-
C# 웹이미지 다운로드 내폴더에 저장하기닷넷/C# 2020. 1. 3. 00:26
private bool DownloadRemoteImageFile(string uri, string fileName) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); bool bImage = response.ContentType.StartsWith("image", StringComparison.OrdinalIgnoreCase); if ((response.StatusCode == HttpStatusCode.OK || response.StatusCode == HttpStatusCode.Moved || response.S..
-
C# WebBrowser없이 HTML 파싱하기(HtmlAgilityPack 사용기)닷넷/C# 2019. 12. 26. 19:56
웹브라우저로 사이트 띄우고 html을 가져오고 하는게 은근히 손이 많이 들어간다. 처음부터 끝까지 오로지 하나의 메소드 안에서 코드로만 작업하고 싶다. 또 사이트 주소는 모르고 html 형식으로 된 텍스트만 가지고 있을때 html을 파싱할 수 있는 방법이 어디 없을까? 도구 > NuGet 패키지 관리자 > 솔루션용 NuGet 패키치관리 순으로 클릭한다. HtmlAgilityPack을 검색한다. HtmlAgilityPack을 설치한다. HtmlAgilityPack이 설치된 후 사용할 폼 코드 맨 윗줄에 System의 HtmlDocument랑 충돌나므로 using hap = HtmlAgilityPack; 이런 식으로 입력한다. private void buttonSystem_Click(object sender..
-
C# 문자열을 열 글자씩 쪼개기, 문자열 자르기닷넷/C# 2019. 6. 19. 17:17
텍스트박스나 문자열에 줄바꿈없이 문자들이 나열되어 있을 때 줄바꿈을 주기위해 몇 글자마다 줄바꿈을 줄 것인지에 대한 방법이다. 예시 코드에는 10글자마다 줄바꿈을 주었다. private void button1_Click(object sender, EventArgs e) { string strings = textBox5.Text; int indexStart = 0; // 시작 위치 int indexEnd = 0; // 종료 위치 int iSplit = 11; // 몇 글자씩 쪼갤 것인지 + 1 (문자열을 10글자씩 쪼갤 때 = 11) int totalLength = strings.Length; // 문자열 길이 int forCount = totalLength / iSplit; // 글자를 몇 번 쪼개야 하..
-
C# and Database(SQLite, MySQL, MSSQL, Oracle) data type mapping닷넷/C# 2019. 5. 3. 17:49
1. C# vs SQLite: C# SQLite The field name Type Library type GetFieldType(#) Transformation Remarks F_BOOL bool BIT NOT NULL Boolean F_BOOL_NULL bool? BIT Boolean F_SBYTE sbyte INT8 NOT NULL SByte sbyte_ F_SBYTE_NULL sbyte? INT8 SByte sbyte_ F_BYTE byte UINT8 NOT NULL Byte F_BYTE_NULL byte? UINT8 Byte F_SHORT short INT16 NOT NULL Int16 F_SHORT_NULL short? INT16 Int16 F_USHORT ushort UINT16 NOT NU..
-
C# WinForms Datagridview Paging, 데이타그리드뷰에서 데이터를 페이지로 나누기닷넷/WinForms 2019. 5. 3. 11:29
티스토리 에디터가 바뀌면서 Color Scripter에서 복사한 게 이상하게 붙여진다. 다행이도 주소로 공유할 수 있어서 코드는 아래 주소를 통해 공유한다. Form1.Designer.cs(디자인): http://colorscripter.com/s/dpYT9Qb 공유된 코드 - Color Scripter 코드 설명 : [Form designer cs]How to paging with datagridview in c# colorscripter.com Form1.cs(코드): http://colorscripter.com/s/VyVn5TH 공유된 코드 - Color Scripter 코드 설명 : How to paging with datagridview in c# colorscripter.com 프로그램 실행 영상
-
C# ReportViewer pagesettings source닷넷/WinForms 2019. 4. 24. 11:08
System.Drawing.Printing.PageSettings pg = new System.Drawing.Printing.PageSettings(); pg.Margins.Top = 0; // 위쪽 마진 (in/100) pg.Margins.Bottom = 0; // 아래쪽 마진 (in/100) pg.Margins.Left = 0; // 왼쪽 마진 (in/100) pg.Margins.Right = 0; // 오른쪽 마진 (in/100) pg.PaperSize = size; reportViewer1.SetPageSettings(pg); // reportViewer1 페이지 설정 reportViewer1.RefreshReport(); 참고로 프로그램을 실행하여 리포트뷰어에 있는 페이지 설정을 눌렀을 때 나오..
-
C# DataGridView 편집, 추가, 삭제, 열 다시 정렬닷넷/WinForms 2019. 4. 21. 09:04
// 편집 불가능(읽기) dataGridView1.ReadOnly = true; // 편집 가능(읽기, 쓰기) dataGridView1.ReadOnly = false; // 추가 O dataGridView1.AllowUserToAddRows = true; // 추가 X dataGridView1.AllowUserToAddRows = false; // 삭제 O dataGridView1.AllowUserToDeleteRows = true; // 삭제 X dataGridView1.AllowUserToDeleteRows = false; // 열 다시 정렬 O dataGridView1.AllowUserToOrderColumns = true; // 열 다시 정렬 X dataGridView1.AllowUserToOrd..
-
C# 요일 구하기 DayOfWeek 메서드닷넷/C# 2019. 4. 20. 09:07
C#에서 요일을 구하는 DayOfWeek 메서드 사용법 //월화수목금토일을 int형으로 반환하는 함수 int WhatDay(DateTime _dt) { int iReturn = 0; DayOfWeek dt = _dt.DayOfWeek; switch (dt) { case DayOfWeek.Monday: //월 iReturn = 1; break; case DayOfWeek.Tuesday: //화 iReturn = 2; break; case DayOfWeek.Wednesday: //수 iReturn = 3; break; case DayOfWeek.Thursday: //목 iReturn = 4; break; case DayOfWeek.Friday: //금 iReturn = 5; break; case DayOfW..
-
C# How to export data direct from reportviewer to excel.닷넷/WinForms 2019. 4. 19. 12:15
private void btnExcel_Click(object sender, EventArgs e) { Warning[] warnings; string[] streamids; string mimeType; string encoding; string extension; byte[] bytes = reportViewer1.LocalReport.Render( "Excel", null, out mimeType, out encoding, out extension, out streamids, out warnings); SaveFileDialog save = new SaveFileDialog(); save.Filter = "Excel File (*.xls)|*.xls|All Files (*.*)|*.*"; save...
-
C# List<type> 중복제거닷넷/C# 2019. 4. 14. 21:33
List의 Distinct를 쓰면 된다. 단, List에 타입이 string이나 int 같이 속성이 하나일 때만 된다. 속성이 여러개이면 중복제거가 되지 않으므로 중복을 제거할 값의 타입으로 먼저 리스트를 만들고 값을 넣어 중복제거하고 다른 리스트에 담으면 된다. 다음은 카톡 대화내용 분석에서 방문자리스트를 만들 때 사용한 방법이다. // 방문자 이름만 담을 리스트 List list = new List(); for (int i = 3; i 0) { if (text[i].Substring(0, 1) == "[") { string[] s = text[i].Split(' '); try { if (s[1].IndexOf("[오") > -1) { list.Add(s[0]); } } catch { continue;..