닷넷
-
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;..
-
C# 데이터그리드뷰 CSV 파일로 저장하기닷넷/WinForms 2019. 4. 14. 21:14
private void Save_Csv(string fileName, DataGridView dgv, bool header) { string delimiter = "`"; // 구분자 FileStream fs = new FileStream(fileName, System.IO.FileMode.Create, System.IO.FileAccess.Write); StreamWriter csvExport = new StreamWriter(fs, System.Text.Encoding.UTF8); if (dgv.Rows.Count == 0) return; // 헤더정보 출력 if (header) { for (int i = 0; i
-
C# TextBox의 MultiLine을 사용할 때 라인(줄) 수 구하기닷넷/WinForms 2019. 4. 9. 15:06
// 디자인에서 멀티라인체크가 보이지 않을 때 코딩으로 멀티라인 설정하기 textBox1.Multiline = true; // 멀티라인 사용 textBox1.Multiline = false; // 멀티라인 사용하지 않음 (=싱글라인) // textBox1의 라인 수 int LineCount = textBox1.Lines.Length; // 활용예제 https://jihye-yoo.tistory.com/35 매일프로그래밍 - 코딩테스트 문제 32 문제 이진 트리가 주어지면 루트 노드부터 레벨별로 프린트 하시오. 프린트 방식은 홀수 레벨은 왼쪽에서 오른쪽으로, 짝수 레벨은 오른쪽에서 왼쪽으로 프린트 하시오. 루트노드는 레벨 1입니 jihye-yoo.tistory.com